カスタム式の記述

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

Groovy スクリプトの使用

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

Conditional Router ステージで使用される Groovy 式は、レコードをポートに書き出すべきかどうかを示す Boolean 値 (真または偽) になる必要があります。レコードは、式が真として評価された最初の出力ポートに送信されます。

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

data['Confidence']>=85

他方のポートのスクリプトは次のようになります。

data['Confidence']<85

ルータは、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; 

スクリプトのガイドライン

  1. 列名は、一重引用符または二重引用符で囲む必要があります。

    例えば、次の構文は誤りです。列名 PostalCodeが一重引用符または二重引用符で囲まれていないためです。

    return data[PostalCode];
  2. 列名を指定する必要があります。

    例えば、次の構文は誤りです。列が指定されていないためです。

    return data[]; 
  3. return文は、boolean 値を返す必要があります。

    例えば、次のスクリプトは誤りです。row.set('PostalCode', '88989')boolean 値を返さないためです。これはただ、PostalCodeフィールドに値 88989 を設定しているだけです。

    return row.set('PostalCode', '88989');
  4. フィールドの値の設定には等号 (=) を使用し、フィールドの値の確認には二重等号 (==) を使用します。