ルールロジックの設定例
ルールロジックに含める要素は、入力データに関する決定を行う必要があるファクトによって異なります。
次のような要素を含むルールロジックを記述できます。
- •その他のルール仕様
- •マップレット
- •ディクショナリ
- •例外データオプション
IF要素でのルール仕様の指定
ルール仕様内のIF要素を設定して、指定したルール仕様を読み取ることができます。
1詳細モードでルール仕様を開きます。
2ルール仕様に必要な入力と出力が含まれていることを確認します。
3ルールエディタで、IF-THEN-ELSE文のIF要素を入力します。
4追加するルール仕様の名前を入力します。
入力したテキストに基づいて、エディタは、組織フォルダまたはプロジェクト内の一連のアセットからルール仕様名を提案します。
5現在のルール仕様の各入力を、上で選択したルール仕様の入力にマッピングします。パラメータとして選択したルール仕様からの入力名をルール仕様名に追加します。
注: マッピングする入力のデータ型には互換性がある必要があります。
6演算子の値を入力します。例えば、=値を入力すると、入力値が指定した値と一致するかどうかを確認できます。
7入力値と比較する値を入力します。例えば、VALIDと入力します。
8THEN要素を入力します。
9出力を指定するには、出力名を入力します。
10演算子の値を入力します。例えば、ルールロジックを満たす値をデータに書き込むには、=という値を入力します。
11出力が返す値を入力します。例えば、Input not nullと入力します。
12ENDIF要素を入力します。
次の例は、ルール仕様を含むルールロジックを示しています。
IF rule:Auto_Project1.TC593_InnerRule_AdvancedRulespec(Input) = 'VALID'
THEN
Output = 'Input not null'
ENDIF
斜体のテキストはルール仕様名を表します。
THEN要素でのルール仕様の指定
ルール仕様のTHEN要素を設定して、指定したルール仕様を読み取ることができます。
1詳細モードでルール仕様を開きます。
2ルール仕様に必要な入力と出力が含まれていることを確認します。
3ルールエディタで、IF-THEN-ELSE文のIF要素を入力します。
4入力を指定するには、入力名を入力します。
5演算子の値を入力します。例えば、ルールロジックを満たさないデータに値を書き込むには、! =値を入力します。
6演算子の条件を指定します。例えば、NULLと入力します。
7THEN要素を入力します。
8出力を指定するには、出力名を入力します。
9演算子の値を入力します。例えば、ルールロジックを満たす値をデータに書き込むには、=という値を入力します。
10追加するルール仕様の名前を入力します。
入力したテキストに基づいて、エディタは、組織フォルダまたはプロジェクト内の一連のアセットからルール仕様名を提案します。
11現在のルール仕様の各出力を、上で選択したルール仕様の出力にマッピングします。パラメータとして選択したルール仕様からの出力名をルール仕様名に追加します。
注: マッピングする出力のデータ型には互換性がある必要があります。
12ENDIF要素を入力します。
次の例は、ルール仕様を含むルールロジックを示しています。
IF Input != NULL
THEN
Output = rule:Default.rule 1 for TC53(Input1)
ENDIF
斜体のテキストはルール仕様名を表します。
IF要素でのマップレットの指定
ルール仕様内のIF要素を設定して、指定したマップレットを読み取ることができます。
1詳細モードでルール仕様を開きます。
2ルール仕様に必要な入力と出力が含まれていることを確認します。
3ルールエディタで、IF-THEN-ELSE文のIF要素を入力します。
4追加するマップレットの名前を入力します。
入力したテキストに基づいて、エディタは、組織フォルダまたはプロジェクト内の一連のアセットからルール仕様名を提案します。
5現在のルール仕様の各入力を、上で選択したマップレットの入力にマッピングします。パラメータとして選択したルール仕様からの入力名をマップレット名に追加します。
注: マッピングする入力のデータ型には互換性がある必要があります。
6演算子の値を入力します。例えば、=値を入力すると、入力値が指定した値と一致するかどうかを確認できます。
7入力値と比較する値を入力します。例えば、DIGITと入力します。
8THEN要素を入力します。
9出力を指定するには、出力名を入力します。
10演算子の値を入力します。例えば、ルールロジックを満たす値をデータに書き込むには、=という値を入力します。
11出力が返す値を入力します。例えば、Input given is DIGITと入力します。
12ENDIF要素を入力します。
次の例は、マップレットを含むルールロジックを示しています。
IF mapplet:Validation_RuleSpec_1.Mapplet_RuleSpecVal(Input)='DIGIT'
THEN
Output= 'Input given is DIGIT'
ENDIF
斜体のテキストは、ルール仕様で使用するマップレットを表します。
THEN要素でのマップレットの指定
ルール仕様内のTHEN要素を設定して、指定したマップレットを読み取ることができます。
1詳細モードでルール仕様を開きます。
2ルール仕様に必要な入力と出力が含まれていることを確認します。
3ルールエディタで、IF-THEN-ELSE文のIF要素を入力します。
4入力を指定するには、入力名を入力します。
5演算子の値を入力します。例えば、ルールロジックを満たさないデータに値を書き込むには、! =値を入力します。
6演算子の条件を指定します。例えば、NULLと入力します。
7THEN要素を入力します。
8出力を指定するには、出力名を入力します。
9演算子の値を入力します。例えば、ルールロジックを満たす値をデータに書き込むには、=という値を入力します。
10追加するマップレットの名前を入力します。
入力したテキストに基づいて、エディタは、組織フォルダまたはプロジェクト内の一連のアセットからルール仕様名を提案します。
11現在のルール仕様の各出力を、上で選択したマップレットの出力にマッピングします。パラメータとして選択したルール仕様からの出力名をルールマップレット名に追加します。
注: マッピングする出力のデータ型には互換性がある必要があります。
12ENDIF要素を入力します。
次の例は、マップレットを含むルールロジックを示しています。
IF Input != NULL
THEN
Output = mapplet:ER_11227.MappletRS(Input1)
ENDIF
斜体のテキストは、ルール仕様で使用するマップレットを表します。
式ロジックでのディクショナリの指定
ルール仕様内のIFまたはTHEN要素を設定して、指定したディクショナリを読み取ることができます。
次のタスクでは、IF要素にディクショナリを追加する手順について説明します。
1詳細モードでルール仕様を開きます。
2ルール仕様に必要な入力と出力が含まれていることを確認します。
3ルールエディタで、IF-THEN-ELSE文のIF要素を入力します。入力を指定するには、入力名を入力します。
4演算子の値を入力します。例えば、ディクショナリの値と一致する入力値を識別するには、in値を入力します。
5 入力データにディクショナリを適用するには、作成したディクショナリの名前を入力します。
エディタは、入力したテキストに基づいて、組織のプロジェクトまたはフォルダ内の一連のアセットからディクショナリ名を提案します。
6THEN要素を入力します。
7出力を指定するには、出力名を入力します。
8演算子の値を入力します。例えば、ルールロジックを満たす値をデータに書き込むには、=という値を入力します。
9出力が返す値を入力します。例えば、「Input present」と入力します。
10ELSE要素を入力します。
11出力を指定するには、出力名を入力します。
12演算子の値を入力します。例えば、ルールロジックを満たさないデータに値を書き込むには、=という値を入力します。
13出力が返す値を入力します。例えば、「Input not present」と入力します。
14ENDIF要素を入力します。
次の例は、ディクショナリを含むルールロジックを示しています。
IF Input in dictionary:Validation_RuleSpec_1.Dictionary_RuleSpec
THEN
Output = 'Input present'
ELSE
Output = 'Input not present'
ENDIF
斜体のテキストは、ルール仕様で使用するディクショナリを表します。
式ロジックでの例外データオプションの指定
式ロジックで例外プロパティを設定して、例外レコードを識別できます。
1詳細モードでルール仕様を開きます。
2ルール仕様に必要な入力と出力が含まれていることを確認します。
3[入力と出力の管理]ダイアログボックスの[出力]タブで、[例外情報の追加]オプションを選択します。
このオプションは、ルールロジックで使用する例外の優先度、例外の説明、およびステータスインジケータをアクティブにします。
4ルールエディタで、IF-THEN-ELSE文のIF要素を入力します。
5入力を指定するには、入力名を入力します。
6演算子の値を入力します。
7演算子の条件を指定します。
8THEN要素を入力します。
9ステータスインジケータを定義します。
- - Outputを定義します。
- - =演算子を入力します。
- - ルール仕様によってレコード内で検出されたデータ品質の問題を反映するステータス値を入力します。
10ExceptionPriorityインジケータを追加します。
=演算子の値を入力して、優先度の値を書き込みます。
11レコードを例外として定義するデータ品質の問題の優先度の値を入力します。
優先度の値として、[マイナー]、[メジャー]、[重大]のいずれかを入力できます。
12ExceptionDescriptionインジケータを追加します。
=演算子の値を入力して、説明テキストを書き込みます。
13レコードを例外として定義するデータ品質の問題の説明を入力します。
14別のデータ品質の問題を含むレコードを識別するには、ELSEIF要素を追加します。前の手順のIF-THENシーケンスと同じ方法で要素ロジックを記述します。
15ENDIF要素を入力します。
次の例は、運転免許証を取得できる年齢に達している可能性のある個人を識別する例外ルールロジックを示しています。
IF Input < 17
THEN
Output = 'Child'
ELSEIF Input = 17
THEN
Output = 'Verify age'
ExceptionPriority = 'Major'
ExceptionDescription = 'Driver may qualify this year'
ELSEIF Input > 17
THEN
Output = 'Adult'
ELSE
Output = 'Not known'
ENDIF
斜体のテキストは例外データオプションを表します。