マッピング・スクリプトを作成するには:
マッピング・スクリプトは、「明示」および「マルチ・ディメンション」マッピング・タイプでは使用できません。
Jythonベースのマッピング・スクリプトの場合は、#SCRIPTと入力します。
SQLベースのマッピング・スクリプトの場合は「#SQL」を入力します。
注意: | SQLベースのマッピングの場合は、FDMEEによって特殊値の#SQLが「ターゲット値」に指定されます。このため、このフィールドを使用して"IGNORE"の値を指定することはできず、このフィールドのVALID_FLAGがYesおよびNoに設定されます。SQLベースのマッピングの場合は、SQLスクリプトにVALID_FLAGを含め、ユーザーが選択した条件に基づいて"I"の値を指定する必要があります。 |
「スクリプト・エディタ」アイコン()が有効になります。
「スクリプトの編集」にマッピング・スクリプトを入力し、「OK」をクリックします。
たとえば、次のJythonベースのマッピング・スクリプトは、勘定科目の最初の2文字が11と等しく、エンティティが01と等しいかどうかを調べます。一致するものがある場合、ターゲットはCash2に設定され、ターゲット金額は0に設定されます。また、このスクリプトによってTDATASEG表のattribute1列も更新されます。(TDATASEG表のリファレンスを参照してください)。このスクリプトではfdmResultMapオブジェクトが使用されます(マッピング・スクリプトでのJythonオブジェクトの使用を参照してください)。
次の例で、SQLスクリプトを使用できるのは、ロジックがSQL CASE文に実装される場合です。CASE文は内部UPDATE文のSETコマンドで使用されます。下のマッピング文は、指定のUPDATE文に変換されます。
UPDATE TDATASEG
SET ACCOUNTX =
CASE WHEN ACCOUNT LIKE ‘L%’ AND ICP = ‘000’ THEN ‘A4140‘ WHEN ACCOUNT IN (‘110’,’120’,’130’) THEN ‘A100’’ ELSE ‘A’ || ACCOUNT END ,DESC1 = COALESCE(DESC1, ACCOUNT || ‘.’ || ICP)
WHERE ACCOUNT …..