EDI 環境の設定

前のセクションで触れたように、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 標準で回避していないかぎり、各トランザクションは同じエンベロープに包まれます。

デフォルト値の変更

エンベローパーのデフォルト値を変更するには、以下のステップを実行します。

  1. 「ハブ管理」>「ハブ構成」>「EDI」>「エンベローパー」をクリックします。
  2. 「編集」アイコンをクリックします。
  3. 「最大ロック時間 (秒)」属性 および「最大キュー存続期間 (秒)」属性に割り当てられている時間を増減 する場合は、新しい値を入力します。
    注: 通常は、デフォルト値を変更する必要はありません。
  4. バッチ・モードをオフにする場合は、「バッチ・モードの使用」の横にあるチ ェックを外します。
  5. 送信待機中のトランザクションをエンベローパーがチェックする回数を変更する場合は、以下の一連の作業のいずれかを実行し ます。
  6. 「保管」をクリックします。

エンベロープ・プロファイル

エンベロープ・プロファイルによって、エンベロープの特定のエレメントに配置される値が決まります。エンベロープ・プロファイルは、文書フロー定義の「エンベロープ・プロファイル」属性で EDI トランザクションに割り当てます。 WebSphere Partner Gateway には、サポートされている標準 (X12、EDIFACT、または UCS) ごとに定義済みのエンベロープ・プロ ファイルが用意されています。この定義済みの各エンベロープ・プロファイルを直接使用することも、変更することも、新しいエンベロープ・プ ロファイルにコピーすることもできます。エンベロープ・プロファイルを変更または作成するステップについては、デフォルト値の変更を参 照してください。

エンベロープ・プロファイルには、エンベロープ標準のエレメントごとに 1 つのフィールドがあります。また、プロファイルには、トランザクション集合、メッセージ、機能グループ、および交換のヘッダーまたはトレーラー・セグメントとなる リテラル・データまたは定数データを用意しておくことができます。ここで用意する値は、取り込む必要があり、かつ別のソースに用意されていない値のみにします。

フィールド名が、容易に相互参照できるように意図されています。例えば、UNB03 フィールドは UNB セグメントの 3 番目のデータ・エレメントです。

エンベロープ属性で説明しているように、エンベロープ・プロファイルで設定した値よりも、他 の場所で設定した属性の方が優先されます。属性の中には、文書フロー定義関連の属性またはマップでオーバーライドできるものもあります。

エンベロープ属性

エンベロープ属性は、構成プロセス中にいくつかの異なるポイントで設定することができます。また、文書に関連付けられた変換マ ップに設定することもできます。例えば、Data Interchange Services クライアントのマッピング担当者は、マップの定義時に CtlNumFlag プロパティーを指定できます。このプロパティーは、エンベロープ・プロファイルの一部として (「トランザクション ID 別制御番号」フィールドで) 設定することもできます。 変換マップで設定した属性は、Community Console で設定した関連する値よりも優先されます。例えば、変換マップで CtlNumFlag に N (いいえ) を設定し、「トランザクション ID 別制御番号」フィールドに Y (はい) の値を入力した場合、この項目の値として使用されるのは N の値です。

エンベロープ・プロファイルは、このほか、プロトコル・レベルで設定したり (参加者に関連付けられた「文書フロー定義の管理 」ページまたは「B2B 機能」ページ)、接続の一部として設定したりすることもできます。優先順位は、以下のようになっています。

  1. 変換マップで設定したプロパティーは、Community Console で設定した関連する属性よりも優先されます。
  2. 接続レベルで設定した属性は、B2B 機能レベルで設定した属性よりも優先されます。
  3. B2B 機能レベルで設定した属性は、文書フロー定義レベルで設定した属性よりも優先されます。
  4. どこで設定した属性も (変換マップ、文書フロー定義レベル、B2B 機能レベル、または接続レベル)、エンベロープ・プロファ イルで設定した値よりも優先されます。

変換マップのプロパティーおよび関連する Community Console 属性のリストに ついては、Data Interchange Services クライアント・プロパティーを参照してください。

デフォルト値の変更

エンベロープ・プロファイル属性では、プロファイルに値を入力しない場合やプロファイルを作成し ない場合に、EDI 標準の各エンベロープ属性で使用されるデフォルト値を表にまとめています。使用するエンベロープ・プロファイルに、実行時にシステムによって提供されない必須エレメントを必ず指定してください。

