SAP IDoc データを変換する WebSphere Message Broker の機能を使用するには、WebSphere Message Broker 内にある IDoc のセグメント・データをモデル化する必要があります。
SAP アプリケーションへ発信する、そしてそこから受信するメッセージは、IDoc パーサーによって処理されます。データを正しく解釈するためには、メッセージ・モデルを必要とします。 このトピックでは、メッセージ・モデルの作成方法について説明します。 あらかじめ作成されたサンプル版のメッセージ・モデルは、SupportPac IA0F です。
メッセージ・モデルを作成するには、以下の手順に従います。
IDoc パーサーは MRM パーサーを使用して、定義した IDoc セグメントを構文解析するので、 メッセージ・セットをブローカー・アーカイブ・ファイルに追加して、ブローカー実行グループにデプロイする必要があります。
IDoc を処理するメッセージ・フローを作成するとき、「ランタイム・パーサー」プロパティー、 メッセージ・セット名、およびカスタム・ワイヤー形式名が使用されます。 それらはそれぞれ、MQinput ノードの「メッセージ・ドメイン」、「メッセージ・セット」、および「メッセージ形式」プロパティーの値となります。 IDoc パーサーは SAP 定義の IDoc DD フィールド segnam の内容を使用してメッセージの名前を指定するので、MQInput ノードでは「メッセージ・タイプ」プロパティーを提供しないでください。
ESQL ステートメントの sdatatag タグまで進んだとき、 次のタグは手作業で入力する必要のある MRM であり、その次は操作対象となるフィールド名です。 ここには、メッセージ・セグメントの名前ではなく、メッセージ・セグメント内のフィールド名を指定します。
例えば、以下のコードは IDoc のセグメント名を設定します。
SET OutputRoot.IDOC.DD[I].segnam = 'E2MAKTM001';以下の例は、E2MAKTM001 セグメント内の msgfn フィールドを設定します。
SET OutputRoot.IDOC.DD[I].sdatatag.MRM.msgfn = '006';