SAP Connectivity サンプルについて

このサンプルは SAP ノードの 2 とおりの使い方を示します。 SAPInput ノードはブローカーのインバウンド・シナリオを表すために、SAPRequest ノードはブローカーのアウトバウンド・シナリオを表すために使用されます。

SAPInput ノード

SAPInput ノードは SAP システムで出力される情報 (IDoc など) を取り込むために使用され、その情報はメッセージ・フローに渡して処理することができます。

下の図は、このサンプルで使用される SAP インバウンド・メッセージ・フローを示しています。

SAP インバウンド・フローの画面取り

このサンプル・メッセージ・フローでは、メッセージは SAP の SAPInput ノードにより受信されます。 メッセージには MATMAS (品目マスター) IDoc が含まれます。受信されたメッセージは、そのままの状態で MQOutput キューに渡されます。

SAP Connectivity サンプルでは、以下のタスクを示します。

  1. ブローカー・エンドポイント (RFC プログラム ID) を定義するために SAP を構成する
  2. SAP システムと通信するためにブローカーの SAP アダプターを構成する
  3. 新しく構成したアダプターで、BAR ファイルを再ビルドする
  4. BAR ファイルをデプロイする
  5. ブローカーで取り込む IDoc を出力させるために SAP を開始する
  6. WebSphere MQ キューで出力データを参照する

サンプルには、以下のものが含まれています。

SAPRequest ノード

SAPRequest ノードは SAP システムに情報を送信し、SAP からの応答を検索するために使用されます。 このサンプル・メッセージ・フローでは、SAPRequest ノードは SAP (BAPI) のリモート機能を呼び出すために使用されます。

下の図は、このサンプルで使用される SAP アウトバウンド・メッセージ・フローを示しています。

SAP アウトバウンド・フローの画面取り

メッセージは SAP で Customer オブジェクトを作成するために必要なフィールドを含む MQInput ノードに送信されます。

最初の SAPRequest ノード「Create」は Customer Create BAPI (BAPI_CUSTOMER_CREATEFROMDATA1) を呼び出し、SAP から作成された Customer オブジェクトの固有 ID が戻ります。

Compute ノード「Set Update Msg」は前述の返された ID (顧客番号) を使用して、新しい「Customer」が更新されるようにメッセージを構成します。

2 番目の SAPRequest ノードである SAP Request: Update は、このデータを Customer Update BAPI (BAPI_CUSTOMER_CHANGEFROMDATA1) に送信し、SAP は戻りコードを返します。

Compute ノード「Set Retrieve Msg」は Customer ID を使用して、更新した Customer オブジェクトを返すよう SAP に要求するメッセージを構成します。

最後の SAPRequest ノードである SAP Request: Retrieve は、このデータを使用して Customer Retrieve BAPI (BAPI_CUSTOMER_GETDETAILS1) を呼び出し、SAP が返す Customer オブジェクトは WebSphere MQ キューに XML メッセージとして出力されます。

フローで問題が発生した場合、元のメッセージ・ヘッダーと例外リストのデータが XML メッセージに書き込まれ、失敗した WebSphere MQ キューに送信されます。

サンプルを実行すると、以下のタスクが生じます。

  1. SAP システムと通信するためにブローカーのアダプターを構成する
  2. 新しく構成したアダプターで、BAR ファイルを再ビルドする
  3. BAR ファイルをデプロイする
  4. フローを開始するために WebSphere MQ キューにデータを送信する
  5. WebSphere MQ キューで出力データを参照する

サンプルには以下のリソースが含まれます。

サンプルのホームに戻る