このサンプルは SAP ノードの 2 とおりの使い方を示します。 SAPInput ノードはブローカーのインバウンド・シナリオを表すために、SAPRequest ノードはブローカーのアウトバウンド・シナリオを表すために使用されます。
SAPInput ノードは SAP システムで出力される情報 (IDoc など) を取り込むために使用され、その情報はメッセージ・フローに渡して処理することができます。
下の図は、このサンプルで使用される SAP インバウンド・メッセージ・フローを示しています。
このサンプル・メッセージ・フローでは、メッセージは SAP の SAPInput ノードにより受信されます。 メッセージには MATMAS (品目マスター) IDoc が含まれます。受信されたメッセージは、そのままの状態で MQOutput キューに渡されます。
SAP Connectivity サンプルでは、以下のタスクを示します。
サンプルには、以下のものが含まれています。
SAPRequest ノードは SAP システムに情報を送信し、SAP からの応答を検索するために使用されます。 このサンプル・メッセージ・フローでは、SAPRequest ノードは SAP (BAPI) のリモート機能を呼び出すために使用されます。
下の図は、このサンプルで使用される 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 キューに送信されます。
サンプルを実行すると、以下のタスクが生じます。
サンプルには以下のリソースが含まれます。