前のセクションで触れたように、EDI 交換のやり取りに関連する数多くの属性を指定できます。例えば、システム提供のエンベロープ・プロファイルを変更したり、特定の接続に使用する固有のエンベロープを定義したり、交換の各要素に割り当てられる制御番号を設 定したり、同じ交換を異なる方法で配信できるように接続プロファイルを設定したりできます。ここでは、この各作業について説明します。
エンベローパーは、参加者に送信される一連のトランザクションを収集し、それらをエンベロープに包んで送信するコンポーネントで す。送信待機中のトランザクションをいつエンベローパーで探すかを WebSphere Partner Gateway に指示する必要があるため、エンベローパーをスケジュールします (デフォルトのスケジュールのままでもかまいません)。また、ロック時間、キュー存続期間、およびバッチ・モードのデフォルト値を更新することもできます。
Document Manager のインスタンスごとにエンベローパーが用意されます。Document Manager を 2 つシステムにインストールすれば、エンベローパーも 2 つになります。したがって、エンベローパーのインスタンスを 2 つ以上使用して、エンベロープ待機中のトランザクションをポーリングすることも可 能です。特定のトランザクションが 1 つだけのエンベローパーによってポーリングされるように設定するために、ロックが使用されます。ロックによって、複数のエンベローパーが関与する場合に、1 つのエンベローパーのみが特定のトランザクションをポーリングし、処理するように設定できます。複数のエンベローパーが同時にポーリングしますが、別々のトランザクションに対して機能します。
ロックには、制限時間が設定されます。エンベローパーのインスタンスがロックを保持できる時間のデフォルト値は 240 秒です。
ロックの待機が必要な場合、エンベローパーはキューに入れられます。最大キュー存続期間 (エンベローパーが待機しなければならない時間) は 740 秒です。
通常は、ロック用のデフォルト値を変更する必要はありません。
1 つのファイルで到着した複数の文書は、その文書のタイプに設定してあるスプリッター・ハンドラーに従って分割されます。(ターゲットの定義の一部であるスプリッター・ハンドラーの構成については、構成ポイントの変更で説明しています。) スプリッター・ハンドラーの属性の 1 つに BCG_BATCHDOCS があります。BCG_BATCHDOCS をオン (デフォルト値) に設定すると、スプリッターは文書の分割後に文書にバッチ ID を追加します。
エンベローパーには、BCG_BATCHDOCS 属性に関連したバッチ・モード用の属性があります。個々の文書にバッチ ID が割り当てられている場合に、バッチ・モードのデフォルト値 (オン) を受け入れると、エンベローパーは、トランザクションが一緒にエンベロープされるように、同じファイルで一緒に到着した文書すべてを処理してからエンベロープして送信します。例えば、5 つの XML 文書が同じファイルで届いたとします。各 XML 文書は、EDI トランザクションに変換されて、同じ受信側に配信されることになります。この文書を 3 つのみ変換した時点で、エンベローパーがあらかじめスケジュールされたトランザクションのポーリングを開始し ます。バッチ・モードを選択していれば、準備の整った 3 つのトランザクションをエンベローパーが処理 (エンベロープ) することはあ りません。そうではなく、5 つすべてのトランザクションの処理が完了するまで待機し、それから各トランザクションをエンベロープ して送信します。適用可能な EDI 標準で回避していないかぎり、各トランザクションは同じエンベロープに包まれます。
エンベローパーのデフォルト値を変更するには、以下のステップを実行します。
エンベロープ・プロファイルによって、エンベロープの特定のエレメントに配置される値が決まります。エンベロープ・プロファイルは、文書フロー定義の「エンベロープ・プロファイル」属性で EDI トランザクションに割り当てます。 WebSphere Partner Gateway には、サポートされている標準 (X12、EDIFACT、または UCS) ごとに定義済みのエンベロープ・プロ ファイルが用意されています。この定義済みの各エンベロープ・プロファイルを直接使用することも、変更することも、新しいエンベロープ・プ ロファイルにコピーすることもできます。エンベロープ・プロファイルを変更または作成するステップについては、デフォルト値の変更を参 照してください。
エンベロープ・プロファイルには、エンベロープ標準のエレメントごとに 1 つのフィールドがあります。また、プロファイルには、トランザクション集合、メッセージ、機能グループ、および交換のヘッダーまたはトレーラー・セグメントとなる リテラル・データまたは定数データを用意しておくことができます。ここで用意する値は、取り込む必要があり、かつ別のソースに用意されていない値のみにします。
フィールド名が、容易に相互参照できるように意図されています。例えば、UNB03 フィールドは UNB セグメントの 3 番目のデータ・エレメントです。
エンベロープ属性で説明しているように、エンベロープ・プロファイルで設定した値よりも、他 の場所で設定した属性の方が優先されます。属性の中には、文書フロー定義関連の属性またはマップでオーバーライドできるものもあります。
エンベロープ属性は、構成プロセス中にいくつかの異なるポイントで設定することができます。また、文書に関連付けられた変換マ ップに設定することもできます。例えば、Data Interchange Services クライアントのマッピング担当者は、マップの定義時に CtlNumFlag プロパティーを指定できます。このプロパティーは、エンベロープ・プロファイルの一部として (「トランザクション ID 別制御番号」フィールドで) 設定することもできます。 変換マップで設定した属性は、Community Console で設定した関連する値よりも優先されます。例えば、変換マップで CtlNumFlag に N (いいえ) を設定し、「トランザクション ID 別制御番号」フィールドに Y (はい) の値を入力した場合、この項目の値として使用されるのは N の値です。
エンベロープ・プロファイルは、このほか、プロトコル・レベルで設定したり (参加者に関連付けられた「文書フロー定義の管理 」ページまたは「B2B 機能」ページ)、接続の一部として設定したりすることもできます。優先順位は、以下のようになっています。
変換マップのプロパティーおよび関連する Community Console 属性のリストに ついては、Data Interchange Services クライアント・プロパティーを参照してください。
エンベロープ・プロファイル属性では、プロファイルに値を入力しない場合やプロファイルを作成し ない場合に、EDI 標準の各エンベロープ属性で使用されるデフォルト値を表にまとめています。使用するエンベロープ・プロファイルに、実行時にシステムによって提供されない必須エレメントを必ず指定してください。
エンベロープ・プロファイルを設定するには、以下のステップを実行します。
値を追加できるフィールドは、次のとおりです。
一般エンベロープ・プロファイルの上記の各フィールドは、3 つのどの標準でも同じです。ただし、EDIFACT にはもう 1 つ 別のフィールドがあります。「EDI 用のグループの作成」です。
「一般」ページで何らかの変更を加えた場合は、「保管」をクリックします。
「交換」ページで何らかの変更を加えた場合は、「保管」をクリックします。
このページの各フィールドでは、グループの送信側と受信側を定義するのが一般的です。
「グループ」ページで何らかの変更を加えた場合は、「保管」をクリックします。
「トランザクション」ページで何らかの変更を加えた場合は、「保管」をクリックします。
定義したエンベロープ・プロファイルは、「エンベロープ・プロファイル」リストに表示されます。 このリストから、目的のプロファイルを選択し、「使用箇所」アイコンをクリックして、そのプ ロファイルを使用する接続を決定できます。
接続プロファイルは、エンベロープ解除されたトランザクションと併用する場合と、エンベローパー作成の EDI 交換と併用する場合があります。トランザクションの場合、接続プロファイルで、エンベロープ解除後にトランザクションをどのように処理するかを決定します。交換の場合、接続プロファイルでは交換をどのように配信するかを決定します。
以下の表は、接続プロファイルの属性、「接続プロファイルの詳細」ページの対応するフィールド名、および各属性を交換またはトランザクションのどちらに適用するのかを示しています。
属性 | フィールド名 | EDI 交換 | EDI トランザクション |
---|---|---|---|
接続プロファイル修飾子 1 | 修飾子 1 | X | |
交換の使用標識 | EDI 使用タイプ | X | |
グループ・アプリケーション送信側 ID | アプリケーション送信側 ID | X | |
グループ・アプリケーション受信側 ID | アプリケーション受信側 ID | X | |
グループ・アプリケーション・パスワード | パスワード | X |
WebSphere Partner Gateway に EDI 交換が届いた場合、通常、その交換のエンベロープ を解除して個々のトランザクションにするというのが最初のアクションです。トランザクションが作成されると、エンベロープ解除アクションによって 交換使用標識とグループ情報 (グループ・アプリケーション送信側 ID、グループ・アプリケーション受信側 ID、および グループ・アプリケーション・パスワード) がトランザクション・メタデータに設定されます。次に、WebSphere Partner Gateway が独自のワークフローで各トランザクションを再処理します。
例えば、同じタイプのトランザクション (850 など) が 2 つあり、それぞれを所属グループ または交換使用標識の値に応じて別々に処理する必要があるとします。「使用標識」が実働 (P) の場合は、1 つ目のマップ (A) を使用し、「使用指標」 がテスト (T) の場合は、2 つ目のマップ (B) を使用するものとします。この 850 トランザクションを処理するには、同種の接続が 2 つ必要になります。1 つはマップ A を使用し、もう 1 つはマップ B を使用するという点のみが異なります。
この点を除けば 2 つのトランザクションはまったく同じなので (ソース参加者、ターゲット 参加者、パッケージ、プロトコル、および文書タイプは同じです)、Document Manager ではどの接続を使用するのかを判断する手 段が必要になります。これは、すでに設定した接続プロファイル属性をトランザクション・メタデータとマッチングすることによって行います。この例で言うと、接続プロファイルを 2 つ作成し、その 1 つ (CPProduction) では「EDI 使用タイプ」を P に設定し、もう 1 つ (CPTest) では「EDI 使用タイプ」を T に設定した場合、Document Manager では使用標識が P のトランザクションが CPProduction プロファイルと一致します。したがって、Document Manager はマップ A を使用してトランザクションを変換すればよいと認識します。
このセクションで挙げた例では「交換使用標識」属性を使用しましたが、トランザクションの識別要因としてはこのほかにも「グループ・アプリケーション送信側 ID」、「グループ・アプリケーション受信側 ID」、「グループ・アプリケーション・パスワード」の各属性を使用することができます。
交換の場合は、「接続プロファイル修飾子 1」属性を使用します。
例えば、現在、社内で VAN (「なし」パッケージ化) またはインターネット (「AS2」パッケージ化) からのマイグレーションを 進めているとします。840 (見積依頼) トランザクションでは VAN を使用し、850 (購入注文) トランザクションではインターネットを使用したいと考えています。参加者の接続を 2 つ設定します。どちらでも、ソース交換は同じですが、ターゲットは異なります (1 つは「なし」パッケージ化で、もう 1 つは「AS2」パッケージ化です)。 接続プロファイルが、この 2 つの接続を区別するのに役立ちます。
交換用の接続プロファイルを設定するには、いくつかのステップを踏む必要があります。この例の 2 つの接続プロファイルを作成するには、以下のステップを実行します。
エンベローパーでは、参加者接続の「宛先」側の 「接続プロファイル修飾子 1」属性がエンベロープのブレークポイントとして使用されます。したがって、「接続プロファイル修飾子 1」属性の値が異なるトランザクションは、別々のエンベロープに入れられます。トランザクションに異なる値を設定した場合、エンベローパーは 840 トランザクションと 850 トランザクションを同じ交換にエンベロープすることはありません。
Document Manager が接続を検索すると、接続が 2 つ見つかりますが、接続プロファイルの一致する 1 つのみが使用さ れます。
接続プロファイルの設定はオプションです。参加者が交換する文書のタイプに合わせて接続を 複数確立する必要がない場合には、このセクションを省略してください。
接続プロファイルを設定するには、以下のステップを実行します。
名前と説明 (説明を入力した場合) が「接続プロファイル・リスト (Connection Profile List)」ページに表示されます。
特定の交換のエンベロープに入れるトランザクションでは、「接続プロファイル修飾子 1」属性値を、同じ「修飾子 1」属性値を持つ接続プロファイルに対応するように指定することができます。「接続プロファイル修飾子 1」属性は、文書フロー定義のプロトコル・レベルで設定できます (例えば、「文書フロー定義の管理」画面で X12V5R1 プロトコルの属性を編集して、対応する「接続プロファイル修飾子 1」属性値をクリックすることによって、使用する接続プロファイルを示すように設定することができます )。この後、交換接続をアクティブ化したときに、「接続プロファイル」ボタンをクリックしてリストからプロファイルを選択することによって、接続プロファイルを関連付けます。
エンベローパーでは、エンベロープ内の交換、グループ、およびトランザクションに固有の番号付けを行うために、制御番号を使用しています。制御番号は、コミュニティー・マネージャーと参加者に対して設定されます。文書の交換が行われるときにも、参加者のペアに対して制御番号が生成されます。
EDI B2B 機能を備える参加者ごとに、制御番号用の一連の初期シード値があります。各値は、はじめて EDI 交換が作成されて参加者ペア間で送信されるときに使用されます。交換の送信先となる参加者に、この初期シード値が適用されます。参加者間で文書の送信が完了したら、最後に使用された番号を「現行制御番号」ページで参照できま す。 「トランザクション ID 別制御番号」を Y に設定している場合は、特定の参加者のペアに対していくつかの記入項目を作成してもかまいません。作成された記入項目は、新しい制御番号の生成に使用されます。
制御番号を初期化するときに、マスクを使用して、エンベローパーによる通常の制 御番号生成を変更できます。マスクは、交換またはグループの制御番号に基づいた制御番号を生成するために使用します。マスクとは、以下のようなものです。編集マスク内の「n」は、制御番号値の生成に使用するバイト数に置き換えてください。使用可能なコードの説明については、表 15 を参照してください。
コード | 制御番号 | 説明 |
---|---|---|
G | トランザクション | トランザクション制御番号は、グループ制御番号と同じです。グループごとに 1 つのトランザクションのみが許可されます。 |
Gn | トランザクション | グループ制御番号から n バイトが取得されます。残りのトランザクション制御番号には、その最大サイズまでゼロが埋め込まれます。グループごとに 1 つのトランザクションのみが許可されます。 |
C | グループ、トランザクション | グループまたはトランザクションの制御番号フィールドの残りのバイトが、この参加者の制御番号の保守に使用さ れます。 |
V | グループ、トランザクション | 先頭のグループまたはトランザクションの値が 1、2 番目の値が 2 という具合になるように、増分値が使用され ます。 |
Vn | トランザクション | 先頭のトランザクションの値が 1、2 番目の値が 2 という具合になるように、n バイトの長さの増分値が使用されます。 |
GnC | トランザクション | グループ制御番号から n バイトが取得され、トランザクション制御番号フィールドの残りのバイト が制御番号の保守に使用されます。残りの位置の数によって、制御番号の最大値が決まります。例えば、G5C の場合は 4 つの位置が残るので、最大値は 9999 になります。最大値に達すると、制御番号は 1 へと循環します。 |
GnV | トランザクション | グループ制御番号から n バイトが取得されます。トランザクション制御番号フィールドの残りのバイトでは、先頭のトランザクションの値が 1、2 番目の値が 2 という具合にな るように、増分値が使用されます。 |
GnVm | トランザクション | グループ制御番号から n バイトが取得されます。トランザクション制御番号フィールドの残りのバイトでは、最大 m バイトまで、先頭のトランザクションの値が 1、2 番目の値が 2 という具合になるように、増分値が使用されます。 |
I | グループ、トランザクション | グループまたはトランザクションの制御番号が、交換制御番号と同じである必要があります。交換では 1 つのグループのみが許可され、グループまたは交換では 1 つのトランザクションのみが許可されます。 |
In | グループ、トランザクション | 交換制御番号から n バイトが取得されます。残りのグループ制御番号またはトランザクション制御番号フィールドには、その最大サイズまでゼロが埋め込まれます。交換ごとに 1 つのグループのみが許可され、グループごとに 1 つのトランザクションのみが許可されます。 |
InC | グループ、トランザクション | 交換制御番号から n バイトが取得されます。グループまたはトランザクション制御番号フィールドの残りのバイトが、制御番号の保守に使用されます。残りの位置の数によって、制御番号の最大値が決まります。例えば、I5C の場合は 4 つの位置が残るので、最大値は 9999 になります。最大値に達すると、制御番号は 1 へと循環します。 |
InV | グループ、トランザクション | 交換制御番号から n バイトが取得されます。グループ制御番号またはトランザクション制御番号フィールドの残りのバイトでは、先頭のグループまたはトランザクションの値が 1、2 番目の値が 2 という具合になるように、増分値が使用されます。 |
InVm | トランザクション | 交換制御番号から n バイトが取得されます。トランザクション制御番号フィールドの残りのバイトでは、最大 m バイトまで、先頭のトランザクションの値が 1、2 番目の値が 2 という具合になるように、増分値が使用されます。 |
InGm | トランザクション | 交換制御番号から n バイトが取得され、グループ制御番号から最大で m バイトが取得されま す。n と m の合計が 9 を超える場合は、グループ制御番号から 9 - n バイトのみが取得されます。例えば、I4G6 の場合は、交換から 4 バイトが取得されます。 |
InGmC | トランザクション | 交換制御番号から n バイトが取得され、グループ制御番号から m バイトが取得されま す。トランザクション制御番号フィールドの残りのバイトが、制御番号の保守に使用されます。残りの位置の数によって、制御番号の最大値が決まります。例えば、I2G4C の場合は 3 つの位置が残るので、最大値は 999 になります。最大値に達すると、制御番号は 1 へと循環します。 |
InGmV | トランザクション | 交換制御番号から n バイトが取得され、グループ制御番号から m バイトが取得されま す。トランザクション制御番号フィールドの残りのバイトでは、先頭のトランザクションの値が 1、2 番目の値が 2 という具合にな るように、増分値が使用されます。 |
InGmVo | トランザクション | 交換制御番号から n バイトが取得され、グループ制御番号から m バイトが取得されま す。トランザクション制御番号フィールドの残りのバイトでは、最大 o バイトまで、先頭のトランザクションの値が 1、2 番目の値が 2 という具合になるように、増分値が使用されます。 |
エンベローパーが使用する制御番号を構成するには、以下のステップを実行します。
参加者ペアのデータがすでに制御テーブルに存在する場合は、制御番号生成を変更できます。以下の処理を実行できます。
どの参加者にどんな制御番号が割り当てられているのかを判断 するには、現行制御番号という機能を使用します。