Skip to main content

This documentation is for an older version of this product. See the latest version of this content.Opens in a new tab

中かっこ {} の構文

中かっこ {} 構文を使用して仮想プロパティにアクセスする方法について説明します。

該当する場合

この構文は、ビジネス・ルール、検索テーブル、検索フィルタ、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"'/>

Note:

ソースとターゲットのタイプが異なる場合は、構造が並列であるように見える場合でも、一斉コピーを使用してサブプロパティを割り当てることはできません。このようなコピーの場合は、構造の各リーフ・ノードを別々に割り当てて、For Each アクションをプロセス反復に追加する必要があります。

上の例の最後の行は、コンポーネントの区切り文字としてキャレット (^) を使用しています。各 EDI 形式の詳細は、以下を参照してください。

  • "プロダクション内での EDIFACT ドキュメントのルーティング" の参照節内の “セパレータ

  • "プロダクション内での X12 ドキュメントのルーティング" の参照節内の “セパレータ

FeedbackOpens in a new tab