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?

追加の手順

この章では、EDIFACT ルーティング・インタフェースをプロダクションに追加するために必要な追加の手順について説明します。以下のトピックについて説明します。

これらのタスクはプロダクションが存在しているネームスペースで実行する必要があります。ルール・セット、変換、および検索テーブルを作成する場合は、予約パッケージ名を使用しないでください。"Ensemble プロダクションの開発" の “予約パッケージ名” を参照してください。

"Ensemble 仮想ドキュメント" の “検証ロジックの上書き” も参照してください。

EDIFACT スキーマの Ensemble へのロード

EDIFACT スキーマを Ensemble にロードするには、“利用可能なツール” の章の説明に従って、[EDIFACT スキーマ構造] ページを使用します。

カスタム・スキーマ・カテゴリの作成に関する情報は、"Ensemble 仮想ドキュメント" の “カスタム・スキーマ・カテゴリの作成” を参照してください。

EDIFACT 用のルーティング・ルール・セットの定義

ビジネス・ルールの定義に関する一般情報は、"ビジネス・ルールの開発" を参照してください。

EDIFACT ルーティング・インタフェース用のルーティング・ルール・セットを作成する場合:

  • [一般] タブで、[ルールタイプ][仮想ドキュメント・メッセージ・ルーティング・ルール] にする必要があります。この選択によって以下のオプションが設定されます。

  • ルールに関する [制約] で、[メッセージ・クラス]EnsLib.EDI.EDIFACT.DocumentOpens in a new tab に指定します。

EDIFACT 用の DTL データ変換の定義

ルーティング・ルールに、1 つ以上のデータ変換が必要な場合があります。

DTL データ変換の定義に関する一般情報は、"DTL 変換の開発" を参照してください。

EDIFACT ドキュメント用の DTL データ変換を作成する場合:

  • [変換] タブで、[ソースクラス][ターゲットクラス] の両方を EnsLib.EDI.EDIFACT.DocumentOpens in a new tab にする必要があります。

  • [ソースドキュメントタイプ] はビジネス・サービスによって割り当てられたスキーマ・カテゴリ名にする必要があります。

  • [ターゲットドキュメントタイプ] はターゲット・スキーマ・カテゴリの名前にする必要があります。これは、Ensemble にロードしたスキーマ・カテゴリ名と同じにする必要があります。

利用可能なツール” の章の説明に従って、EDIFACT ドキュメント・ビューワ・ページを使用して変換をテストします。

DTL データ変換をプロダクションに統合するには、ルーティング・ルール・セット[変換] フィールドにそのパッケージとクラスの完全名を入力します。

EDIFACT 検索テーブルの定義

EDIFACT 検索テーブル・クラスの EnsLib.EDI.EDIFACT.SearchTableOpens in a new tab は、自動的に、EDIFACT ドキュメント ID にインデックスを付けて、Identifier という名前にします。

検索する項目を増やす場合は、サブクラスを作成できます。サブクラスは、Identifier プロパティに加えて、検索テーブルを機能させるインフラストラクチャを継承します。詳細は、"Ensemble 仮想ドキュメント" の “検索テーブル・クラスの定義” を参照してください。

EDIFACT に固有の以下の点に注意してください。

  • このドキュメントの最後に記載されている [セパレータ] 設定の参照先で、EDIFACT セパレータ文字のリストを参照してください。

  • この場合は、Ensemble が PropType の追加の値をサポートしています。"Ensemble 仮想ドキュメント" に列挙されたタイプのほかに、DateTime:HL7 を使用できます。

EDIFACT ドキュメントの繰り返しの処理

EDIFACT ドキュメントの一部のセグメントは、繰り返すことも、ループ内で使用することもできます。繰り返しおよびループ構造は、明示的または暗黙的のいずれかにできます。Ensemble は、暗黙的または明示的な繰り返し構造とループ構造を処理できますが、ドキュメントでは、繰り返しとループをすべて明示的に指定するか、またはすべて暗黙的に指定する必要があります。Ensemble は、EDIFACT ドキュメントを解析中に最初の繰り返しまたはループを検出すると、ドキュメントが暗黙的繰り返しを使用しているか、明示的繰り返しを使用しているかを判別します。その後、最初の繰り返しまたはループで見つかったメカニズムを使用してドキュメントの残りの部分を解析します。明示的繰り返しメカニズムと暗黙的繰り返しメカニズムが混在している場合、Ensemble は、EDIFACT ドキュメントを解析中にこれをエラーとして処理します。

EDIFACT ドキュメントが暗黙的繰り返しの使用を示している場合、セグメントは 3 文字のラベル (UNH など) として表され、その後にデータ要素区切り文字とデータ (データ要素とコンポーネント) が続きます。特定のセグメントがどのセグメントの繰り返しまたはループに入っているかを明示的に示す情報はありません。しかし、EDIFACT ドキュメントが明示的繰り返しの使用を示している場合、繰り返しセグメントは 3 文字のラベルで表され、その後にコンポーネント区切り文字と制御番号が続き、さらにデータ要素区切り文字が続きます。繰り返しセグメントである ARA というセグメントでは、これは ARA:1+データのようになります。グループ 1 内でネストされているグループ 2 にある DET というセグメントでは、これは DET:1:1+データのようになります。これらの制御番号を使用して表されるのは、繰り返しが可能か、ループ内にあるセグメントのみです。

デフォルトで、EDIFACT ドキュメントは、ファイルへの出力時に、暗黙的繰り返しまたは明示的繰り返しの指示を保持します。暗黙的指示がある EDIFACT ドキュメントを明示的指示に変換するには ConstructExplicitClone メソッドを使用し、明示的指示のある EDIFACT ドキュメントを暗黙的指示に変換するには ConstructExplicitClone メソッドを使用します。

FeedbackOpens in a new tab