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

角かっこ [] の構文

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

該当する場合

この構文は、ビジネス・ルール、検索テーブル、および検索フィールド内で使用できます。また、この構文は、EDIFACT および X12 ドキュメントで使用できます。

詳細

角かっこ [] 構文を使用して仮想プロパティにアクセスするには、以下の構文を使用します。

[myVirtualPropertyPath]

ここで、myVirtualPropertyPath は、フィールド識別子を数値形式にしなければならないことを除いて、前述した仮想プロパティ・パスです。この構文は、メッセージ構造に関係なく、指定されたセグメント内で値を検索します。

ビジネス・ルールに角かっこ構文を使用する場合に、メッセージ内に segment タイプのインスタンスが複数あるときは、この構文は、一致するすべての値を含み、各値が <> 山かっこで囲まれた文字列を返します。例えば、構文が複数の値の ab、および c を返す場合は、これらが次のように 1 つの文字列で表示されます。

<a><b><c>

角かっこ構文を検索テーブルと共に使用する場合に、メッセージ内に segment タイプのインスタンスが複数あるときは、この構文は、一致するフィールド/セグメントのリストをコンパイルしてからリストを反復処理し、フィールド/セグメントを 1 つずつ個別にテーブルに挿入します。

IntersectsList ユーティリティ関数を使用して、角かっこ構文によって返された文字列に特定の値があるかどうかをテストできます。IntersectsList の詳細は、"組み込み関数" を参照してください。

角かっこを使用した場合、InterSystems IRIS は特定のメッセージ構造またはスキーマを認識することなく、数値パスを解決することができます。これは、メッセージ構造を指定する必要のある中かっこ {} とは異なります。例えば、DTL データ変換では、中かっこ構文を使用できるよう、<transform> 要素 (sourceDocType および targetDocType) の属性を持つソースおよびターゲットのメッセージ構造を指定します。

角かっこの構文では、プロパティ・パス (segment:field) の field 部分でのみ、繰り返しフィールドのショートカット () をサポートしています。

以下の検索テーブル・クラスからの抜粋は、メッセージ内の FT1:12.1 フィールドと FT1:6 フィールドのすべての値を照合する方法を示しています。

<Items>
  <Item DocType="" PropName="TransactionAmt">[FT1:12.1]</Item>
  <Item DocType="" PropName="TxType">[FT1:6]</Item>
</Items>

FindSegmentValues() との比較

この構文は、FindSegmentValues() のデフォルトの動作に似ていますが、全く同じではありません。代わりに、区切り文字が変更され、結果が山かっこで囲まれます。そのため、角かっこの構文は次のメソッド呼び出しに相当します。

"<"_msg.FindSegmentValues("segment:field",,"><")_">"

FeedbackOpens in a new tab