ルール・タイプの決定方法

ルール・タイプによって、オートコンプリートのルールでトリガーされるランタイム・イベントが決まります。

各種ルール・タイプは次のとおりです。

  • ビジネス・オブジェクト・デフォルト: これは、選択したビジネス・オブジェクトがアプリケーションによって作成されたとき、つまり、ユーザーがセクションを開始したとき、または「追加」ボタンをクリックしたときにトリガーされます

  • ビジネス・オブジェクト検証: これは、選択したビジネス・オブジェクトがアプリケーションによって保存されたとき、つまり、ユーザーが「続行」「送信」または「保存してクローズ」のボタンをクリックしたときにトリガーされます。

  • ビジネス・オブジェクト・フィールド検証: これは、特定のビジネス・オブジェクトのフィールドがADF検証サイクルに入るとき、つまり、ユーザーがフィールドからタブアウトしたときにトリガーされます。

  • ビジネス・オブジェクト・フィールド変更: これは、特定のビジネス・オブジェクトのフィールドがフィールド検証イベントを完了した後にトリガーされます。

前述した技術イベントの分類は、特定の順序でのビジネス・オブジェクトの作成、更新および保存を処理するHCMデータ・ローダーにも適用されます。したがって、ルールが有効になるタイミングを理解しやすくなりますが、UIでは、UIとデータ・モデルの関係が複雑であるため、これらの技術イベントの正確なタイミングを判断するのは困難です。

これらの技術イベントを簡単に理解できるようにして、特定のルールが特にUIでトリガーされるタイミングを正確に判断するために、これらの4つのイベントをこれらの方法で機能的に特徴付けることができます。

イベント

ルール・タイプ

セクションの開始

ビジネス・オブジェクト・デフォルト

セクションの終了

ビジネス・オブジェクト検証

セクション内のフィールドからのタブアウト(検証)

ビジネス・オブジェクト・フィールド検証

セクション内のフィールドからのタブアウト(デフォルト)

ビジネス・オブジェクト・フィールド変更

セクションの開始

多くの場合、ビジネス・オブジェクトは、初めてセクションを開始したときに作成されます。ビジネス・オブジェクト・デフォルト・ルールは、初めてセクションを開始したときにトリガーされます。たとえば、就業者アサイメント・オブジェクトは、セクションを開始すると作成され、給与オブジェクトは、給与セクションを開始すると作成されます。

これらが、このルールの例外です。

  • セクションを終了するときに複数のオブジェクトが保存され、これにより、すべてのオブジェクトに対してオブジェクト検証ルールがトリガーされます。

  • 1つのビジネス・オブジェクトの複数の行が変更されて保存され、これにより、ビジネス・オブジェクトの各行に対してオブジェクト検証ルールがトリガーされます。たとえば、処理待ち就業者を変換すると、処理待ち就業者タイプの勤務アサイメント・レコードが更新され、変換されたタイプ(派遣就業者、非就業者または従業員)の勤務アサイメント・レコードが作成されます。したがって、オブジェクト検証ルールは、2回トリガーされます(更新および保存された行ごとに1回)。

可能な操作

実行できない操作

デフォルトを常に一部の値になるようにコーディングできます。たとえば、アサイメント・カテゴリを正社員とする、またはオブジェクト作成時(またはセクションの開始時)にランタイム・アプリケーションにすでに認識されている一部のアーティファクトに基づくなどです。

これらは、前のセクションの値、または雇用主などの主要な組織レベルの設定オブジェクトの値にできます。

セクション内の後のフィールド、または後続のセクションにあるフィールドは、値のデフォルト設定の基準として使用できません。

該当なし

検証できないため、エラー・メッセージも警告メッセージも表示できません。

該当なし

特定のビジネス・オブジェクトは、特定の処理またはすべての処理に対して、このタイプのルールをサポートしていません。

ベスト・プラクティス:

  • デフォルト値が有効になるようにしてください。

  • エラー・メッセージを表示するためにデフォルト・ルール・タイプを使用しないでください。

セクションの終了

多くの場合、ビジネス・オブジェクトは、セクションを終了したときに保存されます。ビジネス・オブジェクト検証ルールは、「続行」ボタンまたは(「続行」ボタンをクリックせずに)「送信」ボタンをクリックした後にセクションを終了するとトリガーされます。たとえば、就業者アサイメント・オブジェクトは、アサイメント・セクションを終了すると保存されます。

このルールの例外の一部として、セクションを終了するときに複数のオブジェクトが保存される場合、すべてのオブジェクトのオブジェクト検証ルールがトリガーされます。さらに、1つのビジネス・オブジェクトの複数の行が変更されて保存される場合、ビジネス・オブジェクトの各行に対してオブジェクト検証ルールがトリガーされます。たとえば、処理待ち就業者を変換すると、処理待ち就業者タイプの勤務アサイメント・レコードが更新され、変換されたタイプ(派遣、非就業者または従業員)の勤務アサイメント・レコードが作成されます。したがって、オブジェクト検証ルールは、2回トリガーされます(更新および保存された行ごとに1回)。

このタイプのルールは、保存されるすべての行でトリガーされます。これは、トランザクションによって有効日分割が発生した場合の重要な考慮事項です。新しい行が保存されるのみではなく、トランザクションの性質により既存の行も変更または保存されます。新しい行でのみ検証をトリガーする場合は、追加の条件を適用する必要があります。既存の行がすでに検証ルールに準拠しているため、これらの追加の条件は必要ない場合があります。