エンベロープ・プロファイルを設定するには、以下のステップを実行します。

  1. 「ハブ管理」>「ハブ構成」>「EDI」>「エンベロープ・プロファイル」の順にクリックします。
  2. 以下のステップのいずれかを実行します。
  3. デフォルトでは、「一般」ボタンが選択されています。ENVTYPE を除くどのフィールドにも値を入力できます。ENVTYPE には、ステップ 2d で選択した標準が事前に入力されています。

    値を追加できるフィールドは、次のとおりです。

    一般エンベロープ・プロファイルの上記の各フィールドは、3 つのどの標準でも同じです。ただし、EDIFACT にはもう 1 つ 別のフィールドがあります。「EDI 用のグループの作成」です。

    「一般」ページで何らかの変更を加えた場合は、「保管」をクリックします。

  4. 交換の値を指定するには、「交換」をクリックします。 新たに一連のフィールドがページに表示されます。表示されるフィールドは、EDI 標準によって異なります。一部のフィールドにはすでに値が入っており、また実行時に値が設定されるフィールドもあります。

    「交換」ページで何らかの変更を加えた場合は、「保管」をクリックします。

  5. 交換内のグループの値を指定するには、「グループ」をクリックします。新たに一連のフィールドが表示されます。表示されるフィールドは、EDI 標準によって異なります。

    このページの各フィールドでは、グループの送信側と受信側を定義するのが一般的です。

    「グループ」ページで何らかの変更を加えた場合は、「保管」をクリックします。

  6. グループ内のトランザクションの値を 指定するには、「トランザクション」をクリックします。ただし、EDIFACT の場合は「メッセージ」をクリックします。新たに一連のフィールドが表示されます。表示されるフィールドは、EDI 標準によって異なります。

    「トランザクション」ページで何らかの変更を加えた場合は、「保管」をクリックします。

  7. 「保管」をクリックします。
  8. ほかに定義または変更するエンベロープ・プロファイルがある場合は、そのプロファイルごとに、ステップ 2 から 7 を繰り返します。

定義したエンベロープ・プロファイルは、「エンベロープ・プロファイル」リストに表示されます。 このリストから、目的のプロファイルを選択し、「使用箇所」アイコンをクリックして、そのプ ロファイルを使用する接続を決定できます。

接続プロファイル

接続プロファイルは、エンベロープ解除されたトランザクションと併用する場合と、エンベローパー作成の EDI 交換と併用する場合があります。トランザクションの場合、接続プロファイルで、エンベロープ解除後にトランザクションをどのように処理するかを決定します。交換の場合、接続プロファイルでは交換をどのように配信するかを決定します。

以下の表は、接続プロファイルの属性、「接続プロファイルの詳細」ページの対応するフィールド名、および各属性を交換またはトランザクションのどちらに適用するのかを示しています。

表 14. 接続プロファイルの属性
属性 フィールド名 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. トランザクションに必要な 2 つの接続を確立します。どちらの接続でも、「宛先」側で「接続プロファイル修飾子 1」属性を設定します。この値は、分かりやすいものにしてください (例えば、ConNone や ConAS2 など)。
  2. 接続プロファイルを 2 つ定義します (例えば、CPNone および CPAS2)。各プロファイルでは、「修飾子 1」 の値を、ステップ 1 で設定した 「接続プロファイル修飾子 1」属性と一致する値 (ConNone および ConAS2) に設定します。
  3. 交換に必要な 2 つの接続を確立します。各接続では、ソース・パッケージ化は同じです (「N/A」) が、ターゲット・パッケージ化は異なります (「なし」および「AS2」)。接続プロファイル CPNone を持つ参加者接続では、ターゲット・ゲートウェイは、VAN に接続可能な FTP スクリプト記述ゲートウェイに設定されます。接続プロファイル CPAS2 を持つ参加者接続では、ターゲット・パッケージ化は AS に設定されます。
  4. 適切な接続プロファイルを各接続に関連付けます。

エンベローパーでは、参加者接続の「宛先」側の 「接続プロファイル修飾子 1」属性がエンベロープのブレークポイントとして使用されます。したがって、「接続プロファイル修飾子 1」属性の値が異なるトランザクションは、別々のエンベロープに入れられます。トランザクションに異なる値を設定した場合、エンベローパーは 840 トランザクションと 850 トランザクションを同じ交換にエンベロープすることはありません。

Document Manager が接続を検索すると、接続が 2 つ見つかりますが、接続プロファイルの一致する 1 つのみが使用さ れます。

接続プロファイルの設定

接続プロファイルの設定はオプションです。参加者が交換する文書のタイプに合わせて接続を 複数確立する必要がない場合には、このセクションを省略してください。

接続プロファイルを設定するには、以下のステップを実行します。

  1. 「ハブ管理」>「ハブ構成」>「EDI」>「接続プロファイル」をクリックします。
  2. 「接続プロファイルの作成」をクリックします。
  3. 「接続プロファイルの詳細」ページで、この接続プロファイルの名前を入力します (必須)。
  4. (オプション) 接続プロファイルの説明を入力します。

    名前と説明 (説明を入力した場合) が「接続プロファイル・リスト (Connection Profile List)」ページに表示されます。

  5. (オプション) 「修飾子 1」の値を入力します。この値によって、EDI 交換で使用する接続が決ま ります。「修飾子 1」の使用例については、交換を参照してください。
  6. (オプション) これがテスト、実動、または情報交換なのかを示す値を「EDI 使用タイプ」に入力します。「EDI 使用タイプ」の使用例については、トランザクションを参照してください。
  7. (オプション) グループの送信側に関連付けられたアプリケーションまたは 会社部門を示す値を「アプリケーション送信側 ID」に入力します。
  8. (オプション) グループの受信側に関連付けられたアプリケーションまたは会社部門を 示す値を「アプリケーション受信側 ID」に入力します。
  9. (オプション) アプリケーション送信側とアプリケーション受信側間でパスワードが必要な場合には、「パスワード」に値を入力します。
  10. 「保管」をクリックします。

