Skip to main content

This is documentation for Caché & Ensemble. See the InterSystems IRIS version of this content.Opens in a new tab

For information on migrating to InterSystems IRISOpens in a new tab, see Why Migrate to InterSystems IRIS?

DTL <code>

カスタム・コード行を実行します。

Synopsis

<code>    target.Name = source.FirstName & " " & source.LastName </code>

要素

要素 目的
<annotation> オプション。<code> 要素について記述するテキスト文字列。

説明

DTL <code> 要素は、DTL データ変換内の 1 行または複数行のユーザ記述コードを実行します。<code> 要素を使用すると、DTL 要素では表現が難しい特殊な作業を実行できます。<code> 要素で参照するプロパティは、データ変換のソースまたはターゲット・オブジェクト内のプロパティである必要があります。

DTL <code> 要素のスクリプト言語は、含まれる <transform> 要素の language 属性によって指定されます。値 "basic" または "objectscript" は、Caché Basic または ObjectScript を示します。指定しない場合は、デフォルトの ObjectScript が使用されます。MVBasic はサポートされません。データ変換内のすべての式と <code> 要素内のコード行では、指定された言語を使用する必要があります。

これらの Caché プログラミング言語の詳細は、以下のドキュメントを参照してください。

通常、開発者は、アポストロフィー (') や アンパサンド (&) などの特殊な XML 文字をエスケープしなくてすむように、<code> 要素の内容を CDATA ブロック内にラップします。以下に例を示します。

<code>
   target.Name = source.FirstName & " " & source.LastName
</code>

データ変換の実行を中断およびリストアできるようにするには、<code> 要素の使用時に以下のガイドラインに従う必要があります。

  • 実行時間は短くします。カスタム・コードがデータ変換の一般処理を妨げないようにしてください。

  • システム・リソースを割り当てる (ロックの取得やデバイスのオープンなど) 場合は、必ず同じ <code> 要素内でそのリソースを解放してください。

  • <code> 要素がトランザクションを開始する場合は、同じ <code> 要素が考えられるすべてのシナリオでトランザクションを終了することを確認します。トランザクションを終了していない場合には、トランザクションは無期限に開いたままになる可能性があります。これにより他の処理が阻止されたり、重大なダウンタイムを発生することがあります。

FeedbackOpens in a new tab