ルール設計に関する考慮事項
オートコンプリートのルールを作成する前に、既存の機能を確認し、要件を分析します。 要件を満たすうえで、オートコンプリートのルールが最適とは言えないか、完全であるかを分析します。
オートコンプリートのルールで、保証、デフォルト設定、検証、防止、禁止、同期化などの要件にすべて対応できるわけではありません。 考慮事項を次に示します。
要件の解析
コード化する要件の特定の単語を強調表示し、オブジェクト・フィールドのサンプル値を決定します。 デフォルト・ルールまたは検証ルールの影響を確認するUIについて考えます。 これは、要件で明示的に指定されません。 また、特定のユーザー・ロールのみなど、一部の暗黙的な基準も考慮します。 これらの暗黙的な要件は、デフォルトではなく検証でより多く使用されます。 次に例を示します。
-
米国従業員の将来のの月の1日または16日にのみ異動を許可し、11月および12月には異動を許可しません。これは、「検証しているデータは何か」という質問の回答です。
-
休暇中の従業員は退職できません。これは、「検証しているフィールドは何か」という質問の回答です。
検証またはデフォルト設定するフィールド
要件の最初の部分は、デフォルト設定または検証するフィールドを特定することです。 フィールドを含むセクションを特定することが重要です。 たとえば、アサイメント有効日を検証するというユースケースでは、多くの場合、日付が必要な「時期および事由」セクションでルールをトリガーする必要があります。
フィールドを特定できない場合は、ルールをトリガーするセクションを特定します。 セクションを特定できない場合は、オートコンプリートのルールを実装できない可能性があります。 たとえば、「退職の取消」はフィールドやセクションを含まないページのボタンであるため、ルール「退職の取下げを許可しない」を実装できません。
また、標準で用意されているデフォルト値または検証を確認する必要があります。 フィールドが標準でデフォルト設定される場合、オートコンプリートのルールでは、顧客固有のルールベースの値でそれを上書きできない場合があります。
ユーザー・エクスペリエンス
要件の2番目の部分は、ユーザー・エクスペリエンスに重点を置くことです。 これは実行可能性を決定するために重要です。 ユーザー・エクスペリエンスを決定する際には、レスポンシブUIのガイド付きプロセス・フローに重点を置く必要があります。 オートコンプリートのルールでは、指定された検証を実行できますが、検証は、トランザクションが送信されて、ユーザーが戻って編集できなくなったときにのみトリガーされます。 注目点は、これらのシナリオで検証がトリガーされることです。
-
セクションの入力時
-
フィールドからタブアウトするとき
-
セクションを終了するとき
これは、使用するルール・タイプとルールの実行を決定するのに役立ちます。 データ・モデル要素およびUIの操作を理解した後で、要件を、最適とは言えないが許容できる内容に変更する必要がある場合があります。
ルール基準
要件分析の重要な部分は、フィールドをデフォルト設定または検証するための基準をリストすることです。 基準には、現在のフィールドが含まれるものも、ユーザーによってすでに交差されているセクションや、いくつかの事前決定された設定データが含まれるものもあります。 ここでは、基準がわかっているか、レスポンシブ・フローでまだ発生していないかに重点を置く必要があります。
オートコンプリートのルールによって、現在のフローおよび静的設定データの変更前の最新の過去の状態がチェックされます。 ただし、いくつかの例外を除き、まだ出現していないセクション内の要素またはフィールドの以前の状態は特定できません。
要件分析の最初のステップのようにデフォルト設定または検証されるフィールド、または要件分析の最後のステップのように基準として使用するフィールドを特定する場合、レスポンシブ・ページで、標準でも、トランザクション設計スタジオを使用しても、表示または編集できないフィールドは使用しないでください。 たとえば、就業者アサイメントを使用していて、処理コードをチェックする必要があるとすると、アサイメント・オブジェクトでは処理コードを使用せずに、時期および事由オブジェクト(これは処理が表示可能で編集可能なセクションであるため)で処理コードを使用する必要があります。 HCMアプリケーションでは、レスポンシブ・ページを進めると、セクション内およびセクション間で値が同期化されます。 ただし、これらのフィールドの値が使用可能になるタイミングは、ユーザーに表示されてレスポンシブ・ページで編集可能でないかぎり、保証できません。 また、オートコンプリートのルールのUIで表示されるいくつかのフィールドは、アプリケーション使用のみのために予約されています。