Exception Monitor でのカスタム式の使用

Groovy スクリプト言語を使用して式を作成することにより、Exception Monitor によるレコードのルーティング方法を制御する独自のカスタム式を記述することができます。

Groovy スクリプトの使用

Groovy の詳細については、groovy-lang.org を参照してください。

Exception Monitor ステージで使用される Groovy 式は、レコードを例外とみなし、手動による確認にルーティングするべきかどうかを示す Boolean 値 (真または偽) になる必要があります。例外レコードは例外ポートにルーティングされます。

例えば、バリデーションの確信レベルが 85 未満のレコードを確認する必要がある場合、スクリプトは次のようになります。

data['Confidence']<85

Exception Monitor は、Confidence フィールドの値を条件と照合して、レコードの送信先出力ポートを決定します。

フィールドに単一の値があるかどうかを確認する

次の式は、Status フィールドの値が 'F' の場合に真として評価されます。完全一致が要求されるため、フィールドの値が 'f' の場合は真として評価されません。

return data['Status'] == 'F'; 

フィールドに複数の値があるかどうかを確認する

次の式は、Status フィールドの値が 'F' または 'f' の場合に真として評価されます。

boolean returnValue = false;
if (data['Status'] == 'F' || data['Status'] == 'f')
{
 returnValue = true;
}
return returnValue; 

フィールドの長さを評価する

次の式は、PostalCode フィールドの文字数が 6 文字以上の場合に真として評価されます。

return data['PostalCode'].length() > 5; 

フィールド値に含まれる文字を確認する

次の式は、PostalCode フィールドにダッシュが含まれている場合に真として評価されます。

boolean returnValue = false; 
if (data['PostalCode'].indexOf('-') != -1) 
{ 
	returnValue = true; 
} 
return returnValue; 

一般的な誤り

次に、スクリプトを使用するときの一般的な誤りを示します。

次の式は誤りです。PostalCode (列名) は、単一引用符または二重引用符で囲む必要があります。

return data[PostalCode]; 

次の式は誤りです。列が指定されていません。

return data[]; 

次の式は誤りです。row.set() は Boolean 値を返しません。row.set() は常に偽として評価されます。また、row.set() は、PostalCode フィールドを 88989 に変更します。

return row.set('PostalCode', '88989'); 

フィールドの値の設定には単一引用符を使用し、フィールドの値の確認には二重引用符を使用します。