オートコンプリートのエラー

これらは、オートコンプリートのルールの実装中に発生する可能性のある一般的なエラーです。

問題

解決策

ルールがトリガーされない

単純なルールでイベントをテストして、問題がトリガー・イベントに関連するか、そこに含まれているロジックに関連するかを確認します。これは、実際のルール・ロジックに入る前に、無効な開始ポイントがビジネス・オブジェクトまたはルール・タイプのいずれであるかを識別するのに役立ちます。

ルールが複数回トリガーされる

同じエラー・メッセージが複数回表示される場合は、IF WorkTermsAssignmentId NOT NULL条件を追加していないアサイメント・オブジェクトを使用している可能性があります。または、同じオブジェクトの複数のレコードが保存されている処理(処理待ち就業者の変換や給与の変更など)を使用している可能性があります。後者の場合は、関心のあるレコードのみに適用されるルールに必要な追加条件を追加する必要があります。

ルールのトリガーが早すぎる

ルールのトリガーが早すぎる場合は、複数のセクション間で共有されているオブジェクトを使用しているため、各セクションの最後に保存(および検証)されます。たとえば、各フローの個人国別仕様情報セクションや「退職情報」セクションなどです。次のいずれかを実行できます。

  • まだ出現していないセクションのフィールドの値をサンプリングして、ルールに条件を設定します。

  • HCMパラメータを使用して、ルールをトリガーするタイミングを決定します。それ以外の場合、特定のオブジェクトは、セクション(「給与アサイメント」や「給与条件」など)にアクセスする前でも検証されると見込まれるため、検証ルールをサポートしないという性質を持ちます。

ルールのトリガーが遅すぎる

特定のオブジェクトは、送信時にのみ検証されると見込まれるため、単純にセクションの終了直後は検証ルールをサポートしないという性質を持ちます。勤務メジャーと給与は、このようなオブジェクトの例です。ほとんどのオブジェクトは送信時に検証されます。

一部の処理には機能するが、一部の処理には機能しない

ルールで特定の処理またはフィールドのみがサポートされる例外は、数多くあります。すべてのビジネス・オブジェクトの既知の例外と適応を参照してください。既知の例外のカテゴリに該当する状況の場合、これはまだサポートされていない場合があります。既知の適応のカテゴリに該当する状況の場合、そこに示す手順に従って修正を実装します。

式...行#のエラー

考えられる原因は次のとおりです。

  • パターン・マッチングに無効な引数を使用するなど、オートコンプリートのルールで不正な式を指定しました。

  • そのオブジェクト自体がNullとして初期化されている関連オブジェクトから値をフェッチしています。

エラー・メッセージに示される行番号は、ルール行ではなく、オートコンプリートのルールによって生成されたGroovyコードの行番号を参照します。これらは解決策です。

  • Java Nullポインタ: (バリアント1または2の)関連オブジェクト行定義を開始した後で、NOT NULLをチェックします。これは、このエラーを削除する際に役立ちますが、必ずしも解決策が提供されるわけではありません。「ビジネス・オブジェクトの構成」タスクに移動し、コードを編集して、エラーのある行番号への参照を特定し修正する必要があります。

  • Groovyでこのコードを手動で修正し、テストできる場合があります。ただし、このコードを生成したオートコンプリートのルールを編集すると、手動の変更がすべて削除されます。

ロジックのエラー

ロジックに問題がある可能性もあります。メジャー・オブジェクトとキー属性の間の機能関係を理解する必要があります。変数を導入してどこで誤っているのかを理解することで、ルールを段階的に作成したり、要素をコーディングしたり、複雑さを徐々に増加させることができます。