特定の交換のエンベロープに入れるトランザクションでは、「接続プロファイル修飾子 1」属性値を、同じ「修飾子 1」属性値を持つ接続プロファイルに対応するように指定することができます。「接続プロファイル修飾子 1」属性は、文書フロー定義のプロトコル・レベルで設定できます (例えば、「文書フロー定義の管理」画面で X12V5R1 プロトコルの属性を編集して、対応する「接続プロファイル修飾子 1」属性値をクリックすることによって、使用する接続プロファイルを示すように設定することができます )。この後、交換接続をアクティブ化したときに、「接続プロファイル」ボタンをクリックしてリストからプロファイルを選択することによって、接続プロファイルを関連付けます。

制御番号

エンベローパーでは、エンベロープ内の交換、グループ、およびトランザクションに固有の番号付けを行うために、制御番号を使用しています。制御番号は、コミュニティー・マネージャーと参加者に対して設定されます。文書の交換が行われるときにも、参加者のペアに対して制御番号が生成されます。

EDI B2B 機能を備える参加者ごとに、制御番号用の一連の初期シード値があります。各値は、はじめて EDI 交換が作成されて参加者ペア間で送信されるときに使用されます。交換の送信先となる参加者に、この初期シード値が適用されます。参加者間で文書の送信が完了したら、最後に使用された番号を「現行制御番号」ページで参照できま す。 「トランザクション ID 別制御番号」Y に設定している場合は、特定の参加者のペアに対していくつかの記入項目を作成してもかまいません。作成された記入項目は、新しい制御番号の生成に使用されます。

制御番号を初期化するときに、マスクを使用して、エンベローパーによる通常の制 御番号生成を変更できます。マスクは、交換またはグループの制御番号に基づいた制御番号を生成するために使用します。マスクとは、以下のようなものです。編集マスク内の「n」は、制御番号値の生成に使用するバイト数に置き換えてください。使用可能なコードの説明については、表 15 を参照してください。

表 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 バイトが取得されま す。nm の合計が 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 という具合になるように、増分値が使用されます。

制御番号初期化

エンベローパーが使用する制御番号を構成するには、以下のステップを実行します。

  1. 「ハブ管理」>「ハブ構成」>「EDI」>「制御番号の初期化」をク リックします。
  2. 参加者の名前を入力して「検索」をクリックするか、または名前を入力しないで「検索」をクリックしてすべての参加者を表示します。「EDI 対応 (EDI-capable)」にチェック・マークを付けておくと、検索対象が EDI 文書 B2B 機能を備えた参加者に限定されます。このチェック・マークを外すと、すべての参加者が検索されます。
  3. 参加者の横にある「詳細の表示」アイコンをクリックします。
  4. 参加者の現行の制御番号割り当てが「制御番号構成の詳細」ページにリ ストされます (割り当てがある場合)。「編集」アイコンをクリックして、値を追加または変更します。
  5. 交換用の制御番号生成の初期化に使用する番号を「交換」の横に入力 (または変更) します。
  6. グループ用の制御番号生成の初期化に使用する番号を「グループ」の横に入力 (または変更) します。この方法以外に、「マスク」をクリックし、固定値ではなく、使用するマスクを入力することもで きます。
  7. トランザクション用の制御番号生成の初期化に使用する番号を「トランザクション」の横に 入力 (または変更) します。この方法以外に、「マスク」をクリックし、固定値ではなく、使用するマスクを入力することもで きます。
  8. 「保管」をクリックします。

現行の制御番号

参加者ペアのデータがすでに制御テーブルに存在する場合は、制御番号生成を変更できます。以下の処理を実行できます。

注: 制御番号生成をリセットしたり、グループまたはマスクを編集したりする ときには、番号の順序が崩れたり、制御番号の重複問題が発生したりしないように十分に注意してください。こうしたアクションを実行するのは、テスト段階のときか、パートナーから特に別の制御番号が要求された場合のみにする ことをお勧めします。

どの参加者にどんな制御番号が割り当てられているのかを判断 するには、現行制御番号という機能を使用します。

  1. 「ハブ管理」>「ハブ構成」>「EDI」>「現行制御番号」をクリックします。
  2. 以下のステップのいずれかを実行します。

Copyright IBM Corp. 2003, 2005