中かっこ {} の構文
該当する場合
この構文は、ビジネス・ルール、検索テーブル、検索フィルタ、BPL 要素 (<code> と <sql> 以外)、および DTL 要素 (<code> と <sql> 以外) 内で使用できます。
中かっこの構文で解決する場合は、メッセージ構造を把握している必要があります。現在のコンテキストでメッセージ構造が不明の場合は、可能であれば、代わりに、角かっこ [] 構文を使用します。
詳細
中かっこ {} 構文を使用して仮想プロパティにアクセスするには、以下の構文を使用します。
message.{myVirtualPropertyPath}
説明 :
-
message は、現在のメッセージを参照している変数です。この変数の名前はコンテキストによって異なります。
-
myVirtualPropertyPath は、前述した仮想プロパティ・パスです。
前述した構文は、以下のメソッド呼び出しと等価です。
message.GetValueAt("myVirtualPropertyPath")
中かっこ {} 構文の方が単純なため、幅広く使用されています。
一斉コピー
BPL または DTL で中かっこ {} 表記を使用している場合、セグメント全体、セグメントのグループ、またはセグメント内の複合フィールド全体をコピーできます。これを実現するには、仮想プロパティ・パスのフィールド部分 (およびコロン・セパレータ) を削除します。したがって、以下の DTL <assign> 文はすべて有効です。
<assign property='target.{MSH}' value='source.{MSH}' />
<assign property='target.{DG1()}' value='source.{DG1()}' />
<assign property='target.{DG1(1):DiagnosingClinician}' value='"^Bones^Billy"'/>
ソースとターゲットのタイプが異なる場合は、構造が並列であるように見える場合でも、一斉コピーを使用してサブプロパティを割り当てることはできません。このようなコピーの場合は、構造の各リーフ・ノードを別々に割り当てて、For Each アクションをプロセス反復に追加する必要があります。
上の例の最後の行は、コンポーネントの区切り文字としてキャレット (^) を使用しています。各 EDI 形式の詳細は、以下を参照してください。