DTL <code>
構文
<code>
target.Name = source.FirstName & " " & source.LastName
</code>
要素
要素 | 目的 |
---|---|
<annotation> | オプション。<code> 要素について記述するテキスト文字列。 |
説明
DTL <code> 要素は、DTL データ変換内の 1 行または複数行のユーザ記述コードを実行します。<code> 要素を使用すると、DTL 要素では表現が難しい特殊な作業を実行できます。<code> 要素で参照するプロパティは、データ変換のソースまたはターゲット・オブジェクト内のプロパティである必要があります。
DTL <code> 要素のスクリプト言語は、含まれる <transform> 要素の language 属性によって指定されます。値は objectscript である必要があります。データ変換内のすべての式と <code> 要素内のコード行では、指定された言語を使用する必要があります。
詳細は、以下のドキュメントを参照してください。
通常、開発者は、アポストロフィー (') や アンパサンド (&) などの特殊な XML 文字をエスケープしなくて済むように、<code> 要素の内容を CDATA ブロック内にラップします。以下に例を示します。
<code>
target.Name = source.FirstName & " " & source.LastName
</code>
データ変換の実行を中断およびリストアできるようにするには、<code> 要素の使用時に以下のガイドラインに従う必要があります。
-
実行時間は短くします。カスタム・コードがデータ変換の一般処理を妨げないようにしてください。
-
システム・リソースを割り当てる (ロックの取得やデバイスのオープンなど) 場合は、必ず同じ <code> 要素内でそのリソースを解放してください。
-
<code> 要素がトランザクションを開始する場合は、同じ <code> 要素が考えられるすべてのシナリオでトランザクションを終了することを確認します。トランザクションを終了していない場合には、トランザクションは無期限に開いたままになる可能性があります。これにより他の処理が阻止されたり、重大なダウンタイムを発生することがあります。
使用可能な変数
DTL <code> 要素で使用可能な変数は、その要素の呼び出しに使用するメソッドに応じて異なります。使用可能な変数とそのプロパティについては、以下の表を参照してください。
変数名 | 目的 | 使用可能になる DTL 呼び出しメソッド : |
---|---|---|
source | ソース・メッセージのプロパティが含まれます。 | すべてのメソッド |
target | ターゲット・メッセージのプロパティが含まれます。 | すべてのメソッド |
process | process オブジェクトは、BPL ビジネス・プロセス・オブジェクトの現在のインスタンス (BPL クラスのインスタンス) を表します。このオブジェクトには、そのクラスで定義されたプロパティごとに 1 つのプロパティがあります。process.SendRequestSync() などの process オブジェクトのメソッドを起動できます。 | BPL ビジネス・プロセス |
context | context オブジェクトは、ビジネス・プロセスの汎用データ・コンテナです。context は自動的には定義されません。このオブジェクトのプロパティを定義するには、<context> 要素を使用します。その場合、<process> 要素内でこれらのプロパティを参照するには、context.Balance のようにドット構文を使用します。 | BPL ビジネス・プロセス |
aux | DTL を呼び出したビジネス・ルールからの情報が含まれます。 | ビジネス・ルール |