---
schema_version: "1"
id: 6ea6b689556bfbba1b49da10b3ab0e9bb8122b67e93434fe07eb7f07159c30d2
title: SAP Connector 5.8 の例
collection: mulesoft
version: current
locale: ja-jp
portal_url: https://docs.salesforce.com/mulesoft/current/ja-jp/sap-connector/5.8/sap-connector-examples.md
canonical_url: https://docs.mulesoft.com/jp/sap-connector/5.8/sap-connector-examples
source_site: docs.mulesoft.com
content_type: documentation
content_hash: 0f6b1552b2757f528fcfe1db77e91dbb4125fae3bfd2d45de3036f8efad74bde
description: MuleSoft Documentation Site
release: "5.8"
latest: false
---
# SAP Connector 5.8 の例

SAP Connector の Mule フローの例を示します。

- [SAP への IDoc の送信](#send-an-idoc-to-sap)
- [IDoc 要求を受信する](#receive-an-incoming-idoc-request)
- [SAP 関数を受信する](#receive-an-sap-function)
- [トランザクションの管理](#manage-transactions)
- [複数のゲートウェイの設定](#configure-multiple-gateways)

## [](#send-an-idoc-to-sap)SAP への IDoc の送信

この例は、IDoc を SAP に送信する Mule アプリケーションを作成する方法を示しています。次のスクリーンショットは、この例の Studio フローを示しています。

![IDoc を SAP に送信するための Studio フロー](/mulesoft/current/ja-jp/sap-connector/5.8/_images/sap-connector-example-send-idoc.png)

### [](#http-リスナーを設定する)HTTP リスナーを設定する

ローカルホストポート ​`8081`​ で ​`/sendIDoc`​ パスへのコールが行われたときに Mule フローを開始するように HTTP リスナーを設定します。

1. Anypoint Studio で、新しい Mule プロジェクトを作成します。
2. **\[Mule Palette (Mule パレット)\]**​ ビューから、​**\[HTTP\] > \[Listener\]**​ ソースをキャンバスにドラッグします。
3. デフォルト値を使用してグローバル要素を設定します。
4. **\[Listener (リスナー)\]**​ プロパティタブで、パスを ​`/sendIDoc`​ に設定します。

### [](#transform-message-コンポーネントを追加する)\[Transform Message\] コンポーネントを追加する

**\[Transform Message\]**​ コンポーネントで、IDoc 入力を XML に変換するように設定します。

1. **\[Mule Palette (Mule パレット)\]**​ ビューから、​**\[Core (コア)\]**​ を選択して ​**\[Transform Message\]**​ コンポーネントを ​**\[Listener\]**​ ソースの横にドラッグします。
2. メタデータが取得された後に、​**\[Transform Message\]**​ コンポーネントの ​**\[Output (出力)\]**​ セクションのテキストを次のテキストで上書きします。
    
    ```dataweave
    %dw 2.0
    output application/xml
    <MATMAS01>
    <IDOC BEGIN="1">
      <EDI_DC40 SEGMENT="1">
        <TABNAM>EDI_DC40</TABNAM>
        <MANDT>800</MANDT>
        <DOCNUM>0000000003519646</DOCNUM>
        <DOCREL>740</DOCREL>
        <STATUS>30</STATUS>
        <DIRECT>1</DIRECT>
        <OUTMOD>2</OUTMOD>
        <IDOCTYP>MATMAS01</IDOCTYP>
        <MESTYP>MATMAS</MESTYP>
        <SNDPOR>SAPIDE</SNDPOR>
        <SNDPRT>LS</SNDPRT>
        <SNDPRN>T90CLNT090</SNDPRN>
        <RCVPOR>MULE01_TP</RCVPOR>
        <RCVPRT>LS</RCVPRT>
        <RCVPRN>MULE01_LS</RCVPRN>
        <CREDAT>20180606</CREDAT>
        <CRETIM>133420</CRETIM>
        <SERIAL>20180606133420</SERIAL>
      </EDI_DC40>
      <E1MARAM SEGMENT="1">
        <MSGFN>005</MSGFN>
        <MATNR>000000000000000088</MATNR>
        <ERSDA>19970527</ERSDA>
        <ERNAM>MORLEY</ERNAM>
        <LAEDA>20030122</LAEDA>
        <AENAM>I021066</AENAM>
        <PSTAT>KVB</PSTAT>
        <LVORM>X</LVORM>
        <MTART>FERT</MTART>
        <MBRSH>M</MBRSH>
        <MATKL>02004</MATKL>
        <MEINS>PCE</MEINS>
        <BLANZ>000</BLANZ>
        <BRGEW>0.200</BRGEW>
        <NTGEW>0.200</NTGEW>
        <GEWEI>KGM</GEWEI>
        <VOLUM>0.000</VOLUM>
        <TRAGR>0001</TRAGR>
        <SPART>09</SPART>
        <WESCH>0.000</WESCH>
        <LAENG>0.000</LAENG>
        <BREIT>0.000</BREIT>
        <HOEHE>0.000</HOEHE>
        <ERGEW>0.000</ERGEW>
        <ERVOL>0.000</ERVOL>
        <GEWTO>0.0</GEWTO>
        <VOLTO>0.0</VOLTO>
        <FUELG>0</FUELG>
        <STFAK>0</STFAK>
        <MHDRZ>0</MHDRZ>
        <MHDHB>0</MHDHB>
        <MHDLP>0</MHDLP>
        <VPSTA>KVB</VPSTA>
        <MSTDE>00000000</MSTDE>
        <MSTDV>00000000</MSTDV>
        <COMPL>00</COMPL>
        <GEWTO_NEW>0.0</GEWTO_NEW>
        <VOLTO_NEW>0.0</VOLTO_NEW>
        <ANP>000000000</ANP>
        <E1MAKTM SEGMENT="1">
          <MSGFN>005</MSGFN>
          <SPRAS>1</SPRAS>
          <MAKTX>AS-100 T-shirt</MAKTX>
          <SPRAS_ISO>ZH</SPRAS_ISO>
        </E1MAKTM>
        <E1MAKTM SEGMENT="1">
          <MSGFN>005</MSGFN>
          <SPRAS>4</SPRAS>
          <MAKTX>AS-100 T-shirt</MAKTX>
          <SPRAS_ISO>RO</SPRAS_ISO>
        </E1MAKTM>
        <E1MAKTM SEGMENT="1">
          <MSGFN>005</MSGFN>
          <SPRAS>5</SPRAS>
          <MAKTX>AS-100 T-shirt</MAKTX>
          <SPRAS_ISO>SL</SPRAS_ISO>
        </E1MAKTM>
        <E1MAKTM SEGMENT="1">
          <MSGFN>005</MSGFN>
          <SPRAS>6</SPRAS>
          <MAKTX>AS-100 T-shirt</MAKTX>
          <SPRAS_ISO>HR</SPRAS_ISO>
        </E1MAKTM>
        <E1MAKTM SEGMENT="1">
          <MSGFN>005</MSGFN>
          <SPRAS>E</SPRAS>
          <MAKTX>AS-100 T-shirt</MAKTX>
          <SPRAS_ISO>EN</SPRAS_ISO>
        </E1MAKTM>
        <E1MAKTM SEGMENT="1">
          <MSGFN>005</MSGFN>
          <SPRAS>F</SPRAS>
          <MAKTX>AS-100 T-shirt</MAKTX>
          <SPRAS_ISO>FR</SPRAS_ISO>
        </E1MAKTM>
        <E1MAKTM SEGMENT="1">
          <MSGFN>005</MSGFN>
          <SPRAS>G</SPRAS>
          <MAKTX>AS-100 T-shirt</MAKTX>
          <SPRAS_ISO>EL</SPRAS_ISO>
        </E1MAKTM>
        <E1MAKTM SEGMENT="1">
          <MSGFN>005</MSGFN>
          <SPRAS>J</SPRAS>
          <MAKTX>AS-100 T ???</MAKTX>
          <SPRAS_ISO>JA</SPRAS_ISO>
        </E1MAKTM>
        <E1MAKTM SEGMENT="1">
          <MSGFN>005</MSGFN>
          <SPRAS>W</SPRAS>
          <MAKTX>AS-100 T-shirt</MAKTX>
          <SPRAS_ISO>BG</SPRAS_ISO>
        </E1MAKTM>
        <E1MAKTM SEGMENT="1">
          <MSGFN>005</MSGFN>
          <SPRAS>d</SPRAS>
          <MAKTX>AS-100 T-shirt</MAKTX>
          <SPRAS_ISO>SH</SPRAS_ISO>
        </E1MAKTM>
        <E1MARCM SEGMENT="1">
          <MSGFN>005</MSGFN>
          <WERKS>1000</WERKS>
          <PSTAT>V</PSTAT>
          <LVORM>X</LVORM>
          <PLIFZ>0</PLIFZ>
          <WEBAZ>0</WEBAZ>
          <PERKZ>M</PERKZ>
          <AUSSS>0.00</AUSSS>
          <MINBE>0.000</MINBE>
          <EISBE>0.000</EISBE>
          <BSTMI>0.000</BSTMI>
          <BSTMA>0.000</BSTMA>
          <BSTFE>0.000</BSTFE>
          <BSTRF>0.000</BSTRF>
          <MABST>0.000</MABST>
          <LOSFX>0</LOSFX>
          <AUSDT>00000000</AUSDT>
          <BEARZ>0.00</BEARZ>
          <RUEZT>0.00</RUEZT>
          <TRANZ>0.00</TRANZ>
          <BASMG>0.000</BASMG>
          <DZEIT>0</DZEIT>
          <MAXLZ>0</MAXLZ>
          <UEETO>0.0</UEETO>
          <UNETO>0.0</UNETO>
          <WZEIT>0</WZEIT>
          <VZUSL>0.00</VZUSL>
          <UMLMC>0.000</UMLMC>
          <LGRAD>0.0</LGRAD>
          <OBJID>00000000</OBJID>
          <MTVFP>01</MTVFP>
          <VRVEZ>0.00</VRVEZ>
          <VBAMG>0.000</VBAMG>
          <VBEAZ>0.00</VBEAZ>
          <TRAME>0.000</TRAME>
          <FXHOR>000</FXHOR>
          <VINT1>000</VINT1>
          <VINT2>000</VINT2>
          <LOSGR>0.000</LOSGR>
          <KAUSF>0.00</KAUSF>
          <TAKZT>0</TAKZT>
          <VRBDT>00000000</VRBDT>
          <VRBFK>0.00</VRBFK>
          <PREND>00000000</PREND>
          <PRENG>00000000</PRENG>
          <PRFRQ>0</PRFRQ>
          <SHZET>00</SHZET>
          <MMSTD>00000000</MMSTD>
          <DPLHO>0</DPLHO>
          <MINLS>0.000</MINLS>
          <MAXLS>0.000</MAXLS>
          <FIXLS>0.000</FIXLS>
          <LTINC>0.000</LTINC>
          <COMPL>00</COMPL>
          <EISLO>0.000</EISLO>
        </E1MARCM>
        <E1MARCM SEGMENT="1">
          <MSGFN>005</MSGFN>
          <WERKS>2300</WERKS>
          <PSTAT>VB</PSTAT>
          <LVORM>X</LVORM>
          <PLIFZ>0</PLIFZ>
          <WEBAZ>0</WEBAZ>
          <PERKZ>M</PERKZ>
          <AUSSS>0.00</AUSSS>
          <MINBE>0.000</MINBE>
          <EISBE>0.000</EISBE>
          <BSTMI>0.000</BSTMI>
          <BSTMA>0.000</BSTMA>
          <BSTFE>0.000</BSTFE>
          <BSTRF>0.000</BSTRF>
          <MABST>0.000</MABST>
          <LOSFX>0</LOSFX>
          <AUSDT>00000000</AUSDT>
          <BEARZ>0.00</BEARZ>
          <RUEZT>0.00</RUEZT>
          <TRANZ>0.00</TRANZ>
          <BASMG>0.000</BASMG>
          <DZEIT>0</DZEIT>
          <MAXLZ>0</MAXLZ>
          <UEETO>0.0</UEETO>
          <UNETO>0.0</UNETO>
          <WZEIT>0</WZEIT>
          <VZUSL>0.00</VZUSL>
          <UMLMC>0.000</UMLMC>
          <LADGR>0001</LADGR>
          <LGRAD>0.0</LGRAD>
          <OBJID>00000000</OBJID>
          <MTVFP>01</MTVFP>
          <VRVEZ>0.00</VRVEZ>
          <VBAMG>0.000</VBAMG>
          <VBEAZ>0.00</VBEAZ>
          <TRAME>0.000</TRAME>
          <FXHOR>000</FXHOR>
          <VINT1>000</VINT1>
          <VINT2>000</VINT2>
          <LOSGR>0.000</LOSGR>
          <KAUSF>0.00</KAUSF>
          <TAKZT>0</TAKZT>
          <VRBDT>00000000</VRBDT>
          <VRBFK>0.00</VRBFK>
          <PRENO>00000000</PRENO>
          <PREND>00000000</PREND>
          <PRENG>00000000</PRENG>
          <PRFRQ>0</PRFRQ>
          <SHZET>00</SHZET>
          <MMSTD>00000000</MMSTD>
          <DPLHO>0</DPLHO>
          <MINLS>0.000</MINLS>
          <MAXLS>0.000</MAXLS>
          <FIXLS>0.000</FIXLS>
          <LTINC>0.000</LTINC>
          <COMPL>00</COMPL>
          <EISLO>0.000</EISLO>
        </E1MARCM>
        <E1MARMM SEGMENT="1">
          <MSGFN>005</MSGFN>
          <MEINH>PCE</MEINH>
          <UMREZ>1</UMREZ>
          <UMREN>1</UMREN>
          <LAENG>0.000</LAENG>
          <BREIT>0.000</BREIT>
          <HOEHE>0.000</HOEHE>
          <VOLUM>0.000</VOLUM>
          <BRGEW>0.200</BRGEW>
          <GEWEI>KGM</GEWEI>
          <NEST_FTR>0</NEST_FTR>
          <MAX_STACK>0</MAX_STACK>
          <CAPAUSE>0.000</CAPAUSE>
        </E1MARMM>
        <E1MBEWM SEGMENT="1">
          <MSGFN>005</MSGFN>
          <BWKEY>2300</BWKEY>
          <LVORM>X</LVORM>
          <VPRSV>S</VPRSV>
          <VERPR>0</VERPR>
          <STPRS>0.3</STPRS>
          <PEINH>1</PEINH>
          <BKLAS>7920</BKLAS>
          <VMVPR>S</VMVPR>
          <VMVER>0</VMVER>
          <VMSTP>0.3</VMSTP>
          <VMPEI>1</VMPEI>
          <VMBKL>7920</VMBKL>
          <VJVPR>S</VJVPR>
          <VJVER>0</VJVER>
          <VJSTP>0.3</VJSTP>
          <LFGJA>1998</LFGJA>
          <LFMON>09</LFMON>
          <ZKPRS>0</ZKPRS>
          <ZKDAT>00000000</ZKDAT>
          <BWPRS>0</BWPRS>
          <BWPRH>0</BWPRH>
          <VJBWS>0</VJBWS>
          <VJBWH>0</VJBWH>
          <VVJLB>0.000</VVJLB>
          <VVMLB>0.000</VVMLB>
          <VVSAL>0</VVSAL>
          <ZPLPR>0</ZPLPR>
          <ZPLP1>0</ZPLP1>
          <ZPLP2>0</ZPLP2>
          <ZPLP3>0</ZPLP3>
          <ZPLD1>00000000</ZPLD1>
          <ZPLD2>00000000</ZPLD2>
          <ZPLD3>00000000</ZPLD3>
          <BWPH1>0</BWPH1>
          <BWPS1>0</BWPS1>
          <ABWKZ>00</ABWKZ>
          <PSTAT>B</PSTAT>
          <KALN1>000100014878</KALN1>
          <KALNR>000100014879</KALNR>
          <VERS1>00</VERS1>
          <VERS2>00</VERS2>
          <VERS3>00</VERS3>
          <PPRDZ>000</PPRDZ>
          <PPRDL>000</PPRDL>
          <PPRDV>000</PPRDV>
          <PDATZ>0000</PDATZ>
          <PDATL>0000</PDATL>
          <PDATV>0000</PDATV>
          <VPLPR>0</VPLPR>
          <VJBKL>7920</VJBKL>
          <VJPEI>1</VJPEI>
          <HKMAT>X</HKMAT>
          <BWPEI>0</BWPEI>
        </E1MBEWM>
        <E1MLANM SEGMENT="1">
          <MSGFN>005</MSGFN>
          <ALAND>ES</ALAND>
          <TATY1>MWST</TATY1>
          <TAXM1>0</TAXM1>
        </E1MLANM>
      </E1MARAM>
    </IDOC>
    </MATMAS01>
    ',"application/xml")
    ```

### [](#send-idoc-操作を追加する)Send IDoc 操作を追加する

**Send IDoc**​ 操作は、リモート関数コール (RFC) を介して IDoc を SAP に送信します。

1. **\[Mule Palette (Mule パレット)\]**​ ビューから、​**\[SAP\]**​ を選択して ​**\[Send IDoc\]**​ 操作を ​**\[Transform Message\]**​ コンポーネントの横にドラッグします。
2. `SAP_Outbound`​ というグローバル要素を作成し、接続情報を指定します。
3. **\[Test Connection (接続をテスト)\]**​ をクリックして、Mule Runtime Engine が SAP インスタンスに接続できることを確認します。
    
    - 正常に接続できた場合は、設定を保存します。
    - それ以外の場合、無効なパラメーターを確認および修正して、再度テストします。
4. **\[Send IDoc\]**​ のプロパティに次の値を設定します。
    
    <table class="tableblock frame-all grid-all stretch">
<colgroup>
<col style="width: 40%;">
<col style="width: 60%;">
</colgroup>
<thead>
<tr>
<th class="tableblock halign-left valign-top">項目</th>
<th class="tableblock halign-left valign-top">値</th>
</tr>
</thead>
<tbody>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock"><strong>IDoc Name (IDoc 名)</strong></p></td>
<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
<p><code>MATMAS01</code></p>
</div></div></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock"><strong>Content (コンテンツ)</strong></p></td>
<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
<p><code>#[payload]</code></p>
</div></div></td>
</tr>
</tbody>
</table>

### [](#logger-コンポーネントを追加する)Logger コンポーネントを追加する

**\[Logger\]**​ コンポーネントは Studio コンソールにコネクタのペイロードを表示します。

1. **\[Mule Palette (Mule パレット)\]**​ ビューから、​**\[Core (コア)\]**​ を選択して ​**\[Logger\]**​ を ​**\[Send IDoc\]**​ 操作の横にドラッグします。
2. **\[File (ファイル)\]**​ > ​**\[Save (保存)\]**​ をクリックして、アプリケーションを保存します。

### [](#アプリケーションを実行する)アプリケーションを実行する

Mule アプリケーションを実行する手順は、次のとおりです。

1. **\[Run (実行)\]**​ > ​**\[Run as (別のユーザーとして実行)\]**​ > ​**\[Mule Application (Mule アプリケーション)\]**​ をクリックします。
2. Web ブラウザーから、次の URL のクエリパラメーターとして、従業員の内部 ID、名、姓を入力してアプリケーションをテストします。
    
    `http://localhost:8081/sendIDoc`
    
    Mule によって IDoc が SAP に送信されます。

### [](#idoc-を-sap-に送信する-xml)IDoc を SAP に送信する XML

Studio で次のコードを新しい Mule アプリケーションに貼り付ければ、IDoc を送信するフローの例をすばやく読み込むことができます。環境に合わせて値を変更してください。

```xml
<?xml version="1.0" encoding="UTF-8"?>
<mule xmlns:ee="http://www.mulesoft.org/schema/mule/ee/core" xmlns:sap="http://www.mulesoft.org/schema/mule/sap"
	xmlns:http="http://www.mulesoft.org/schema/mule/http"
	xmlns="http://www.mulesoft.org/schema/mule/core" xmlns:doc="http://www.mulesoft.org/schema/mule/documentation" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.mulesoft.org/schema/mule/core http://www.mulesoft.org/schema/mule/core/current/mule.xsd
http://www.mulesoft.org/schema/mule/http http://www.mulesoft.org/schema/mule/http/current/mule-http.xsd
http://www.mulesoft.org/schema/mule/sap http://www.mulesoft.org/schema/mule/sap/current/mule-sap.xsd
http://www.mulesoft.org/schema/mule/ee/core http://www.mulesoft.org/schema/mule/ee/core/current/mule-ee.xsd">
  <http:listener-config name="HTTP_Listener_config" doc:name="HTTP Listener config" doc:id="58cb7168-7f00-4b96-977a-31dcc54992dd" >
    <http:listener-connection host="0.0.0.0" port="8081" />
    </http:listener-config>
    <sap:sap-config name="SAP_Outbound" doc:name="SAP Config" doc:id="367ae57d-001b-4d8f-b50f-f6d1d17410a7" >
      <sap:simple-connection-provider-connection username="User1" password="myPassword" systemNumber="00" client="800" applicationServerHost="saptext.net" />
      </sap:sap-config>
      <flow name="sap_send_idocFlow" doc:id="1ee42fb2-8d7d-482d-8f31-095cef12ff08" >
        <http:listener doc:name="Listener" doc:id="a1f287ba-4138-4183-903b-90d34abde5c6" config-ref="HTTP_Listener_config" path="/"/>
        <ee:transform doc:name="Transform Message" doc:id="ae593540-a467-463f-9aae-fbfb781da0cd" >
          <ee:message >
            <ee:set-payload >
              <![CDATA[%dw 2.0
output application/xml
---
read('<MATMAS01>
              <IDOC BEGIN="1">
                <EDI_DC40 SEGMENT="1">
                  <TABNAM>EDI_DC40</TABNAM>
                  <MANDT>800</MANDT>
                  <DOCNUM>0000000003519646</DOCNUM>
                  <DOCREL>740</DOCREL>
                  <STATUS>30</STATUS>
                  <DIRECT>1</DIRECT>
                  <OUTMOD>2</OUTMOD>
                  <IDOCTYP>MATMAS01</IDOCTYP>
                  <MESTYP>MATMAS</MESTYP>
                  <SNDPOR>SAPIDE</SNDPOR>
                  <SNDPRT>LS</SNDPRT>
                  <SNDPRN>T90CLNT090</SNDPRN>
                  <RCVPOR>MULE01_TP</RCVPOR>
                  <RCVPRT>LS</RCVPRT>
                  <RCVPRN>MULE01_LS</RCVPRN>
                  <CREDAT>20180606</CREDAT>
                  <CRETIM>133420</CRETIM>
                  <SERIAL>20180606133420</SERIAL>
                </EDI_DC40>
              </IDOC>
              </MATMAS01>
',"application/xml") ]]>
              </ee:set-payload>
              </ee:message>
              </ee:transform>
              <sap:send doc:name="Send IDoc" doc:id="9d6b0825-7cfb-4c3b-bc6a-b9eae917af9b" config-ref="SAP_Outbound" key="MATMAS01"/>
              <logger level="INFO" doc:name="Logger" doc:id="8fd50dd8-8db4-4271-863b-ef7a463dcaea" />
            </flow>
            </mule>
```

## [](#receive-an-incoming-idoc-request)IDoc 要求を受信する

この例は、外部 SAP からの受信 IDoc 要求を待機する Mule アプリケーションを作成する方法を示しています。この例でアプリケーションは RFC サーバーのように機能し、自身を SAP ゲートウェイとして登録します。アプリケーションは IDoc 要求を受信すると、リモート関数コール (RFC) コールを使用して SAP に IDoc の作成を要求します。その後、IDoc コンテンツを Studio コンソールに記録します。

次のスクリーンショットは、この例の Studio フローを示しています。

![IDoc を受信するための Studio フロー](/mulesoft/current/ja-jp/sap-connector/5.8/_images/sap-connector-example-receive-idoc-flow.png)

### [](#最初のフローを設定する)最初のフローを設定する

最初のフローでは BAPI 関数を使用して IDoc 要求を外部 SAP システムに送信します。このフローを設定する手順は、次のとおりです。

1. Anypoint Studio で、新しい Mule プロジェクトを作成します。
2. **\[Mule Palette (Mule パレット)\]**​ ビューから、​**\[HTTP\]**​ を選択して ​**\[Listener\]**​ ソースをキャンバスにドラッグします。
3. デフォルト値を使用してグローバル要素を設定します。
4. **\[Listener (リスナー)\]**​ プロパティタブで、パスを ​`/trigger`​ に設定します。
5. **\[Transform message\]**​ コンポーネントを ​**\[Listener\]**​ の横にドラッグします。
    
    このメッセージのコンテンツは、IDoc 要求を受信する BAPI 関数のペイロードです。
6. **\[Transform Message\]**​ コンポーネントの ​**\[Output (出力)\]**​ セクションで、括弧を次のテキストで上書きします。
    
    ```dataweave
    %dw 2.0
    output application/xml
    ---
    {
    	ZMMFM_TRIGGER_IDOC_MATMAS: {
    		"import": {
    	IV_MTYP: "MATMAS"
    ,
    IV_OBJ: "23"
    ,
    IV_SYS: "MULE11_LS"
    }
    ,
    export: {
    	EV_RET: "0"
    },export: {
    	EV_OBJ: "0000000003526552"
    },export: null,changing: null,
    tables: {
    	T_MSG: null
    },
    	}
    }
    ```
7. **\[Mule Palette (Mule パレット)\]**​ ビューから、​**\[SAP\]**​ を選択して ​**\[Synchronous Remote Function Call\]**​ 操作を ​**\[Transform Message\]**​ コンポーネントの横にドラッグします。
8. `SAP_Config`​ というグローバル要素を作成し、接続情報を指定します。
9. **\[Test Connection (接続をテスト)\]**​ をクリックして、Mule Runtime Engine が SAP インスタンスに接続できることを確認します。

### [](#2-番目のフローを設定する)2 番目のフローを設定する

2 番目のフローは新しい各 IDoc 要求を Studio コンソールに記録します。このフローを設定する手順は、次のとおりです。

1. **\[Mule Palette (Mule パレット)\]**​ ビューから、​**\[SAP\]**​ を選択して ​**\[Document listener\]**​ ソースをキャンバスにドラッグします。
2. ソースの新しいグローバル要素を作成し、必須情報を指定します。
    
    **\[Document listener\]**​ のプロパティに次の値を設定します。
    
    <table class="tableblock frame-all grid-all stretch">
<colgroup>
<col style="width: 40%;">
<col style="width: 60%;">
</colgroup>
<thead>
<tr>
<th class="tableblock halign-left valign-top">項目</th>
<th class="tableblock halign-left valign-top">値</th>
</tr>
</thead>
<tbody>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock"><strong>Gateway host (ゲートウェイホスト)</strong></p></td>
<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
<p>ゲートウェイサーバーを実行するホスト</p>
</div></div></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock"><strong>Gateway service (ゲートウェイサービス)</strong></p></td>
<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
<p><code>3200</code></p>
</div></div></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock"><strong>Program id (プログラム ID)</strong></p></td>
<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
<p><code>MULE01_PID</code></p>
</div></div></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock"><strong>Connection count (接続数)</strong></p></td>
<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
<p><code>1</code></p>
</div></div></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock"><strong>Idoc type filter regex (Idoc 種別検索条件の正規表現)</strong></p></td>
<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
<p><code>MATMAS01</code></p>
</div></div></td>
</tr>
</tbody>
</table>
    
    <table>
<tbody><tr>
<td class="icon">
<i class="fa icon-note" title="Note"></i>
</td>
<td class="content">
<div class="paragraph">
<p><strong>[Gateway host (ゲートウェイホスト)]</strong>​、​<strong>[Gateway service (ゲートウェイサービス)]</strong>​、​<strong>[Program id (プログラム ID)]</strong>​ は、顧客の SAP チームから取得する必要があります。</p>
</div>
<div class="paragraph">
<p>SAP インスタンスに関連するすべての情報 (設定やログイン情報など) を顧客の SAP チームから取得する必要があります。</p>
</div>
</td>
</tr>
</tbody></table>
3. **\[Mule Palette (Mule パレット)\]**​ ビューから、​**\[Core (コア)\]**​ を選択して ​**\[Logger\]**​ コンポーネントをキャンバス上の ​**\[Document listener\]**​ の横にドラッグします。
4. **\[File (ファイル)\]**​ > ​**\[Save (保存)\]**​ をクリックして、アプリケーションを保存します。

### [](#アプリケーションを実行する-2)アプリケーションを実行する

Mule アプリケーションを実行する手順は、次のとおりです。

1. **\[Run (実行)\]**​ > ​**\[Run as (別のユーザーとして実行)\]**​ > ​**\[Mule Application (Mule アプリケーション)\]**​ をクリックします。
2. Web ブラウザーから次の URL を入力してアプリケーションをテストします。
    
    `http://localhost:8081/trigger`

### [](#idoc-要求を受信する-xml)IDoc 要求を受信する XML

Studio で次のコードを新しい Mule アプリケーションに貼り付ければ、IDoc 要求を受信するフローの例をすばやく読み込むことができます。環境に合わせて値を変更してください。

```dataweave
%dw 2.0
output application/xml
---
<?xml version="1.0" encoding="UTF-8"?>
            <mule xmlns:ee="http://www.mulesoft.org/schema/mule/ee/core" xmlns:http="http://www.mulesoft.org/schema/mule/http"
	xmlns:sap="http://www.mulesoft.org/schema/mule/sap"
	xmlns="http://www.mulesoft.org/schema/mule/core" xmlns:doc="http://www.mulesoft.org/schema/mule/documentation" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.mulesoft.org/schema/mule/core http://www.mulesoft.org/schema/mule/core/current/mule.xsd
http://www.mulesoft.org/schema/mule/sap http://www.mulesoft.org/schema/mule/sap/current/mule-sap.xsd
http://www.mulesoft.org/schema/mule/http http://www.mulesoft.org/schema/mule/http/current/mule-http.xsd
http://www.mulesoft.org/schema/mule/ee/core http://www.mulesoft.org/schema/mule/ee/core/current/mule-ee.xsd">
              <http:listener-config name="HTTP_Listener_config" doc:name="HTTP Listener config" doc:id="75b36b20-040b-401f-a65c-f0a966b51190" >
                <http:listener-connection host="0.0.0.0" port="8081" />
                </http:listener-config>
                <sap:sap-config name="SAP_Config" doc:name="SAP Config" doc:id="1f7e7c6e-4bb5-4270-870f-442cda3e3eb8" >
                  <sap:simple-connection-provider-connection username="User1" password="myPassword" systemNumber="00" client="800" applicationServerHost="sap.test.net" />
                  </sap:sap-config>
                  <flow name="sap-receive-idocFlow1" doc:id="bea8cd17-64d9-4f32-8229-d7eb909e8ee1">
                    <http:listener doc:name="Listener" doc:id="448acc4a-0078-485b-bc10-f70d05abf721" config-ref="HTTP_Listener_config" path="/trigger" />
                    <ee:transform doc:name="Transform Message" doc:id="44124bf5-7caf-4050-a3a6-06cfbd37da48">
                      <ee:message>
                        <ee:set-payload>
                          <![CDATA[%dw 2.0
output application/xml
---
{
	ZMMFM_TRIGGER_IDOC_MATMAS: {
		"import": {
	IV_MTYP: "MATMAS"
,
IV_OBJ: "23"
,
IV_SYS: "MULE11_LS"
}
,
export: {
	EV_RET: "0"
},export: {
	EV_OBJ: "0000000003526552"
},export: null,changing: null,
tables: {
	T_MSG: null
},
	}
}]]>
                          </ee:set-payload>
                          </ee:message>
                          </ee:transform>
                          <sap:sync-rfc doc:name="Synchronous Remote Function Call" doc:id="e420d5e1-c436-471e-aa48-59a7d2cee1b9" key="ZCAFM_TRIGGER_IDOC_BY_MSG_TYPE" config-ref="SAP_Config" />
                        </flow>
                        <flow name="sap-receive-idocFlow2" doc:id="4b070ed0-19ac-4899-82ce-275226b08426" >
                          <sap:document-listener doc:name="Document listener" doc:id="a0d3bf88-1bf1-4210-9cf1-5403f30b2d80" gatewayHost="xxx.com" gatewayService="3200" programID="MULE11_IDOC_PID"  config-ref="SAP_Config"/>
                          <logger level="INFO" doc:name="Logger" doc:id="db7ff63b-31b7-48ab-b0ad-73082f4b66c7" message="#[payload]"/>
                        </flow>
                        </mule>
```

Studio コンソールでの応答例

```dataweave
<MATMAS01>
                        <IDOC BEGIN="1">
                          <EDI_DC40 SEGMENT="1">
                            <TABNAM>EDI_DC40</TABNAM>
                            <MANDT>800</MANDT>
                            <DOCNUM>0000000003572826</DOCNUM>
                            <DOCREL>740</DOCREL>
                            <STATUS>30</STATUS>
                            <DIRECT>1</DIRECT>
                            <OUTMOD>2</OUTMOD>
                            <IDOCTYP>MATMAS01</IDOCTYP>
                            <MESTYP>MATMAS</MESTYP>
                            <SNDPOR>SAPIDE</SNDPOR>
                            <SNDPRT>LS</SNDPRT>
                            <SNDPRN>T90CLNT090</SNDPRN>
                            <RCVPOR>MULE11_TP</RCVPOR>
                            <RCVPRT>LS</RCVPRT>
                            <RCVPRN>MULE11_LS</RCVPRN>
                            <CREDAT>20191004</CREDAT>
                            <CRETIM>050305</CRETIM>
                            <SERIAL>20191004050305</SERIAL>
                            </EDI_DC40>
 		...
```

## [](#receive-an-sap-function)SAP 関数を受信する

この例は、SAP 関数を受信する Mule アプリケーションを作成する方法を示しています。この例では、関数が別の Mule フローまたは SAP の GUI からトリガーされたときに結果を表示します。次のスクリーンショットは、この例の Studio フローを示しています。

![SAP 接続を確立するための Studio フロー](/mulesoft/current/ja-jp/sap-connector/5.8/_images/sap-connector-example-establish-connection.png)

フローを作成する手順は、次のとおりです。

1. \[Mule Palette (Mule パレット)\] ビューから、​**\[SAP\]**​ を選択して ​**\[Function listener\]**​ ソースをキャンバスにドラッグします。
2. `SAP_Inbound`​ というグローバル要素を作成し、接続情報を指定します。
3. プロパティタブで必須項目を設定します。
4. **\[Mule Palette (Mule パレット)\]**​ ビューで ​**\[Core (コア)\]**​ を選択して ​**\[Transform Message\]**​ コンポーネントを ​**\[Function listener\]**​ の右側にドラッグします。
5. メタデータに基づいて詳細を指定します。次に例を示します。
    
    ![SAP\_Inbound グローバル要素のメタデータの例](/mulesoft/current/ja-jp/sap-connector/5.8/_images/sap-function-return-response.png)
6. **\[File (ファイル)\] > \[Save (保存)\]**​ をクリックして、アプリケーションを保存します。
7. **\[Run (実行)\]**​ > ​**\[Run as (別のユーザーとして実行)\]**​ > ​**\[Mule Application (Mule アプリケーション)\]**​ をクリックします。

### [](#sap-関数を受信する-xml)SAP 関数を受信する XML

Studio で次のコードを新しい Mule アプリケーションに貼り付ければ、関数を受信するフローの例をすばやく読み込むことができます。環境に合わせて値を変更してください。

```dataweave
%dw 2.0
output application/xml
---

<?xml version="1.0" encoding="UTF-8"?>
                            <mule xmlns:ee="http://www.mulesoft.org/schema/mule/ee/core" xmlns:sap="http://www.mulesoft.org/schema/mule/sap"
	xmlns="http://www.mulesoft.org/schema/mule/core"
	xmlns:doc="http://www.mulesoft.org/schema/mule/documentation" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.mulesoft.org/schema/mule/core http://www.mulesoft.org/schema/mule/core/current/mule.xsd
http://www.mulesoft.org/schema/mule/sap http://www.mulesoft.org/schema/mule/sap/current/mule-sap.xsd
http://www.mulesoft.org/schema/mule/ee/core http://www.mulesoft.org/schema/mule/ee/core/current/mule-ee.xsd">
                              <sap:sap-config name="SAP_Inbound" doc:name="SAP Config" doc:id="9eb4758e-4eb4-4291-9604-84586dda5cd3" >
                                <sap:simple-connection-provider-connection username="User1" password="Password" systemNumber="00" client="800" applicationServerHost="sapdev.muletest.net" />
                                </sap:sap-config>
                                <flow name="receive-a-functionFlow" doc:id="5104aaba-944d-4b8b-ba35-fc210e1f2c4e" >
                                  <sap:function-listener doc:name="Function listener" doc:id="58ee92ea-967f-4a9c-a14d-164032b1b8ee" config-ref="SAP_Inbound" gatewayHost="gateway.host.com" gatewayService="3200" programID="MULE01_API_PID"/>
                                  <ee:transform doc:name="Transform Message" doc:id="59b4c48f-40ca-4587-80e3-f06d895e1c5b" >
                                    <ee:message >
                                      <ee:set-payload >
                                        <![CDATA[%dw 2.0
output application/java
---
{
}]]>
                                        </ee:set-payload>
                                        </ee:message>
                                        </ee:transform>
                                      </flow>
                                      </mule>
```

## [](#manage-transactions)トランザクションの管理

この例では、銀行レコードを処理する標準 BAPI で 2 つのコールを実行し、それらのトランザクションを管理します。

次のスクリーンショットは、この例の Studio フローを示しています。

![トランザクションを管理する最初の Studio フロー](/mulesoft/current/ja-jp/sap-connector/5.8/_images/managetransactions-flow1.png)

![トランザクションを管理する 2 番目の Studio フロー](/mulesoft/current/ja-jp/sap-connector/5.8/_images/managetransactions-flow2.png)

![トランザクションを管理する 3 番目の Studio フロー](/mulesoft/current/ja-jp/sap-connector/5.8/_images/managetransactions-flow3.png)

### [](#最初のフローを設定する-2)最初のフローを設定する

最初のフローは、米国の利用可能な銀行のリストを取得して、最初の結果を絞り込み、銀行に関する情報をフェッチします。SAP に対するクエリでは、トランザクションは必要ありません。このフローを設定する手順は、次のとおりです。

1. Anypoint Studio で、新しい Mule プロジェクトを作成します。
2. **\[Mule Palette (Mule パレット)\]**​ ビューから、​**\[HTTP\]**​ を選択して ​**\[Listener\]**​ ソースをキャンバスにドラッグします。
3. デフォルト値を使用してグローバル要素を設定します。
4. **\[Listener (リスナー)\]**​ プロパティタブで、パスを ​`/sync-rfc`​ に設定します。
5. **\[Transform message\]**​ コンポーネントを ​**\[Listener\]**​ の横にドラッグします。
    
    このメッセージのコンテンツにより、国で銀行が絞り込まれます。
6. **\[Transform Message\]**​ コンポーネントの ​**\[Output (出力)\]**​ セクションで、括弧を次のテキストで上書きします。
    
    %dw 2.0
    output application/xml
    ---
    {
    	BAPI\_BANK\_GETLIST: {
    		"import": {
    			BANK\_CTRY: "US",
    			MAX\_ROWS: 0
    		}
    	}
    }
7. **\[Mule Palette (Mule パレット)\]**​ ビューから、​**\[SAP\]**​ を選択して ​**\[Synchronous Remote Function Call\]**​ 操作を ​**\[Transform Message\]**​ コンポーネントの横にドラッグします。
8. `SAP_Config`​ というグローバル要素を作成し、接続情報を指定します。
9. **\[Test Connection (接続をテスト)\]**​ をクリックして、Mule Runtime Engine が SAP インスタンスに接続できることを確認します。
10. **\[Function Name (関数名)\]**​ に「​`BAPI_BANK_GETLIST`​」と入力し、​**\[Content (コンテンツ)\]**​ に「​`payload`​」と入力します。
11. 別の ​**\[Transform Message\]**​ コンポーネントを ​**\[Synchronous Remote Function Call\]**​ の横にドラッグします。
    
    このメッセージのコンテンツにより、最初の結果が絞り込まれます。
12. **\[Transform Message\]**​ コンポーネントの ​**\[Output (出力)\]**​ セクションで、括弧を次のテキストで上書きします。
    
    %dw 2.0
    output application/xml
    ---
    {
    	BAPI\_BANK\_GETDETAIL: {
    		"import" : {
    			BANKCOUNTRY: payload.BAPI\_BANK\_GETLIST.tables.BANK\_LIST.\*row\[0\].BANK\_CTRY,
    			BANKKEY: payload.BAPI\_BANK\_GETLIST.tables.BANK\_LIST.\*row\[0\].BANK\_KEY
    		}
    	}
    }
13. **\[Mule Palette (Mule パレット)\]**​ ビューから、​**\[SAP\]**​ を選択して別の ​**\[Synchronous Remote Function Call\]**​ 操作を ​**\[Transform Message\]**​ コンポーネントの横にドラッグします。
14. `SAP_Config`​ というグローバル要素を作成し、接続情報を指定します。
15. **\[Test Connection (接続をテスト)\]**​ をクリックして、Mule Runtime Engine が SAP インスタンスに接続できることを確認します。
16. **\[Function Name (関数名)\]**​ に「​`"BAPI_BANK_GETDETAIL"`​」と入力し、​**\[Content (コンテンツ)\]**​ に「​`payload`​」と入力します。
17. **\[Mule Palette (Mule パレット)\]**​ ビューから、​**\[Core (コア)\]**​ を選択して ​**\[Logger\]**​ コンポーネントを ​**\[Synchronous Remote Function Call\]**​ の横にドラッグします。

### [](#2-番目のフローを設定する-2)2 番目のフローを設定する

2 番目のフローは、データから販売注文を作成します。​`try`​ を BAPI コールに追加して、トランザクションを作成する必要があります。そのようにしないと、変更が SAP に反映されません。このフローを設定する手順は、次のとおりです。

1. **\[Mule Palette (Mule パレット)\]**​ ビューから、​**\[HTTP\]**​ を選択して ​**\[Listener\]**​ ソースをキャンバスにドラッグします。
2. デフォルト値を使用してグローバル要素を設定します。
3. **\[Listener (リスナー)\]**​ プロパティタブで、パスを ​`/sync-mule-transaction`​ に設定します。
4. **\[Transform message\]**​ コンポーネントを ​**\[Listener\]**​ の横にドラッグします。
    
    このメッセージのコンテンツにより、データから販売注文が作成されます。
5. **\[Transform Message\]**​ コンポーネントの ​**\[Output (出力)\]**​ セクションで、括弧を次のテキストで上書きします。
    
    %dw 2.0
    output application/xml
    ---
    {
    	BAPI\_SALESORDER\_CREATEFROMDAT2: {
    		"import": {
    			ORDER\_HEADER\_IN: {
    				DOC\_TYPE: "TA",
    				SALES\_ORG: "3000",
    				DISTR\_CHAN: "10",
    				DIVISION: "00"
    			},
    			ORDER\_HEADER\_INX: {
    				DOC\_TYPE: "X",
    				SALES\_ORG: "X",
    				DISTR\_CHAN: "X",
    				DIVISION: "X"
    			}
    		},
    		tables: {
    			ORDER\_ITEMS\_IN: {
    				row: {
    					ITM\_NUMBER: "000010",
    					MATERIAL: "000000000050066128" as Number as String {format: "000000000000000000"},
    					PLANT: "3000",
    					TARGET\_QTY: "1"
    				}
    			},
    			ORDER\_ITEMS\_INX: {
    				row: {
    					ITM\_NUMBER: "000010",
    					MATERIAL: "X",
    					PLANT: "X",
    					TARGET\_QTY: "X"
    				}
    			},
    			ORDER\_PARTNERS: {
    				row: {
    					PARTN\_ROLE: "WE",
    					PARTN\_NUMB: "0000000448"
    				}
    			},
    			ORDER\_SCHEDULES\_IN: {
    				row: {
    					ITM\_NUMBER: "000010",
    					SCHED\_LINE: "0001",
    					REQ\_QTY: "1"
    				}
    			},
    			ORDER\_SCHEDULES\_INX: {
    				row: {
    					ITM\_NUMBER: "000010",
    					SCHED\_LINE: "0001",
    					REQ\_QTY: "X"
    				}
    			}
    		}
    	}
    }
6. **\[Mule Palette (Mule パレット)\]**​ ビューから、​**\[SAP\]**​ を選択して ​**\[Synchronous Remote Function Call\]**​ 操作を ​**\[Transform Message\]**​ コンポーネントの横にドラッグします。
7. `SAP_Config`​ というグローバル要素を作成し、接続情報を指定します。
8. **\[Test Connection (接続をテスト)\]**​ をクリックして、Mule Runtime Engine が SAP インスタンスに接続できることを確認します。
9. **\[Function Name (関数名)\]**​ に「​`BAPI_SALESORDER_CREATEFROMDAT2`​」と入力し、​**\[Content (コンテンツ)\]**​ に「​`payload`​」と入力します。
10. **\[Mule Palette (Mule パレット)\]**​ ビューから ​**\[Core (コア)\]**​ を選択して ​**\[On Error Continue\]**​ コンポーネントを ​**\[Synchronous Remote Function Call\]**​ の下にドラッグします。
11. **\[Mule Palette (Mule パレット)\]**​ ビューから、​**\[Core (コア)\]**​ を選択して ​**\[Logger\]**​ コンポーネントを ​**\[On Error Continue\]**​ にドラッグします。
12. **\[Mule Palette (Mule パレット)\]**​ ビューから、​**\[Core (コア)\]**​ を選択して別の ​**\[Logger\]**​ コンポーネントを ​**\[Synchronous Remote Function Call\]**​ の横にドラッグします。
13. **\[Message (メッセージ)\]**​ に「​`payload.BAPI_SALESORDER_CREATEFROMDAT2.export.SALESDOCUMENT`​」と入力します。

### [](#3-番目のフローを設定する)3 番目のフローを設定する

3 番目のフローは、トランザクション ID を作成してリストを取得します。非同期コールでは、応答を想定していないため、トランザクションを管理する別の方法が必要になります。特定の操作を使用して、非同期コールのトランザクションを管理します。このフローを設定する手順は、次のとおりです。

1. **\[Mule Palette (Mule パレット)\]**​ ビューから、​**\[HTTP\]**​ を選択して ​**\[Listener\]**​ ソースをキャンバスにドラッグします。
2. デフォルト値を使用してグローバル要素を設定します。
3. **\[Listener (リスナー)\]**​ プロパティタブで、パスを ​`/async-rfc`​ に設定します。
4. **\[Mule Palette (Mule パレット)\]**​ ビューから、​**\[SAP\]**​ を選択して ​**\[Start SAP transaction\]**​ 操作を ​**\[Listener\]**​ の横にドラッグします。
5. `SAP_Config`​ というグローバル要素を作成し、接続情報を指定します。
6. **\[Test Connection (接続をテスト)\]**​ をクリックして、Mule Runtime Engine が SAP インスタンスに接続できることを確認します。
7. **\[Mule Palette (Mule パレット)\]**​ ビューから、​**\[Core (コア)\]**​ を選択して ​**\[Set Variable\]**​ トランスフォーマーを ​**\[Start SAP transaction\]**​ の横にドラッグします。
8. **\[Name (名前)\]**​ に「​`createdTransactionId`​」と入力し、​**\[値 (コンテンツ)\]**​ に「​`payload`​」と入力します。
9. **\[Transform message\]**​ コンポーネントを ​**\[Set Variable\]**​ の横にドラッグします。
    
    このメッセージのコンテンツにより、銀行のリストが取得されます。
10. **\[Transform Message\]**​ コンポーネントの ​**\[Output (出力)\]**​ セクションで、括弧を次のテキストで上書きします。
    
    %dw 2.0
    output application/xml
    ---
    %dw 2.0
    output application/xml
    ---
    {
    	BAPI\_BANK\_GETLIST: {
    		"import": {
    			BANK\_CTRY: "US",
    			MAX\_ROWS: 0
    		}
    	}
    }
11. **\[Mule Palette (Mule パレット)\]**​ ビューから、​**\[SAP\]**​ を選択して ​**\[Asynchronous Remote Function Call\]**​ 操作を ​**\[Transform Message\]**​ の横にドラッグします。
12. `SAP_Config`​ というグローバル要素を作成し、接続情報を指定します。
13. **\[Test Connection (接続をテスト)\]**​ をクリックして、Mule Runtime Engine が SAP インスタンスに接続できることを確認します。
14. **\[Function Name (関数名)\]**​ に「​`"BAPI_BANK_GETLIST"`​」と入力し、​**\[Content (コンテンツ)\]**​ に「​`payload`​」と入力します。
15. **\[Mule Palette (Mule パレット)\]**​ ビューから、​**\[SAP\]**​ を選択して ​**\[Confirm transaction\]**​ 操作を ​**\[Asynchronous Remote Function Call\]**​ の横にドラッグします。
16. `SAP_Config`​ というグローバル要素を作成し、接続情報を指定します。
17. **\[Test Connection (接続をテスト)\]**​ をクリックして、Mule Runtime Engine が SAP インスタンスに接続できることを確認します。
18. **\[Transaction ID (TID) (トランザクション ID (TID))\]**​ に「​`vars.createdTransactionId`​」と入力します。

### [](#アプリケーションを実行する-3)アプリケーションを実行する

Mule アプリケーションを実行する手順は、次のとおりです。

1. **\[Run (実行)\]**​ > ​**\[Run as (別のユーザーとして実行)\]**​ > ​**\[Mule Application (Mule アプリケーション)\]**​ をクリックします。
2. Web ブラウザーから次の URL を入力して最初のフローをテストします。
    
    `http://localhost:8081/sync-rfc`
    
    次のような要求の XML 出力が表示されます。
    
    ```dataweave
    <BAPI_BANK_GETDETAIL>
        <import>
            <BANKCOUNTRY>US</BANKCOUNTRY>
            <BANKKEY>021000089</BANKKEY>
        </import>
        <export>
            <BANK_ADDRESS>
                <BANK_NAME>Citibank</BANK_NAME>
                <REGION>NY</REGION>
                <STREET>Park Avenue</STREET>
                <CITY>New York</CITY>
                <SWIFT_CODE>CITIUSXX</SWIFT_CODE>
                <BANK_GROUP/>
                <POBK_CURAC/>
                <BANK_NO>021000089</BANK_NO>
                <POST_BANK/>
                <BANK_BRANCH>Manhattan</BANK_BRANCH>
                <ADDR_NO/>
            </BANK_ADDRESS>
            <BANK_DETAIL>
            <CREAT_DATE>2005-03-11</CREAT_DATE>
            <CREATOR>C5031845</CREATOR>
            <METHOD/>
            <FORMATTING/>
            <BANK_DELETE/>
            <IBAN_RULE/>
            <B2B_SUPPORTED>0</B2B_SUPPORTED>
            <COR1_SUPPORTED>0</COR1_SUPPORTED>
            <R_TRANSACTION_SUPPORTED>0</R_TRANSACTION_SUPPORTED>
            </BANK_DETAIL>
            <RETURN>
                <TYPE/>
                <ID/>
                <NUMBER>000</NUMBER>
                <MESSAGE/>
                <LOG_NO/>
                <LOG_MSG_NO>000000</LOG_MSG_NO>
                <MESSAGE_V1/>
                <MESSAGE_V2/>
                <MESSAGE_V3/>
                <MESSAGE_V4/>
                <PARAMETER/>
                <ROW>0</ROW>
                <FIELD/>
                <SYSTEM/>
            </RETURN>
        </export>
    </BAPI_BANK_GETDETAIL>
    ```
3. Web ブラウザーから次の URL を入力して 2 番目のフローをテストします。
    
    `http://localhost:8081/sync-mule-transaction`
    
    次のような要求の XML 出力が表示されます。
    
    ```dataweave
    <BAPI_SALESORDER_CREATEFROMDAT2>
        <import>
        <BEHAVE_WHEN_ERROR/>
        <BINARY_RELATIONSHIPTYPE/>
        <CONVERT/>
        <INT_NUMBER_ASSIGNMENT/>
        <LOGIC_SWITCH>
        <PRICING/>
        <ATP_WRKMOD/>
        <SCHEDULING/>
        <NOSTRUCTURE/>
        <COND_HANDL/>
        <ADDR_CHECK/>
        </LOGIC_SWITCH>
        <ORDER_HEADER_IN>
        <REFOBJTYPE/>
        <REFOBJKEY/>
        <REFDOCTYPE/>
        <DOC_TYPE>TA</DOC_TYPE>
        <COLLECT_NO/>
        <SALES_ORG>3000</SALES_ORG>
        <DISTR_CHAN>10</DISTR_CHAN>
        <DIVISION>00</DIVISION>
        <SALES_GRP/>
        <SALES_OFF/>
        <REQ_DATE_H/>
        ....................
    
        <row id="2">
        <TYPE>S</TYPE>
        <ID>V1</ID>
        <NUMBER>311</NUMBER>
        <MESSAGE>Standard Order 23669 has been saved</MESSAGE>
        <LOG_NO/>
        <LOG_MSG_NO>000000</LOG_MSG_NO>
        <MESSAGE_V1>Standard Order</MESSAGE_V1>
        <MESSAGE_V2>23669</MESSAGE_V2>
        <MESSAGE_V3/>
        <MESSAGE_V4/>
        <PARAMETER>SALES_HEADER_IN</PARAMETER>
        <ROW>0</ROW>
        <FIELD/>
        <SYSTEM>T90CLNT090</SYSTEM>
        </row>
        </RETURN>
        </tables>
    </BAPI_SALESORDER_CREATEFROMDAT2>
    ```
4. Web ブラウザーから次の URL を入力して 3 番目のフローをテストします。
    
    `http://localhost:8081/async-rfc`
    
    次のような要求の XML 出力が表示されます。
    
    ```dataweave
    <BAPI_BANK_GETLIST>
        <import>
            <BANK_CTRY>US</BANK_CTRY>
            <MAX_ROWS>0</MAX_ROWS>
        </import>
    </BAPI_BANK_GETLIST>
    ```

### [](#トランザクションを管理するための-xml)トランザクションを管理するための XML

トランザクションの管理の例のフローをすばやく読み込むには、Studio で次のコードを新しい Mule アプリケーションに貼り付けます。環境に合わせて値を変更してください。

```xml
<?xml version="1.0" encoding="UTF-8"?>

<mule xmlns:ee="http://www.mulesoft.org/schema/mule/ee/core"
	xmlns:sap="http://www.mulesoft.org/schema/mule/sap" xmlns:http="http://www.mulesoft.org/schema/mule/http"
	xmlns="http://www.mulesoft.org/schema/mule/core"
	xmlns:doc="http://www.mulesoft.org/schema/mule/documentation" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="
http://www.mulesoft.org/schema/mule/ee/core http://www.mulesoft.org/schema/mule/ee/core/current/mule-ee.xsd http://www.mulesoft.org/schema/mule/core http://www.mulesoft.org/schema/mule/core/current/mule.xsd
http://www.mulesoft.org/schema/mule/http http://www.mulesoft.org/schema/mule/http/current/mule-http.xsd
http://www.mulesoft.org/schema/mule/sap http://www.mulesoft.org/schema/mule/sap/current/mule-sap.xsd">
	<configuration-properties file="mule-artifact.properties"/>
	<http:listener-config name="HTTP_Listener_config" doc:name="HTTP Listener config" doc:id="b89c52ef-8c07-4788-b87e-4c698d718341" >
		<http:listener-connection host="0.0.0.0" port="8081" />
	</http:listener-config>
	  <sap:sap-config name="SAP_Config" doc:name="SAP Config" doc:id="90c5a950-aefd-4fba-9e28-db3fa29767bb">
        <sap:simple-connection-provider-connection username="${sap.jcoUser}" password="${sap.jcoPasswd}"
                                                   systemNumber="${sap.jcoSysnr}" client="${sap.jcoClient}"
                                                   applicationServerHost="${sap.jcoAsHost}"/>
    </sap:sap-config>
	<flow name="bapi-srfc" doc:id="26ade074-48b4-47bb-a8e9-ca040034dee6" >
		<http:listener doc:name="Listener" doc:id="16a60ec9-f1c9-4a07-9a02-e7fcbb185a12" config-ref="HTTP_Listener_config" path="/sync-rfc"/>
				<ee:transform doc:name="Filter by country" doc:id="f285db36-da88-4e96-b7e6-c92acf4a8e5b" >
			<ee:message >
				<ee:set-payload ><![CDATA[%dw 2.0
output application/xml
---
{
	BAPI_BANK_GETLIST: {
		"import": {
			BANK_CTRY: "US",
			MAX_ROWS: 0
		}
	}
}]]></ee:set-payload>
			</ee:message>
		</ee:transform>
		<sap:sync-rfc doc:name="Synchronous Remote Function Call" doc:id="cd5a8815-c5be-4bcc-aaf5-77c90090d124" config-ref="SAP_Config" key="BAPI_BANK_GETLIST"/>
		<ee:transform doc:name="Filter first result" doc:id="55eecae1-4e9a-4e5b-93f2-1633bf14dbc9" >
			<ee:message >
				<ee:set-payload ><![CDATA[%dw 2.0
output application/xml
---
{
	BAPI_BANK_GETDETAIL: {
		"import" : {
			BANKCOUNTRY: payload.BAPI_BANK_GETLIST.tables.BANK_LIST.*row[0].BANK_CTRY,
			BANKKEY: payload.BAPI_BANK_GETLIST.tables.BANK_LIST.*row[0].BANK_KEY
		}
	}
}]]></ee:set-payload>
			</ee:message>
		</ee:transform>
		<sap:sync-rfc doc:name="Synchronous Remote Function Call" doc:id="10404fb9-f887-4cea-9a64-32f8559814d2" config-ref="SAP_Config" key='#["BAPI_BANK_GETDETAIL"]'/>
		<logger level="INFO" doc:name="Logger" doc:id="f65b06a8-ff33-4906-9bd0-6c3895e5e0cf" message="#[payload]"/>
		</flow>
		<flow name="bapi-mule-transaction" doc:id="f47687b3-6e2b-4c22-b4b1-900f9ac5a078" >
		<http:listener doc:name="Listener" doc:id="c16d6ef3-4601-4260-b82f-37f35540fdd3" config-ref="HTTP_Listener_config" path="/sync-mule-transaction"/>
		<ee:transform doc:name="Transform Message" doc:id="5b07e4f5-12bb-4ed2-941f-599789e5e04f">
			<ee:message>
				<ee:set-payload><![CDATA[%dw 2.0
output application/xml
---
{
	BAPI_SALESORDER_CREATEFROMDAT2: {
		"import": {
			ORDER_HEADER_IN: {
				DOC_TYPE: "TA",
				SALES_ORG: "3000",
				DISTR_CHAN: "10",
				DIVISION: "00"
			},
			ORDER_HEADER_INX: {
				DOC_TYPE: "X",
				SALES_ORG: "X",
				DISTR_CHAN: "X",
				DIVISION: "X"
			}
		},
		tables: {
			ORDER_ITEMS_IN: {
				row: {
					ITM_NUMBER: "000010",
					MATERIAL: "000000000050066128" as Number as String {format: "000000000000000000"},
					PLANT: "3000",
					TARGET_QTY: "1"
				}
			},
			ORDER_ITEMS_INX: {
				row: {
					ITM_NUMBER: "000010",
					MATERIAL: "X",
					PLANT: "X",
					TARGET_QTY: "X"
				}
			},
			ORDER_PARTNERS: {
				row: {
					PARTN_ROLE: "WE",
					PARTN_NUMB: "0000000448"
				}
			},
			ORDER_SCHEDULES_IN: {
				row: {
					ITM_NUMBER: "000010",
					SCHED_LINE: "0001",
					REQ_QTY: "1"
				}
			},
			ORDER_SCHEDULES_INX: {
				row: {
					ITM_NUMBER: "000010",
					SCHED_LINE: "0001",
					REQ_QTY: "X"
				}
			}
		}
	}
}]]></ee:set-payload>
			</ee:message>
		</ee:transform>
		<try doc:name="Try" doc:id="a5e37154-87b2-495a-9576-509d21d2d234" transactionalAction="ALWAYS_BEGIN">
			<sap:sync-rfc doc:name="Synchronous Remote Function Call" doc:id="8af8b804-57d2-4b44-a0d2-7a50d7018573" config-ref="SAP_Config" key="BAPI_SALESORDER_CREATEFROMDAT2"/>
			<error-handler>
				<on-error-continue enableNotifications="true" logException="true" doc:name="On Error Continue" doc:id="144141a8-7941-41f3-837b-40a2e25905be">
					<logger level="INFO" doc:name="Logger" doc:id="50a3d4c1-1a01-4a8b-ac9d-cdb354ec8ddb" message="Bapi Error" />
				</on-error-continue>
			</error-handler>
		</try>
		<logger level="INFO" doc:name="Logger" doc:id="36097fa1-0a5d-44fc-9432-b0ef048a85c7" message="#[payload.BAPI_SALESORDER_CREATEFROMDAT2.export.SALESDOCUMENT]"/>
	</flow>
	<flow name="async-rfc" doc:id="ba757987-1e8c-47d5-8168-23043948ae8f" >
		<http:listener doc:name="Listener" doc:id="ee6d3bf1-3474-4d38-80f9-2651f374d876" config-ref="HTTP_Listener_config" path="/async-rfc"/>
		<sap:create-transaction-id doc:name="Start SAP transaction" doc:id="3bfd77a6-3397-45cb-b9c6-6450f3f010c8" config-ref="SAP_Config"/>
		<set-variable value="#[payload]" doc:name="Set Variable" doc:id="a20de9fb-61ec-4d90-8da7-fee910da7d49" variableName="createdTransactionId"/>
		<ee:transform doc:name="Transform Message" doc:id="7c000a34-c035-470b-8ff3-546e8156ece4" >
			<ee:message >
				<ee:set-payload ><![CDATA[%dw 2.0
output application/xml
---
{
	BAPI_BANK_GETLIST: {
		"import": {
			BANK_CTRY: "US",
			MAX_ROWS: 0
		}
	}
}]]></ee:set-payload>
			</ee:message>
		</ee:transform>
		<sap:async-rfc doc:name="Asynchronous Remote Function Call" doc:id="a45ec861-be1b-4c16-8d3e-ef83dab24cea" config-ref="SAP_Config" key='#["BAPI_BANK_GETLIST"]' transactionId="#[vars.createdTransactionId]"/>
		<sap:confirm-transaction-id doc:name="Confirm transaction" doc:id="939e882d-9416-40c0-8b5d-85871e264aa6" config-ref="SAP_Config" transactionId="#[vars.createdTransactionId]"/>
	</flow>
</mule>
```

## [](#configure-multiple-gateways)複数のゲートウェイの設定

この例では、1 つのゲートウェイ接続ではなく、負荷を分散してパフォーマンスを向上させるために複数のゲートウェイ接続を使用して、メッセージサーバーを設定する Mule アプリケーションを作成する方法を示します。

次のスクリーンショットは、この例の Studio フローを示しています。

![複数のゲートウェイを使用してメッセージサーバーを設定するための Studio フロー](/mulesoft/current/ja-jp/sap-connector/5.8/_images/sap-multiple-gateways.png)

### [](#最初のフローを設定する-3)最初のフローを設定する

最初のフローは、メッセージサーバーを ​**Document listener**​ ソースに渡します。このフローを設定する手順は、次のとおりです。

1. Anypoint Studio で、新しい Mule プロジェクトを作成します。
2. **\[Mule Palette (Mule パレット)\]**​ ビューから、​**\[SAP\]**​ を選択して ​**\[Document listener\]**​ ソースをキャンバスにドラッグします。
3. **Document listener**​ ソースのグローバル要素を設定し、必須項目に入力します。
4. **\[Document listener\]**​ プロパティタブで、次の項目を設定します。
    
    <table class="tableblock frame-all grid-all stretch">
<colgroup>
<col style="width: 40%;">
<col style="width: 60%;">
</colgroup>
<thead>
<tr>
<th class="tableblock halign-left valign-top">項目</th>
<th class="tableblock halign-left valign-top">値</th>
</tr>
</thead>
<tbody>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock"><strong>Gateway host (ゲートウェイホスト)</strong></p></td>
<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
<p><code>54.160.77.19</code></p>
</div></div></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock"><strong>Gateway service (ゲートウェイサービス)</strong></p></td>
<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
<p><code>3300</code></p>
</div></div></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock"><strong>Program id (プログラム ID)</strong></p></td>
<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
<p><code>MULE11_IDOC_PID</code></p>
</div></div></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock"><strong>Connection count (接続数)</strong></p></td>
<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
<p><code>1</code></p>
</div></div></td>
</tr>
</tbody>
</table>
5. **\[Mule Palette (Mule パレット)\]**​ ビューから、​**\[Core (コア)\]**​ を選択して ​**\[Logger\]**​ コンポーネントをキャンバス上の ​**\[Document listener\]**​ の横にドラッグします。

### [](#2-番目のフローを設定する-3)2 番目のフローを設定する

2 番目のフローは、最初の個別のゲートウェイをトリガーします。このフローを設定する手順は、次のとおりです。

1. **\[Mule Palette (Mule パレット)\]**​ ビューから、​**\[HTTP\] > \[Listener\]**​ ソースをキャンバスにドラッグします。
2. デフォルト値を使用してグローバル要素を設定します。
3. **\[Listener (リスナー)\]**​ プロパティタブで、パスを ​`/C`​ に設定します。
4. **\[Mule Palette (Mule パレット)\]**​ ビューから、​**\[Core (コア)\]**​ を選択して ​**\[Transform Message\]**​ コンポーネントを ​**\[Listener\]**​ ソースの横にドラッグします。
5. **\[Transform Message\]**​ コンポーネントの ​**\[Output (出力)\]**​ セクションで、括弧を次のテキストで上書きします。
    
    %dw 2.0
    output application/xml
    ---
    {
      ZMMFM\_TRIGGER\_IDOC\_MATMAS: {
        "import": {
      IV\_MTYP: "MATMAS"
    ,
    IV\_OBJ: "23"
    ,
    IV\_SYS: "MULE11\_LS"
    }
    ,
    export: {
      EV\_RET: "0"
    },export: {
      EV\_OBJ: "0000000003526552"
    },export: null,changing: null,
    tables: {
      T\_MSG: null
    },
      }
    }
6. **\[Mule Palette (Mule パレット)\]**​ ビューから、​**\[SAP\]**​ を選択して ​**\[Synchronous Remote Function Call\]**​ 操作をキャンバスにドラッグします。
7. **Synchronous Remote Function Call**​ 操作のグローバル要素を設定し、必須項目に入力します。
8. **\[Synchronous Remote Function Call\]**​ プロパティタブで、次の項目を設定します。
    
    <table class="tableblock frame-all grid-all stretch">
<colgroup>
<col style="width: 40%;">
<col style="width: 60%;">
</colgroup>
<thead>
<tr>
<th class="tableblock halign-left valign-top">項目</th>
<th class="tableblock halign-left valign-top">値</th>
</tr>
</thead>
<tbody>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock"><strong>Function Name (関数名)</strong></p></td>
<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
<p><code>"ZMMFM_TRIGGER_IDOC_MATMAS"</code></p>
</div></div></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock"><strong>Content (コンテンツ)</strong></p></td>
<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
<p><code>payload</code></p>
</div></div></td>
</tr>
</tbody>
</table>
9. **\[Mule Palette (Mule パレット)\]**​ ビューから、​**\[Core (コア)\]**​ を選択して ​**\[Transform Message\]**​ コンポーネントを ​**\[Synchronous Remote Function Call\]**​ 操作の横にドラッグします。
10. **\[Transform Message\]**​ コンポーネントの ​**\[Output (出力)\]**​ セクションで、括弧を次のテキストで上書きします。
    
    %dw 2.0
    output application/json
    ---
    payload

### [](#3-番目のフローを設定する-2)3 番目のフローを設定する

3 番目のフローは、2 番目の個別のゲートウェイをトリガーします。このフローを設定する手順は、次のとおりです。

1. **\[Mule Palette (Mule パレット)\]**​ ビューから、​**\[HTTP\] > \[Listener\]**​ ソースをキャンバスにドラッグします。
2. デフォルト値を使用してグローバル要素を設定します。
3. **\[Listener (リスナー)\]**​ プロパティタブで、パスを ​`/d`​ に設定します。
4. **\[Mule Palette (Mule パレット)\]**​ ビューから、​**\[Core (コア)\]**​ を選択して ​**\[Transform Message\]**​ コンポーネントを ​**\[Listener\]**​ ソースの横にドラッグします。
5. **\[Transform Message\]**​ コンポーネントの ​**\[Output (出力)\]**​ セクションで、括弧を次のテキストで上書きします。
    
    %dw 2.0
    output application/xml
    ---
    {
      ZMMFM\_TRIGGER\_IDOC\_MATMAS: {
        "import": {
      IV\_MTYP: "MATMAS"
    ,
    IV\_OBJ: "23"
    ,
    IV\_SYS: "MULE11\_LS"
    }
    ,
    export: {
      EV\_RET: "0"
    },export: {
      EV\_OBJ: "0000000003526552"
    },export: null,changing: null,
    tables: {
      T\_MSG: null
    },
      }
    }
6. **\[Mule Palette (Mule パレット)\]**​ ビューから、​**\[SAP\]**​ を選択して ​**\[Synchronous Remote Function Call\]**​ 操作をキャンバスにドラッグします。
7. **Synchronous Remote Function Call**​ 操作のグローバル要素を設定し、必須項目に入力します。
8. **\[Synchronous Remote Function Call\]**​ プロパティタブで、次の項目を設定します。
    
    <table class="tableblock frame-all grid-all stretch">
<colgroup>
<col style="width: 40%;">
<col style="width: 60%;">
</colgroup>
<thead>
<tr>
<th class="tableblock halign-left valign-top">項目</th>
<th class="tableblock halign-left valign-top">値</th>
</tr>
</thead>
<tbody>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock"><strong>Function Name (関数名)</strong></p></td>
<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
<p><code>"ZMMFM_TRIGGER_IDOC_MATMAS"</code></p>
</div></div></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock"><strong>Content (コンテンツ)</strong></p></td>
<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
<p><code>payload</code></p>
</div></div></td>
</tr>
</tbody>
</table>
9. **\[Mule Palette (Mule パレット)\]**​ ビューから、​**\[Core (コア)\]**​ を選択して ​**\[Transform Message\]**​ コンポーネントを ​**\[Synchronous Remote Function Call\]**​ 操作の横にドラッグします。
10. **\[Transform Message\]**​ コンポーネントの ​**\[Output (出力)\]**​ セクションで、括弧を次のテキストで上書きします。
    
    %dw 2.0
    output application/json
    ---
    payload

### [](#アプリケーションを実行する-4)アプリケーションを実行する

Mule アプリケーションを実行する手順は、次のとおりです。

1. **\[Run (実行)\]**​ > ​**\[Run as (別のユーザーとして実行)\]**​ > ​**\[Mule Application (Mule アプリケーション)\]**​ をクリックします。

### [](#複数のゲートウェイを設定する-xml)複数のゲートウェイを設定する XML

Studio で次のコードを新しい Mule アプリケーションに貼り付ければ、複数のゲートウェイの設定例のフローをすばやく読み込むことができます。環境に合わせて値を変更してください。

```dataweave
<?xml version="1.0" encoding="UTF-8"?>
<mule xmlns:sap="http://www.mulesoft.org/schema/mule/sap" xmlns:ee="http://www.mulesoft.org/schema/mule/ee/core"
	xmlns:http="http://www.mulesoft.org/schema/mule/http"
	xmlns="http://www.mulesoft.org/schema/mule/core" xmlns:doc="http://www.mulesoft.org/schema/mule/documentation" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.mulesoft.org/schema/mule/core http://www.mulesoft.org/schema/mule/core/current/mule.xsd
http://www.mulesoft.org/schema/mule/http http://www.mulesoft.org/schema/mule/http/current/mule-http.xsd
http://www.mulesoft.org/schema/mule/ee/core http://www.mulesoft.org/schema/mule/ee/core/current/mule-ee.xsd
http://www.mulesoft.org/schema/mule/sap http://www.mulesoft.org/schema/mule/sap/current/mule-sap.xsd">
	<http:listener-config name="HTTP_Listener_config" doc:name="HTTP Listener config" doc:id="5d46abaa-dc40-457b-a7df-ce54fc8f3a43" >
		<http:listener-connection host="0.0.0.0" port="8081" />
	</http:listener-config>
	<sap:sap-config name="SAP_Config_C" doc:name="SAP Config" doc:id="78a4da95-2381-4bd1-919c-fc86ae23c134" >
		<sap:simple-connection-provider-connection systemNumber="02" client="800" applicationServerHost="34.225.79.228" />
	</sap:sap-config>
	<sap:sap-config name="SAP_Config_D" doc:name="SAP Config" doc:id="0f026b1e-96f8-4ef8-ae46-f4677b1f95ae" >
		<sap:simple-connection-provider-connection systemNumber="03" client="800" applicationServerHost="44.214.23.92" />
	</sap:sap-config>
	<sap:sap-config name="SAP_Config_B" doc:name="SAP Config" doc:id="829dbb29-682b-443d-b85c-47ad20d7c134" >
		<sap:simple-connection-provider-connection systemNumber="00" client="800" applicationServerHost="54.160.77.19"/>
	</sap:sap-config>
	<flow name="sapgatewaytestFlow" doc:id="2f660909-8fef-4872-85d0-efd172ac47fe" >
		<sap:document-listener doc:name="Document listener" doc:id="36de92d6-8796-46f6-b280-ac288a57b343" config-ref="SAP_Config_B" gatewayHost="54.160.77.19" gatewayService="3300" programID="MULE11_IDOC_PID"/>
		<logger level="INFO" doc:name="Logger" doc:id="51941f3f-a26e-4f60-99bf-637ce7f39e12" message="#[payload]"/>
	</flow>
	<flow name="sapgatewaytestFlowC" doc:id="4be0cd2f-197c-4cd2-afa5-5833b42399d2" >
		<http:listener doc:name="Listener" doc:id="3561b7af-6a02-4497-b02a-09e5dcc71f46" config-ref="HTTP_Listener_config" path="/c"/>
		<ee:transform doc:name="Transform Message" doc:id="71afc270-fc02-4fd8-bf82-a97a3eac86ac" >
			<ee:message >
				<ee:set-payload ><![CDATA[%dw 2.0
output application/xml
---
{
  ZMMFM_TRIGGER_IDOC_MATMAS: {
    "import": {
  IV_MTYP: "MATMAS"
,
IV_OBJ: "23"
,
IV_SYS: "MULE11_LS"
}
,
export: {
  EV_RET: "0"
},export: {
  EV_OBJ: "0000000003526552"
},export: null,changing: null,
tables: {
  T_MSG: null
},
  }
}]]></ee:set-payload>
			</ee:message>
		</ee:transform>
		<sap:sync-rfc doc:name="Synchronous Remote Function Call" doc:id="d3b152e0-db3a-4745-a9fe-60cc6ade0581" config-ref="SAP_Config_C" key='#["ZMMFM_TRIGGER_IDOC_MATMAS"]'/>
		<ee:transform doc:name="Transform Message" doc:id="387d00c7-efbf-4675-9f50-5fbafe592ec0" >
			<ee:message >
				<ee:set-payload ><![CDATA[%dw 2.0
output application/json
---
payload]]></ee:set-payload>
			</ee:message>
		</ee:transform>
	</flow>
	<flow name="sapgatewaytestFlowD" doc:id="3b2c4526-74e7-4a21-b18a-f11ba2f86beb" >
		<http:listener doc:name="Listener" doc:id="fa1567ab-1ded-415e-8dd2-8a0833451176" config-ref="HTTP_Listener_config" path="/d"/>
		<ee:transform doc:name="Transform Message" doc:id="b71d390e-5de2-435d-b0b0-51efb6f70b60" >
			<ee:message >
				<ee:set-payload ><![CDATA[%dw 2.0
output application/xml
---
{
  ZMMFM_TRIGGER_IDOC_MATMAS: {
    "import": {
  IV_MTYP: "MATMAS"
,
IV_OBJ: "23"
,
IV_SYS: "MULE11_LS"
}
,
export: {
  EV_RET: "0"
},export: {
  EV_OBJ: "0000000003526552"
},export: null,changing: null,
tables: {
  T_MSG: null
},
  }
}]]></ee:set-payload>
			</ee:message>
		</ee:transform>
		<sap:sync-rfc doc:name="Synchronous Remote Function Call" doc:id="edfae6dd-edc3-4e56-8a26-d3ad1b51db04" config-ref="SAP_Config_D" key='#["ZMMFM_TRIGGER_IDOC_MATMAS"]'/>
		<ee:transform doc:name="Transform Message" doc:id="fd6eb7f2-0c9f-43c6-842d-02be2216620a" >
			<ee:message >
				<ee:set-payload ><![CDATA[%dw 2.0
output application/json
---
payload]]></ee:set-payload>
			</ee:message>
		</ee:transform>
	</flow>
</mule>
```

## [](#関連情報)関連情報

- [Anypoint Connector の概要](https://docs.mulesoft.com/connectors/introduction/introduction-to-anypoint-connectors)
- [MuleSoft ヘルプセンター](https://help.mulesoft.com)