ユーザ定義ロジック
ユーザ定義ロジックとは
ユーザ定義ロジックとは、複数のMapperロジックを一つのロジックとしてまとめ、ドキュメントMapperおよび変数Mapper上で共有できる機能です。
ユーザ定義ロジック自体への変更は配置したユーザ定義ロジックすべてに反映されるため、共通の変換処理を一カ所にまとめることができ、同じ処理を複数箇所に作成する方法に比べ、開発効率のアップおよび修正漏れの防止につながります。
ローカルユーザ定義ロジック
は、一つのプロジェクト内でのみ使用できます。そのため、プロジェクト内でのみユーザ定義ロジックを共有したい場合や、プロジェクトと一括でユーザ定義ロジックを管理したい場合はローカルユーザ定義ロジックの使用が適切です。
ローカルユーザ定義ロジック
作成方法
編集方法
マッピングキャンバスへの配置
削除方法
仕様制限
作成方法
Mapperエディタを開き、ツールパレットの「ローカルユーザ定義」パレットの
[ユーザ定義ロジックの追加]
を選択し、ダブルクリックします。
グループを用いてユーザ定義ロジックを分類することもできます。
ユーザ定義ロジック名を設定します。
項目の説明
項目名
説明
備考
定義名
ローカルユーザ定義ロジック名を入力します。
グループ名
グループ名を入力します。
定義済みのグループが存在する場合、コンボボックスで選択可能です。
説明
説明を入力します。
新しいローカルユーザ定義ロジックが作成され、ツールパレット上に表示されます。
変更方法
ツールパレットの「ローカルユーザ定義」パレットにあるローカルユーザ定義ロジックをダブルクリックしてMapperエディタを開きます。
マッピングキャンバスに配置したローカルユーザ定義ロジックアイコンをダブルクリックして開くこともできます。
入力元のルート要素(入力ハンドラ)の右クリックメニューで
[ハンドラの追加]
を選択します。
項目の説明
項目名
説明
備考
ハンドラの追加
入力ハンドラを追加します。
入力ハンドラ名を設定します。
項目の説明
項目名
説明
備考
名前
入力ハンドラ名を入力します。
コメント
コメントを入力します。
4.ツールパレットからMapperロジックをキャンバスに配置し、ローカルユーザ定義ロジックのマッピングを作成します。
入力ハンドラの増減はマッピングキャンバスに配置したローカルユーザ定義ロジックアイコンにも反映されます。入力ハンドラが削除された場合には結びついていたリンクも同時に削除されます。
出力ハンドラは通常のロジックと同じように扱われるため、出力は一種類になります。そのため編集することはできません。
作成した入力ハンドラの右クリックメニュー
[編集]
から、ハンドラ名やコメントの編集ができます。
作成した入力ハンドラの右クリックメニュー
[削除]
から、ハンドラの削除ができます。
マッピングキャンバスへの配置
ツールパレットの「ローカルユーザ定義」パレットからローカルユーザ定義ロジックをマッピングキャンバスにドラッグ&ドロップします。
入出力の型はすべて文字列型です。
削除方法
ツールパレットの「ローカルユーザ定義」パレットにあるローカルユーザ定義ロジックの右クリックメニュー
[削除]
を選択します。
ローカルユーザ定義ロジックの削除を行った際に、当該ロジックを参照している配置済みのローカルユーザ定義ロジックの削除がすぐに行われない場合があります。その場合、プロジェクトを開きなおしてください。
仕様制限
ローカルユーザ定義ロジックの内容を変更した場合、プロジェクト内のスクリプトに配置したすべてのローカルユーザ定義ロジックに変更が反映されます。そのため、スクリプト数が多いとプロジェクトの保存に時間がかかる場合があります。
ローカルユーザ定義ロジックの実体が存在しない場合、プロジェクトを開き、当該ロジックを参照するMapperを開いたタイミングで「ユーザ定義ロジックの読み込みエラー」ダイアログが表示され、配置済みのローカルユーザ定義ロジックが削除されます。
[ユーザ定義ロジック名]
を変更しても、マッピングキャンバスに配置済みのローカルユーザ定義ロジックのツールチップには反映されません。
その場合、Mapperエディタを開き直してください。
ローカルユーザ定義ロジックを含むMapperを別プロジェクトのスクリプトにコピーすることはできません。同様に、そのMapperを含むスクリプトを別プロジェクトにコピーすることはできません。
ローカルユーザ定義ロジックは作成されたプロジェクト内でのみ使用してください。
ローカルユーザ定義ロジック内で、ほかのユーザ定義ロジックを使用することはできません。
マッピングキャンバスに配置したローカルユーザ定義ロジックの入力ハンドラに同一のローカルユーザ定義ロジックをマッピングした場合、マッピングされていない入力ハンドラが存在すると予期せぬ処理結果になることがあります。
すべての入力ハンドラにマッピングを行ってください。