可能な操作

実行できない操作

このルール・タイプは、ユーザーが誤った値を入力したフィールドを想定せずに、検証ルールに関連するすべてのフィールドをサンプルで使用できるため、ビジネス・オブジェクト・フィールド検証よりも優先されます。

たとえば、「アサイメント・カテゴリ」が「正社員」の場合、「時給/固定給」フィールド値が「固定給」である必要があるというルールを作成するとします。この場合、UIでは「アサイメント・カテゴリ」フィールドは「時給」または「固定給」フィールドの前にありますが、ユーザーが同じ順序で値を入力することは想定できません。

予期される順序で値を入力しても、ユーザーが正しくない値を入力したフィールドは完了できません。したがって、「アサイメント・カテゴリ」を「臨時」に変更する必要があり、「時給/固定給」を「時給」のままにするか、またはその反対にするかどうかに関する曖昧さがあります。

ビジネス・オブジェクト検証ルールを使用すると、両方の値を入力でき、非互換性に対してエラーが表示されます。

検証の基準は、まだナビゲートされていないセクションの一部であるフィールドにはできません。そのため、このタイプのルールでは警告メッセージを追加できません。

このルール・タイプでは、修正する検証をユーザーが決定できます。前述した点を考慮すると、ユーザーがフィールドを終了するとすぐに検証をトリガーするのが理想的なユーザー・エクスペリエンスですが、かわりにオブジェクト検証ルール・タイプを使用することをお薦めします。レスポンシブ・ページのセクションはよりコンパクトになっており、多くの場合、エラーの修正のためにユーザーがセクション内に残ることを許可している間は、(フィールド・タブアウトではなく「続行」での)エラー・メッセージの遅延表示は許容されます。

検証ルールの基準が現在のセクションの前のセクションにある場合、前のセクション内のフィールドに戻って値を編集する前に、ユーザーは現在のセクション内のフィールドの値を検証ルールに準拠するように修正する必要があります。

検証の基準は、現在のセクションの任意のフィールド、前のセクションのフィールド、または現在のオブジェクトに関連する以前の設定オブジェクトにできます。オブジェクト検証中、セクション内のフィールドが表の列にマップされていない場合でも、ページのすべてのフィールドがオブジェクトに転送されるため、オブジェクト検証ルールでこれらの値を使用できます。

現在のセクションの検証エラーが表示されている場合、レスポンシブ・ページでは、ユーザーが前のセクションに戻って編集することは許可されません。前のセクションのフィールドの値に基づいてデフォルト設定が行われたら、戻って基準フィールドを編集しても、最初にデフォルト設定されたフィールドを含むセクションを開始したときに、そのデフォルト設定が再度行われることはありません。

該当なし

このタイプのルールでは、フィールドの値はデフォルト設定できません。このルールにはいくつかの例外があります。オブジェクト検証中に別のフィールドに値をデフォルト設定すると、フィールド検証中にエラー(ある場合)によって生じたユーザー相互作用に対するプロビジョニングなしで、そのフィールドのフィールド検証サイクルがコールされます。

ベスト・プラクティス:

  • デフォルト値を指定するためにこのルール・タイプを使用しないでください。

セクション内

ユーザーがレスポンシブ・ページのセクション内で、ビジネス・オブジェクト・フィールド検証およびビジネス・オブジェクト・フィールド変更の場合に順番に実行可能な2つの潜在的イベントがあります。

タブアウト(検証)

ビジネス・オブジェクト・フィールド検証ルールは、最初にユーザーがフィールドからタブアウトしたときにトリガーされます。

可能な操作

実行できない操作

現在または前のセクションでユーザーによってすでにアクセスされているフィールド、またはワークフォース・ストラクチャ設定の一部としてすでに設定されているフィールドを、検証の基準にできます。

フィールドが一時的であり、UI上にのみ存在し、モデル・レイヤーには存在しない場合は、このタイプのルールを実行できません。

検証ルールが書き込まれる現在のフィールドの古い値と新しい値をサンプリングできます。数値フィールドの場合、これは変更率計算に役立ちます。

フィールドに値をデフォルト設定することも、このタイプのルールのエラーについてユーザーに警告することもできません。

該当なし

ユーザーがフィールドの値を変更しない場合、このルールはトリガーされません。

ベスト・プラクティス:

  • デフォルト値を指定するためにこのルール・タイプを使用しないでください。

タブアウト(デフォルト)

ビジネス・オブジェクト・フィールド変更ルール・タイプは、ユーザーがフィールドからタブアウトすると、ビジネス・オブジェクト・フィールド検証ルールの後にトリガーされます

可能な操作

実行できない操作

現在のフィールドに入力した値に基づいて、同じセクションの別のフィールドの値をデフォルト設定できます。

フィールドが一時的であり、UI上にのみ存在し、モデル・レイヤーには存在しない場合は、このタイプのルールを実行できません。

ユーザーが現在のフィールドに値を入力した後、警告を表示します。警告メッセージは、「OK」ボタンをクリックして終了できます。現在のフィールドの値が変更されない場合は、警告メッセージは再表示されません。

このタイプのルールではエラー・メッセージを表示できません。

ベスト・プラクティス:

  • デフォルト値が有効になるようにしてください。