# mulesoft Sap Connector - Full Documentation # Kerberos を使用した SAP セキュアネットワークコミュニケーション接続の設定 Kerberos を使用した SAP セキュアネットワークコミュニケーション (SNC) を設定し、SAP システムのクライアントとサーバー間のセキュアなデータ通信、アプリケーションレベルのエンドツーエンドセキュリティ、SAP ビジネスアプリケーションに影響を与えずにセキュリティ商品を変更する機能など、セキュリティ機能を利用します。Kerberos を使用した SNC を有効にするには、クライアント環境、SAP サーバー、SAP 用 Anypoint Connector (SAP Connector) を設定します。
SAP ではサードパーティソリューションのサポートは提供されません。
## [](#始める前に)始める前に Kerberos を使用した SAP SNC を設定するには、以下にアクセスできる必要があります。 - SAP GUI アプリケーション このクライアントをインストールするには、すでに Java がマシンにインストールされている必要があります。次に、SAP からオペレーティングシステムに合ったインストーラーをダウンロードします。 - SNC システム変数を使用できる SAP ECC インスタンス - 次のトランザクション - `STRUST`​ (トラストマネージャー) - `SM30`​ (テーブルメンテナンス) - `SNC1`​ (ユーザーの SNC 名を生成) - `SU01`​ (ユーザーメンテナンス) - `SM59`​ (RFC 宛先) ## [](#active-directory-を設定する)Active Directory を設定する Active Directory を設定するには、使用しているオペレーティングシステムに従って新しいサービスプリンシパル名 (SPN) を作成し、キータブをエクスポートします。 Windows を使用している場合は、次の手順を実行します。 1. Active Directory のサービスユーザー ​`sidadm`​ を作成します。 2. **\[パスワードを無期限にする\]**​ をオンにして ​**\[このアカウントに DES 暗号化を使う\]**​ をオフにします。 3. Active Directory の ​`sidadm`​ ユーザーのサービスプリンシパル名 (SPN) ​`SAPService/sapdev@SSODOMAIN.LAB`​ を作成します。 `setspn -A SAPService/sapdev@SSODOMAIN.LAB DOMAIN_SHORT\sidadm` 4. 次のコマンドを実行し、Active Directory からこの SPN のキータブをエクスポートします。パスワードはキータブに設定するパスワードで、SID はキータブのファイル名です。 `ktpass -princ SAPService/sapdev@SSODOMAIN.LAB -mapuser DOMAIN_SHORT\sidadm -crypto AES256-SHA1 -ptype KRB5_NT_PRINCIPAL -mapop set -pass <​**password**​> -out aes.keytab` ## [](#sap-サーバーの設定)SAP サーバーの設定 SAP サーバーを設定するには、SAP サーバーのオペレーティングシステムのドメインと KDC を変更して Kerberos をセットアップし、SNC の使用を認証するパラメーターとライブラリを追加します。 1. KDC アドレスとレルム情報 (SSODOMAIN.LAB) を使用する ​`krb5.conf`​ ファイルを設定します。デフォルトでは、​`krb5.conf`​ ファイルは ​`etc`​ ディレクトリに作成されます。 \[libdefaults\] # "dns\_canonicalize\_hostname" and "rdns" are better set to false for improved security. # If set to true, the canonicalization mechanism performed by Kerberos client may # allow service impersonification, the consequence is similar to conducting TLS certificate # verification without checking host name. # If left unspecified, the two parameters will have default value true, which is less secure. dns\_canonicalize\_hostname = false rdns = false # default\_realm = EXAMPLE.COM default\_realm = SSODOMAIN.LAB \[realms\] # EXAMPLE.COM = { # kdc = kerberos.example.com # admin\_server = kerberos.example.com # } SSODOMAIN.LAB = { kdc = DC.SSODOMAIN.LAB admin\_server = dc.SSODOMAIN.LAB } \[domain\_realm\] .ssodomain.lab = SSODOMAIN.LAB ssodomain.lab = SSODOMAIN.LAB \[logging\] kdc = FILE:/var/log/krb5/krb5kdc.log admin\_server = FILE:/var/log/krb5/kadmind.log default = SYSLOG:NOTICE:DAEMON \[libdefaults\] default\_ccache\_name = FILE:/tmp/krb5cc\_%{uid} 2. 次のコマンドを実行して、キーを ​`etc`​ ディレクトリにインポートします。 `ktutil` `wkt /etc/krb5.keytab` `q` 3. Kerberos Ticket Granting Ticket (TGT) を取得します。 `kinit -V SAPService/sapdev@SSODOMAIN.LAB` 4. 次のコマンドを実行して、キータブの権限を変更します。 `chgrp sapsys /etc/krb5.keytab` `chmod 640 /etc/krb5.keytab` 5. Kerberos TGT の自動更新をセットアップします。 `crontab -e 01 0,6,12,18 * * * /usr/bin/kinit -R SAPService/sapdev@SSODOMAIN.LAB` 6. SAP サーバーの GSS-API ライブラリ (この例では ​`/usr/lib64/libgssapi_krb5.so.2`​ パスにある) を見つけて、デフォルトプロファイルで Kerberos を使用した SNC のパラメーターを設定し、SAP を再起動します。 - `snc/permit_insecure_start = 1` - `snc/data_protection/use = 3` - `snc/data_protection/max = 3` - `snc/data_protection/min = 1` - `snc/accept_insecure_r3int_rfc = 1` - `snc/accept_insecure_rfc = 1` - `snc/accept_insecure_cpic = 1` - `snc/accept_insecure_gui = 1` - `snc/gssapi_lib = /usr/lib64/libgssapi_krb5.so.2` - `snc/enable = 1` - `snc/identity/as = p:SAPService/sapdev@SSODOMAIN.LAB` - `login/password_change_for_SSO = 0` 7. SAP のユーザーとして ​`sidadm`​ を作成し、トランザクション ​`SU01`​ を使用して SNC 名を設定します。 8. \[RFC destination (RFC 宛先)\] として、トランザクション ​`SM59`​ を使用します。​**\[Logon and Security (ログオンとセキュリティ)\]**​ タブで、SNC オプションを有効にして、パートナーとして SPN 名を追加します。 ## [](#sap-connector-の設定)SAP Connector の設定 SAP Connector を設定するには、Kerberos を使用した SNC を有効にします。 1. Anypoint Studio にアクセスします。 2. Studio キャンバスで ​**\[SAP\]**​ を選択します。 3. **\[Connector configuration (コネクタ設定)\]**​ 項目の横にあるプラス記号 (+) をクリックし、グローバル要素設定項目にアクセスします。 4. Kerberos 接続を設定します。 1. **\[Connection (接続)\]**​ 項目で ​`[Kerberos]`​ を選択します。 2. **\[General (一般)\]**​ タブで、次の項目を設定します。 - **SAP system number (SAP システム番号)**​ - **SAP client ID (SAP クライアント ID)** - **Application server host (アプリケーションサーバーホスト)**​ - **Kerberos Config File Path (Kerberos 設定ファイルパス)** KDC アドレスとレルム情報 (SSODOMAIN.LAB) を使用する ​`krb5.conf`​ ファイルへのパス - **Keytab File Path (Keytab ファイルパス)** Active Directory の SPN のキータブへのパス。 キータブには、​**プリンシパル**​ (​`sidadm`​) のエントリのみが含まれている必要があります。既存のキータブを使用する場合、まず既存のエントリを削除する必要があります。既存のエントリを削除するには、次のコマンドを実行します。 `ktutil -k .keytab remove -p @` 新しいキータブを作成するには、次のコマンドを実行します。 `ktutil --keytab=.keytab add -p @ -w -e aes256-cts-hmac-sha1-96 -V ` - **GSS Library Path (GSS ライブラリパス)** CloudHub を使用する場合の静的値 ​`/usr/lib64/libgssapi_krb5.so.2.2` - **Principal (プリンシパル)** Active Directory のサービスユーザー名 (この例では ​`sidadm`​) - **Client SNC Partner Name (クライアント SNC のパートナー名)** Active Directory の SPN 名 (この例では ​`p:SAPService/sapdev@SSODOMAIN.LAB`​) - **Client SNC My Name (クライアント SNC の私の名前)** セキュアネットワークコミュニケーションのクライアントを特定する SNC 名 (この例では ​`p:sidadm`​) 3. **\[Advanced (詳細)\]**​ タブでは、拡張プロパティは Kerberos 設定によってすでに設定されているため、変更する必要はありません。 ### [](#kerberos-用-sap-拡張プロパティ)Kerberos 用 SAP 拡張プロパティ 次の表に、Kerberos 用の SAP 拡張プロパティのデフォルト値を示します。 コネクタは、以下の共通拡張プロパティを設定します。
プロパティ デフォルト値

jco.server.snc_mode

1

jco.server.snc_qop

3

コネクタは、操作に対して以下の拡張プロパティを設定します。
プロパティ デフォルト値

jco.client.user

[General (一般)]​ タブの ​[Kerberos Parameters for Operations (操作用の Kerberos パラメーター)]​ で設定されている ​[Principal (プリンシパル)]

jco.client.snc_lib

[General (一般)]​ タブの ​[Kerberos Common Parameters (Kerberos 共通パラメーター)]​ で設定されている ​GSS Library Path (GSS ライブラリパス)​ からのパス

jco.client.snc_myname

[General (一般)]​ タブの ​[Kerberos Parameters for Operations (操作用の Kerberos パラメーター)]​ で設定されている ​[Client SNC My Name (クライアント SNC の私の名前)]

jco.client.snc_partnername

[General (一般)]​ タブの ​[Kerberos Parameters for Operations (操作用の Kerberos パラメーター)]​ で設定されている ​[Client SNC Partner Name (クライアント SNC のパートナー名)]

コネクタは、ソースに対して以下の拡張プロパティを設定します。
プロパティ デフォルト値

jco.server.snc_lib

[General (一般)]​ タブの ​[Kerberos Common Parameters (Kerberos 共通パラメーター)]​ で設定されている ​GSS Library Path (GSS ライブラリパス)​ からのパス

jco.server.snc_myname

[General (一般)]​ タブの ​[Kerberos Parameters for Sources (ソース用の Kerberos パラメーター)]​ で設定されている ​[Server SNC My Name (サーバー SNC の私の名前)]

jco.server.snc_partnername

[General (一般)]​ タブの ​[Kerberos Parameters for Sources (ソース用の Kerberos パラメーター)]​ で設定されている ​[Server SNC Partner Name (サーバー SNC のパートナー名)]

## [](#関連情報)関連情報 - [Anypoint Connector の概要](https://docs.mulesoft.com/connectors/introduction/introduction-to-anypoint-connectors) - [MuleSoft ヘルプセンター](https://help.mulesoft.com) # Kerberos を使用した SAP セキュアネットワークコミュニケーション接続の設定 Kerberos を使用した SAP セキュアネットワークコミュニケーション (SNC) を設定し、SAP システムのクライアントとサーバー間のセキュアなデータ通信、アプリケーションレベルのエンドツーエンドセキュリティ、SAP ビジネスアプリケーションに影響を与えずにセキュリティ商品を変更する機能など、セキュリティ機能を利用します。Kerberos を使用した SNC を有効にするには、クライアント環境、SAP サーバー、SAP 用 Anypoint Connector (SAP Connector) を設定します。
SAP ではサードパーティソリューションのサポートは提供されません。
## [](#始める前に)始める前に Kerberos を使用した SAP SNC を設定するには、以下にアクセスできる必要があります。 - SAP GUI アプリケーション このクライアントをインストールするには、すでに Java がマシンにインストールされている必要があります。次に、SAP からオペレーティングシステムに合ったインストーラーをダウンロードします。 - SNC システム変数を使用できる SAP ECC インスタンス - 次のトランザクション - `STRUST`​ (トラストマネージャー) - `SM30`​ (テーブルメンテナンス) - `SNC1`​ (ユーザーの SNC 名を生成) - `SU01`​ (ユーザーメンテナンス) - `SM59`​ (RFC 宛先) ## [](#active-directory-を設定する)Active Directory を設定する Active Directory を設定するには、使用しているオペレーティングシステムに従って新しいサービスプリンシパル名 (SPN) を作成し、キータブをエクスポートします。 Windows を使用している場合は、次の手順を実行します。 1. Active Directory のサービスユーザー ​`sidadm`​ を作成します。 2. **\[パスワードを無期限にする\]**​ をオンにして ​**\[このアカウントに DES 暗号化を使う\]**​ をオフにします。 3. Active Directory の ​`sidadm`​ ユーザーのサービスプリンシパル名 (SPN) ​`SAPService/sapdev@SSODOMAIN.LAB`​ を作成します。 `setspn -A SAPService/sapdev@SSODOMAIN.LAB DOMAIN_SHORT\sidadm` 4. 次のコマンドを実行し、Active Directory からこの SPN のキータブをエクスポートします。パスワードはキータブに設定するパスワードで、SID はキータブのファイル名です。 `ktpass -princ SAPService/sapdev@SSODOMAIN.LAB -mapuser DOMAIN_SHORT\sidadm -crypto AES256-SHA1 -ptype KRB5_NT_PRINCIPAL -mapop set -pass <​**password**​> -out aes.keytab` ## [](#sap-サーバーの設定)SAP サーバーの設定 SAP サーバーを設定するには、SAP サーバーのオペレーティングシステムのドメインと KDC を変更して Kerberos をセットアップし、SNC の使用を認証するパラメーターとライブラリを追加します。 1. KDC アドレスとレルム情報 (SSODOMAIN.LAB) を使用する ​`krb5.conf`​ ファイルを設定します。デフォルトでは、​`krb5.conf`​ ファイルは ​`etc`​ ディレクトリに作成されます。 \[libdefaults\] # "dns\_canonicalize\_hostname" and "rdns" are better set to false for improved security. # If set to true, the canonicalization mechanism performed by Kerberos client may # allow service impersonification, the consequence is similar to conducting TLS certificate # verification without checking host name. # If left unspecified, the two parameters will have default value true, which is less secure. dns\_canonicalize\_hostname = false rdns = false # default\_realm = EXAMPLE.COM default\_realm = SSODOMAIN.LAB \[realms\] # EXAMPLE.COM = { # kdc = kerberos.example.com # admin\_server = kerberos.example.com # } SSODOMAIN.LAB = { kdc = DC.SSODOMAIN.LAB admin\_server = dc.SSODOMAIN.LAB } \[domain\_realm\] .ssodomain.lab = SSODOMAIN.LAB ssodomain.lab = SSODOMAIN.LAB \[logging\] kdc = FILE:/var/log/krb5/krb5kdc.log admin\_server = FILE:/var/log/krb5/kadmind.log default = SYSLOG:NOTICE:DAEMON \[libdefaults\] default\_ccache\_name = FILE:/tmp/krb5cc\_%{uid} 2. 次のコマンドを実行して、キーを ​`etc`​ ディレクトリにインポートします。 `ktutil` `wkt /etc/krb5.keytab` `q` 3. Kerberos Ticket Granting Ticket (TGT) を取得します。 `kinit -V SAPService/sapdev@SSODOMAIN.LAB` 4. 次のコマンドを実行して、キータブの権限を変更します。 `chgrp sapsys /etc/krb5.keytab` `chmod 640 /etc/krb5.keytab` 5. Kerberos TGT の自動更新をセットアップします。 `crontab -e 01 0,6,12,18 * * * /usr/bin/kinit -R SAPService/sapdev@SSODOMAIN.LAB` 6. SAP サーバーの GSS-API ライブラリ (この例では ​`/usr/lib64/libgssapi_krb5.so.2`​ パスにある) を見つけて、デフォルトプロファイルで Kerberos を使用した SNC のパラメーターを設定し、SAP を再起動します。 - `snc/permit_insecure_start = 1` - `snc/data_protection/use = 3` - `snc/data_protection/max = 3` - `snc/data_protection/min = 1` - `snc/accept_insecure_r3int_rfc = 1` - `snc/accept_insecure_rfc = 1` - `snc/accept_insecure_cpic = 1` - `snc/accept_insecure_gui = 1` - `snc/gssapi_lib = /usr/lib64/libgssapi_krb5.so.2` - `snc/enable = 1` - `snc/identity/as = p:SAPService/sapdev@SSODOMAIN.LAB` - `login/password_change_for_SSO = 0` 7. SAP のユーザーとして ​`sidadm`​ を作成し、トランザクション ​`SU01`​ を使用して SNC 名を設定します。 8. \[RFC destination (RFC 宛先)\] として、トランザクション ​`SM59`​ を使用します。​**\[Logon and Security (ログオンとセキュリティ)\]**​ タブで、SNC オプションを有効にして、パートナーとして SPN 名を追加します。 ## [](#sap-connector-の設定)SAP Connector の設定 SAP Connector を設定するには、Kerberos を使用した SNC を有効にします。 1. Anypoint Studio にアクセスします。 2. Studio キャンバスで ​**\[SAP\]**​ を選択します。 3. **\[Connector configuration (コネクタ設定)\]**​ 項目の横にあるプラス記号 (+) をクリックし、グローバル要素設定項目にアクセスします。 4. Kerberos 接続を設定します。 1. **\[Connection (接続)\]**​ 項目で ​`[Kerberos]`​ を選択します。 2. **\[General (一般)\]**​ タブで、次の項目を設定します。 - **SAP system number (SAP システム番号)**​ - **SAP client ID (SAP クライアント ID)** - **Application server host (アプリケーションサーバーホスト)**​ - **Kerberos Config File Path (Kerberos 設定ファイルパス)** KDC アドレスとレルム情報 (SSODOMAIN.LAB) を使用する ​`krb5.conf`​ ファイルへのパス - **Keytab File Path (Keytab ファイルパス)** Active Directory の SPN のキータブへのパス。 キータブには、​**プリンシパル**​ (​`sidadm`​) のエントリのみが含まれている必要があります。既存のキータブを使用する場合、まず既存のエントリを削除する必要があります。既存のエントリを削除するには、次のコマンドを実行します。 `ktutil -k .keytab remove -p @` 新しいキータブを作成するには、次のコマンドを実行します。 `ktutil --keytab=.keytab add -p @ -w -e aes256-cts-hmac-sha1-96 -V ` - **GSS Library Path (GSS ライブラリパス)** CloudHub を使用する場合の静的値 ​`/usr/lib64/libgssapi_krb5.so.2.2` - **Principal (プリンシパル)** Active Directory のサービスユーザー名 (この例では ​`sidadm`​) - **Client SNC Partner Name (クライアント SNC のパートナー名)** Active Directory の SPN 名 (この例では ​`p:SAPService/sapdev@SSODOMAIN.LAB`​) - **Client SNC My Name (クライアント SNC の私の名前)** セキュアネットワークコミュニケーションのクライアントを特定する SNC 名 (この例では ​`p:sidadm`​) 3. **\[Advanced (詳細)\]**​ タブでは、拡張プロパティは Kerberos 設定によってすでに設定されているため、変更する必要はありません。 ### [](#kerberos-用-sap-拡張プロパティ)Kerberos 用 SAP 拡張プロパティ 次の表に、Kerberos 用の SAP 拡張プロパティのデフォルト値を示します。 コネクタは、以下の共通拡張プロパティを設定します。
プロパティ デフォルト値

jco.server.snc_mode

1

jco.server.snc_qop

3

コネクタは、操作に対して以下の拡張プロパティを設定します。
プロパティ デフォルト値

jco.client.user

[General (一般)]​ タブの ​[Kerberos Parameters for Operations (操作用の Kerberos パラメーター)]​ で設定されている ​[Principal (プリンシパル)]

jco.client.snc_lib

[General (一般)]​ タブの ​[Kerberos Common Parameters (Kerberos 共通パラメーター)]​ で設定されている ​GSS Library Path (GSS ライブラリパス)​ からのパス

jco.client.snc_myname

[General (一般)]​ タブの ​[Kerberos Parameters for Operations (操作用の Kerberos パラメーター)]​ で設定されている ​[Client SNC My Name (クライアント SNC の私の名前)]

jco.client.snc_partnername

[General (一般)]​ タブの ​[Kerberos Parameters for Operations (操作用の Kerberos パラメーター)]​ で設定されている ​[Client SNC Partner Name (クライアント SNC のパートナー名)]

コネクタは、ソースに対して以下の拡張プロパティを設定します。
プロパティ デフォルト値

jco.server.snc_lib

[General (一般)]​ タブの ​[Kerberos Common Parameters (Kerberos 共通パラメーター)]​ で設定されている ​GSS Library Path (GSS ライブラリパス)​ からのパス

jco.server.snc_myname

[General (一般)]​ タブの ​[Kerberos Parameters for Sources (ソース用の Kerberos パラメーター)]​ で設定されている ​[Server SNC My Name (サーバー SNC の私の名前)]

jco.server.snc_partnername

[General (一般)]​ タブの ​[Kerberos Parameters for Sources (ソース用の Kerberos パラメーター)]​ で設定されている ​[Server SNC Partner Name (サーバー SNC のパートナー名)]

## [](#関連情報)関連情報 - [Anypoint Connector の概要](https://docs.mulesoft.com/connectors/introduction/introduction-to-anypoint-connectors) - [MuleSoft ヘルプセンター](https://help.mulesoft.com) # Kerberos を使用した SAP セキュアネットワークコミュニケーション接続の設定 Kerberos を使用した SAP セキュアネットワークコミュニケーション (SNC) を設定し、SAP システムのクライアントとサーバー間のセキュアなデータ通信、アプリケーションレベルのエンドツーエンドセキュリティ、SAP ビジネスアプリケーションに影響を与えずにセキュリティ商品を変更する機能など、セキュリティ機能を利用します。Kerberos を使用した SNC を有効にするには、クライアント環境、SAP サーバー、SAP 用 Anypoint Connector (SAP Connector) を設定します。
SAP ではサードパーティソリューションのサポートは提供されません。
## [](#始める前に)始める前に Kerberos を使用した SAP SNC を設定するには、以下にアクセスできる必要があります。 - SAP GUI アプリケーション このクライアントをインストールするには、すでに Java がマシンにインストールされている必要があります。次に、SAP からオペレーティングシステムに合ったインストーラーをダウンロードします。 - SNC システム変数を使用できる SAP ECC インスタンス - 次のトランザクション - `STRUST`​ (トラストマネージャー) - `SM30`​ (テーブルメンテナンス) - `SNC1`​ (ユーザーの SNC 名を生成) - `SU01`​ (ユーザーメンテナンス) - `SM59`​ (RFC 宛先) ## [](#active-directory-を設定する)Active Directory を設定する Active Directory を設定するには、使用しているオペレーティングシステムに従って新しいサービスプリンシパル名 (SPN) を作成し、キータブをエクスポートします。 Windows を使用している場合は、次の手順を実行します。 1. Active Directory のサービスユーザー ​`sidadm`​ を作成します。 2. **\[パスワードを無期限にする\]**​ をオンにして ​**\[このアカウントに DES 暗号化を使う\]**​ をオフにします。 3. Active Directory の ​`sidadm`​ ユーザーのサービスプリンシパル名 (SPN) ​`SAPService/sapdev@SSODOMAIN.LAB`​ を作成します。 `setspn -A SAPService/sapdev@SSODOMAIN.LAB DOMAIN_SHORT\sidadm` 4. 次のコマンドを実行し、Active Directory からこの SPN のキータブをエクスポートします。パスワードはキータブに設定するパスワードで、SID はキータブのファイル名です。 `ktpass -princ SAPService/sapdev@SSODOMAIN.LAB -mapuser DOMAIN_SHORT\sidadm -crypto AES256-SHA1 -ptype KRB5_NT_PRINCIPAL -mapop set -pass <​**password**​> -out aes.keytab` ## [](#sap-サーバーの設定)SAP サーバーの設定 SAP サーバーを設定するには、SAP サーバーのオペレーティングシステムのドメインと KDC を変更して Kerberos をセットアップし、SNC の使用を認証するパラメーターとライブラリを追加します。 1. KDC アドレスとレルム情報 (SSODOMAIN.LAB) を使用する ​`krb5.conf`​ ファイルを設定します。デフォルトでは、​`krb5.conf`​ ファイルは ​`etc`​ ディレクトリに作成されます。 \[libdefaults\] # "dns\_canonicalize\_hostname" and "rdns" are better set to false for improved security. # If set to true, the canonicalization mechanism performed by Kerberos client may # allow service impersonification, the consequence is similar to conducting TLS certificate # verification without checking host name. # If left unspecified, the two parameters will have default value true, which is less secure. dns\_canonicalize\_hostname = false rdns = false # default\_realm = EXAMPLE.COM default\_realm = SSODOMAIN.LAB \[realms\] # EXAMPLE.COM = { # kdc = kerberos.example.com # admin\_server = kerberos.example.com # } SSODOMAIN.LAB = { kdc = DC.SSODOMAIN.LAB admin\_server = dc.SSODOMAIN.LAB } \[domain\_realm\] .ssodomain.lab = SSODOMAIN.LAB ssodomain.lab = SSODOMAIN.LAB \[logging\] kdc = FILE:/var/log/krb5/krb5kdc.log admin\_server = FILE:/var/log/krb5/kadmind.log default = SYSLOG:NOTICE:DAEMON \[libdefaults\] default\_ccache\_name = FILE:/tmp/krb5cc\_%{uid} 2. 次のコマンドを実行して、キーを ​`etc`​ ディレクトリにインポートします。 `ktutil` `wkt /etc/krb5.keytab` `q` 3. Kerberos Ticket Granting Ticket (TGT) を取得します。 `kinit -V SAPService/sapdev@SSODOMAIN.LAB` 4. 次のコマンドを実行して、キータブの権限を変更します。 `chgrp sapsys /etc/krb5.keytab` `chmod 640 /etc/krb5.keytab` 5. Kerberos TGT の自動更新をセットアップします。 `crontab -e 01 0,6,12,18 * * * /usr/bin/kinit -R SAPService/sapdev@SSODOMAIN.LAB` 6. SAP サーバーの GSS-API ライブラリ (この例では ​`/usr/lib64/libgssapi_krb5.so.2`​ パスにある) を見つけて、デフォルトプロファイルで Kerberos を使用した SNC のパラメーターを設定し、SAP を再起動します。 - `snc/permit_insecure_start = 1` - `snc/data_protection/use = 3` - `snc/data_protection/max = 3` - `snc/data_protection/min = 1` - `snc/accept_insecure_r3int_rfc = 1` - `snc/accept_insecure_rfc = 1` - `snc/accept_insecure_cpic = 1` - `snc/accept_insecure_gui = 1` - `snc/gssapi_lib = /usr/lib64/libgssapi_krb5.so.2` - `snc/enable = 1` - `snc/identity/as = p:SAPService/sapdev@SSODOMAIN.LAB` - `login/password_change_for_SSO = 0` 7. SAP のユーザーとして ​`sidadm`​ を作成し、トランザクション ​`SU01`​ を使用して SNC 名を設定します。 8. \[RFC destination (RFC 宛先)\] として、トランザクション ​`SM59`​ を使用します。​**\[Logon and Security (ログオンとセキュリティ)\]**​ タブで、SNC オプションを有効にして、パートナーとして SPN 名を追加します。 ## [](#sap-connector-の設定)SAP Connector の設定 SAP Connector を設定するには、Kerberos を使用した SNC を有効にします。 1. Anypoint Studio にアクセスします。 2. Studio キャンバスで ​**\[SAP\]**​ を選択します。 3. **\[Connector configuration (コネクタ設定)\]**​ 項目の横にあるプラス記号 (+) をクリックし、グローバル要素設定項目にアクセスします。 4. Kerberos 接続を設定します。 1. **\[Connection (接続)\]**​ 項目で ​`[Kerberos]`​ を選択します。 2. **\[General (一般)\]**​ タブで、次の項目を設定します。 - **SAP system number (SAP システム番号)**​ - **SAP client ID (SAP クライアント ID)** - **Application server host (アプリケーションサーバーホスト)**​ - **Kerberos Config File Path (Kerberos 設定ファイルパス)** KDC アドレスとレルム情報 (SSODOMAIN.LAB) を使用する ​`krb5.conf`​ ファイルへのパス - **Keytab File Path (Keytab ファイルパス)** Active Directory の SPN のキータブへのパス。 キータブには、​**プリンシパル**​ (​`sidadm`​) のエントリのみが含まれている必要があります。既存のキータブを使用する場合、まず既存のエントリを削除する必要があります。既存のエントリを削除するには、次のコマンドを実行します。 `ktutil -k .keytab remove -p @` 新しいキータブを作成するには、次のコマンドを実行します。 `ktutil --keytab=.keytab add -p @ -w -e aes256-cts-hmac-sha1-96 -V ` - **GSS Library Path (GSS ライブラリパス)** 2025 年 7 月以降にパブリッシュされた画像を使用する場合の CloudHub および CloudHub 2.0 または Runtime Fabric 用の静的値 ​`/usr/lib64/libgssapi_krb5.so.2.2`​。2025 年 7 月より前にパブリッシュされた画像を使用する場合の CloudHub 2.0 または Runtime Fabric 用の静的値 ​`/usr/lib/x86_64-linux-gnu/libgssapi_krb5.so.2.2`​。 - **Principal (プリンシパル)** Active Directory のサービスユーザー名 (この例では ​`sidadm`​) - **Client SNC Partner Name (クライアント SNC のパートナー名)** Active Directory の SPN 名 (この例では ​`p:SAPService/sapdev@SSODOMAIN.LAB`​) - **Client SNC My Name (クライアント SNC の私の名前)** セキュアネットワークコミュニケーションのクライアントを特定する SNC 名 (この例では ​`p:sidadm`​) 3. **\[Advanced (詳細)\]**​ タブでは、拡張プロパティは Kerberos 設定によってすでに設定されているため、変更する必要はありません。 ### [](#kerberos-用-sap-拡張プロパティ)Kerberos 用 SAP 拡張プロパティ 次の表に、Kerberos 用の SAP 拡張プロパティのデフォルト値を示します。 コネクタは、以下の共通拡張プロパティを設定します。
プロパティ デフォルト値

jco.server.snc_mode

1

jco.server.snc_qop

3

コネクタは、操作に対して以下の拡張プロパティを設定します。
プロパティ デフォルト値

jco.client.user

[General (一般)]​ タブの ​[Kerberos Parameters for Operations (操作用の Kerberos パラメーター)]​ で設定されている ​[Principal (プリンシパル)]

jco.client.snc_lib

[General (一般)]​ タブの ​[Kerberos Common Parameters (Kerberos 共通パラメーター)]​ で設定されている ​GSS Library Path (GSS ライブラリパス)​ からのパス

jco.client.snc_myname

[General (一般)]​ タブの ​[Kerberos Parameters for Operations (操作用の Kerberos パラメーター)]​ で設定されている ​[Client SNC My Name (クライアント SNC の私の名前)]

jco.client.snc_partnername

[General (一般)]​ タブの ​[Kerberos Parameters for Operations (操作用の Kerberos パラメーター)]​ で設定されている ​[Client SNC Partner Name (クライアント SNC のパートナー名)]

コネクタは、ソースに対して以下の拡張プロパティを設定します。
プロパティ デフォルト値

jco.server.snc_lib

[General (一般)]​ タブの ​[Kerberos Common Parameters (Kerberos 共通パラメーター)]​ で設定されている ​GSS Library Path (GSS ライブラリパス)​ からのパス

jco.server.snc_myname

[General (一般)]​ タブの ​[Kerberos Parameters for Sources (ソース用の Kerberos パラメーター)]​ で設定されている ​[Server SNC My Name (サーバー SNC の私の名前)]

jco.server.snc_partnername

[General (一般)]​ タブの ​[Kerberos Parameters for Sources (ソース用の Kerberos パラメーター)]​ で設定されている ​[Server SNC Partner Name (サーバー SNC のパートナー名)]

## [](#関連情報)関連情報 - [Anypoint Connector の概要](https://docs.mulesoft.com/connectors/introduction/introduction-to-anypoint-connectors) - [MuleSoft ヘルプセンター](https://help.mulesoft.com) # SAP Connector - Mule 4 サポートカテゴリ: サポートカテゴリ: [プレミアム](https://www.mulesoft.com/legal/versioning-back-support-policy#anypoint-connectors) SAP Connector v5.1 SAP 用 Anypoint Connector (SAP Connector) を使用すると、SAP NetWeaver に基づいてデータを外部システムと統合できます。 SAP Connector は、Anypoint Platform の Design Center 機能では使用できません。 このコネクタを使用するには、個別のライセンスが必要です。このコネクタを評価したり、本番環境で使用したりするには、MuleSoft にお問い合わせください。 Mule Runtime Engine (Mule) では、SAP 用 Anypoint Connector (SAP Java Connector (JCo) ライブラリを利用する SAP 認定 Java Connector) を介した SAP インテグレーションがサポートされます。SAP JCo により、SAP バックエンドシステムと Java アプリケーション間の通信が促進されます。Java プログラムは、SAP システムに接続して、リモート関数モジュールを起動できるようになります。また、オブジェクト型が異なっていても IDoc (SAP 中間ドキュメント) を解析できるようになります。SAP 設定では、インバウンド通信とアウトバウンド通信の両方がサポートされます。 SAP JCo ライブラリを使用すると、Mule アプリケーションで次のことができます。 - 次の種別の RFC プロトコルを介して BAPI 関数を実行する。 - Synchronous Remote Function Call RFC (sRFC) - Asynchronous Remote Function Call RFC (aRFC) - sRFC および aRFC を介して BAPI としてコールされる JCo サーバーとして動作する。 - tRFC および qRFC を介して IDoc を送信する。 - tRFC および qRFC を介して IDoc を受信する。 - SAP オブジェクト (BAPI および IDoc では JCo 関数) と XML 間の変換を行う。 SAP の頭字語については、<<「SAP 用語」>>​を参照してください。 ## [](#コネクタについて)コネクタについて Anypoint Connector とは、Salesforce、SAP、ServiceNow、Twitter などの外部システムの API やリソースに接続できる Mule Runtime Engine 拡張機能です。 ## [](#前提条件)前提条件 この情報を使用するには、以下が必要です。 - SAP ビジネスコンテキスト (特に SAP R/3 ビジネススイート) の実践的な知識 - 管理的な観点からの SAP NetWeaver プラットフォームの基本的な理解 - ABAP 言語の知識 - 必要な SAP ライブラリをダウンロードするための SAP ID - 対象リソースへの接続をテストするための SAP ログイン情報 - NetWeaver アプリケーションサーバー (NWAS) に接続するための RFC プロトコルの使用 [ECC](http://www.cipherbsc.com/solutions/sap-erp-central-component-erp-ecc/)​ および [CRM](https://help.sap.com/viewer/p/SAP_CUSTOMER_RELATIONSHIP_MANAGEMENT)​ は、他の SAP ソリューションと同様に NWAS 上で実行されるため、コネクタを使用するユーザーはこれらのシステムにアクセスできます。 - Anypoint Studio を使用した Mule アプリケーションの作成方法に関する知識 アプリケーションを作成する前に次の手順を実行します。 1. SAP の対象リソースおよび Anypoint Platform へのアクセス権を持っている必要があります。 2. SAP Web サイトにアクセスし、IDoc、JCO、JCO Native のバージョン 3.0.18 ライブラリを、使用するコンピューターのフォルダーにダウンロードします。 Studio 7 では、変換することなくライブラリ形式を直接使用できます。 ## [](#対象者)対象者 - 初心者ユーザー [Anypoint Studio](https://docs.mulesoft.com/jp/sap-connector/5.1/sap-connector-studio)​ で Mule アプリケーションを設定します。 ​[「追加設定情報」](https://docs.mulesoft.com/jp/sap-connector/5.1/sap-connector-config-topics)​トピックは SAP Connector の理解を深めるために役立ちます。 - パワーユーザー [「XML と Maven のサポート」](https://docs.mulesoft.com/jp/sap-connector/5.1/sap-connector-xml-maven)​、[「追加設定情報」](https://docs.mulesoft.com/jp/sap-connector/5.1/sap-connector-config-topics)​、および[「例」](https://docs.mulesoft.com/jp/sap-connector/5.1/sap-connector-examples)​トピックを参照してください。 ## [](#exchange-テンプレートおよび例)Exchange テンプレートおよび例 [Anypoint Exchange](https://www.mulesoft.com/exchange/)​ には、SAP Connector の使用を簡略化するテンプレートと例が用意されています。テンプレートを開始点として、他の機能を追加できます。以下に完全なソリューションを示します。 ## [](#sap-exchange-の例とテンプレート)SAP Exchange の例とテンプレート - **一般:**​ [「Account System API - SAP Implementation Template (アカウントシステム API - SAP 実装テンプレート)」](https://www.mulesoft.com/exchange/org.mule.templates/template-apiled-system-account-sap/)​、​[「Salesforce to Salesforce, Workday, SAP, and Database Account Broadcast (Salesforce to Salesforce、Workday、SAP、データベースアカウントのブロードキャスト)」](https://www.mulesoft.com/exchange/org.mule.templates/template-sfdc2sfdc.wday.sap.db-account-broadcast/)​ - **Salesforce と SAP:**​ [「Account Aggregation (取引先の集計)」](https://www.mulesoft.com/exchange/org.mule.templates/template-sap2sfdc-account-aggregation/)​、​[「Account Customer Bidirectional Sync (取引先の顧客の双方向同期)」](https://www.mulesoft.com/exchange/org.mule.templates/template-sap2sfdc-customer-bidirectional-sync/)​、​[「Opportunity Aggregation (商談の集計)」](https://www.mulesoft.com/exchange/org.mule.templates/template-sfdc2sap-opportunity-aggregation/)​、​[「Product Aggregation (商品の集計)」](https://www.mulesoft.com/exchange/org.mule.templates/template-sfdc2sap-product-aggregation/)​、​[「Product Bidirectional Sync (商品の双方向同期)」](https://www.mulesoft.com/exchange/org.mule.templates/template-sfdc2sap-product-bidirectional-sync/)​ - **Salesforce から SAP:**​ [「Account Broadcast (取引先のブロードキャスト)」](https://www.mulesoft.com/exchange/org.mule.templates/template-sfdc2sap-account-broadcast/)​、​[「Account Migration (取引先の移行)」](https://www.mulesoft.com/exchange/org.mule.templates/template-sfdc2sap-account-migration/)​、​[「Opportunity Broadcast (商談のブロードキャスト)」](https://www.mulesoft.com/exchange/org.mule.templates/template-sfdc2sap-opportunity-broadcast/)​、​[「Opportunity Migration (商談の移行)」](https://www.mulesoft.com/exchange/org.mule.templates/template-sfdc2sap-opportunity-migration/)​、​[「Product Broadcast (商品のブロードキャスト)」](https://www.mulesoft.com/exchange/org.mule.templates/template-sfdc2sap-product-broadcast/) - **SAP から Salesforce:**​ [「Contact Broadcast (取引先責任者のブロードキャスト)」](https://www.mulesoft.com/exchange/org.mule.templates/template-sap2sfdc-contact-broadcast/)​、​[「Contact Migration (取引先責任者の移行)」](https://www.mulesoft.com/exchange/org.mule.templates/template-sap2sfdc-contact-migration/)​、​[「Customer Broadcast (顧客のブロードキャスト)」](https://www.mulesoft.com/exchange/org.mule.templates/template-sap2sfdc-customer-broadcast/)​、​[「Customer Migration (顧客の移行)」](https://www.mulesoft.com/exchange/org.mule.templates/template-sap2sfdc-customer-migration/)​、​[「Product Material Broadcast (商品材料のブロードキャスト)」](https://www.mulesoft.com/exchange/org.mule.templates/template-sap2sfdc-product-broadcast/)​、​[「Product Material Migration (商品材料の移行)」](https://www.mulesoft.com/exchange/org.mule.templates/template-sap2sfdc-material-migration/) - **SAP から Workday:**​ [「Employee Migration (従業員の移行)」](https://www.mulesoft.com/exchange/org.mule.templates/template-sap2wday-employee-migration/)​、​[「Organization Broadcast (組織のブロードキャスト)」](https://www.mulesoft.com/exchange/org.mule.templates/template-sap2wday-organization-broadcast/)​、​[「Organization Migration (組織の移行)」](https://www.mulesoft.com/exchange/org.mule.templates/template-sap2wday-organization-migration/) - **Workday と SAP:**​ [「Organization Aggregation (組織の集計)」](https://www.mulesoft.com/exchange/org.mule.templates/template-wday2sap-organization-aggregation/)​、​[「Worker (Employee) Aggregation (作業員 (従業員) の集計)」](https://www.mulesoft.com/exchange/org.mule.templates/template-wday2sap-worker-aggregation/)​ - **Workday から SAP:**​ [「Worker (Employee) Migration (作業員 (従業員) の移行)」](https://www.mulesoft.com/exchange/org.mule.templates/template-wday2sap-worker2employee-migration/)​、​[「Worker Broadcast (作業員のブロードキャスト)」](https://www.mulesoft.com/exchange/org.mule.templates/template-wday2sap-worker-broadcast/) ## [](#次のステップ)次のステップ 前提条件を満たし、テンプレートおよび例を試したら、[Anypoint Studio](https://docs.mulesoft.com/jp/sap-connector/5.1/sap-connector-studio)​ でアプリケーションを作成できます。 ## [](#関連情報)関連情報 - [Anypoint Connector の概要](https://docs.mulesoft.com/connectors/introduction/introduction-to-anypoint-connectors) - [SAP Connector リリースノート](https://docs.mulesoft.com/jp/release-notes/connector/sap-connector-release-notes-mule-4) - [Anypoint Exchange の SAP Connector](https://www.mulesoft.com/exchange/com.mulesoft.connectors/mule-sap-connector/) - [MuleSoft ヘルプセンター](https://help.mulesoft.com) # SAP Connector 5.0 へのアップグレード - Mule 4 SAP 用 Anypoint Connector バージョン 5.0 には、機能強化と変更が含まれます。SAP Connector 5.0 で導入された主な変更の一部を次に示します。 - `Create`​ 操作が `Retrieve IDoc`​ という名前に変更されました。 - Execute BAPI Function over qRFC、tRFC、sRFC の各操作が Synchronous Remote Function Call (sRFC) および Asynchronous Remote Function Call (aRFC) 操作にマージされました。 - `Disable function template cache`​ フラグが `Disable JCo internal cache`​ という名前に変更され、関数とソースの両方に適用されます。デフォルト値は `false`​ です。 - ソースの別名には `source`​ の代わりに `-listener`​ が含まれるようになりました。 たとえば、XML は `sap:document-source`​ から `sap:document-listener`​ に変更されます。 - SAP 設定には次の変更があります。 - SAP インバウンド設定と SAP アウトバウンド設定が新しい SAP 設定にマージされました。 - **\[Message Server (メッセージサーバー)\]**​ 項目が **\[General (一般)\]**​ タブに含まれるようになりました。 この新しい設定により、コネクタで使用する設定をより直感的に理解できるようになります。 これらの新機能と機能強化によって、後方互換性の問題が生じる場合があります。 ## [](#アップグレード手順)アップグレード手順 1. Studio で Mule プロジェクトを作成します。 2. **\[Mule Palette (Mule パレット)\]**​ で、**\[Search in Exchange (Exchange 内を検索)\]**​ をクリックします。 3. **\[Add Modules to Project (モジュールをプロジェクトに追加)\]**​ で、検索項目に「SAP」と入力します。 4. **\[Available modules (使用可能なモジュール)\]**​ で、**\[SAP Connector - Mule 4 (SAP Connector - Mule 4)\]**​ を選択します。 5. **\[Add (追加)\]**​ をクリックします。 6. **\[Finish (完了)\]**​ をクリックします。 7. プロジェクトの `pom.xml`​ ファイルで、`sap-connector`​ の連動関係バージョンが 5.x.x であることを確認します。 com.mulesoft.connectors mule-sap-connector 5.x.x mule-plugin Anypoint Studio はコネクタを自動的にアップグレードします。 ## [](#関連情報)関連情報 [SAP Connector リファレンス 5.0](https://docs.mulesoft.com/jp/sap-connector/5.1/sap-connector-reference) # SAP Connector 5.3 SAP 用 Anypoint Connector (SAP Connector) を使用すると、SAP NetWeaver に基づいてデータを外部システムと統合できます。 このコネクタを使用するには、個別のライセンスが必要です。このコネクタを評価したり、本番環境で使用したりするには、MuleSoft にお問い合わせください。 Mule Runtime Engine (Mule) では、SAP 用 Anypoint Connector (SAP Java Connector (JCo) ライブラリを利用する SAP 認定 Java Connector) を介した SAP インテグレーションがサポートされます。SAP JCo により、SAP バックエンドシステムと Java アプリケーション間の通信が促進されます。Java プログラムは、SAP システムに接続して、Remote Function Module を起動できるようになります。また、オブジェクト型が異なっていても IDoc (SAP 中間ドキュメント) を解析できるようになります。SAP 設定では、インバウンド通信とアウトバウンド通信の両方がサポートされます。 SAP JCo ライブラリを使用すると、Mule アプリケーションで次のことができます。 - 次の種別の RFC プロトコルを介して BAPI 関数を実行する。 - Synchronous Remote Function Call RFC (sRFC) - Asynchronous Remote Function Call RFC (aRFC) - sRFC および aRFC を介して BAPI としてコールされる JCo サーバーとして動作する。 - tRFC および qRFC を介して IDoc を送信する。 - tRFC および qRFC を介して IDoc を受信する。 - SAP オブジェクト (BAPI および IDoc では JCo 関数) と XML 間の変換を行う。 SAP の頭字語については、​[「SAP 用語」](https://docs.mulesoft.com/jp/sap-connector/5.3/sap-connector-terminology)​を参照してください。 ## [](#始める前に)始める前に このコネクタを使用するには、以下に精通している必要があります。 - SAP Connector の API - Anypoint Connector - Mule Runtime Engine (Mule) - Mule フローの要素とグローバル要素 - Anypoint Studio (Studio) を使用した Mule アプリケーションの作成 アプリケーションを作成する前に、以下が必要です。 - SAP の対象リソースにアクセスするためのログイン情報 - 必要な RFC、BAPI、および IDoc を使用できるロールまたはプロファイルを持つサービスユーザー。 - SAP ビジネスコンテキスト (特に SAP R/3 ビジネススイート) の実践的な知識 - 管理的な観点からの SAP NetWeaver プラットフォームの基本的な理解 - ABAP 言語の知識 - 必要な SAP ライブラリをダウンロードするための SAP ID - NetWeaver アプリケーションサーバー (NWAS) に接続するための RFC プロトコルの使用 [ECC](http://www.cipherbsc.com/solutions/sap-erp-central-component-erp-ecc/)​ および [CRM](https://help.sap.com/viewer/p/SAP_CUSTOMER_RELATIONSHIP_MANAGEMENT)​ は、他の SAP ソリューションと同様に NWAS 上で実行されるため、コネクタを使用するユーザーはこれらのシステムにアクセスできます。 - Anypoint Studio を使用した Mule アプリケーションの作成方法に関する知識 アプリケーションを作成する前に、SAP Web サイトにアクセスし、IDoc、JCO、JCO Native のバージョン 3.0.18 ライブラリを、使用するコンピューターのフォルダーにダウンロードします。 Studio 7 では、変換することなくライブラリ形式を直接使用できます。 ## [](#認証種別)認証種別 SAP Connector 接続では、次の認証種別を使用します。 - Certificate (証明書) X509 証明書を使用してユーザーを認証する接続プロバイダー。 - Simple Connection Provider ユーザー名とパスワードを使用して接続する接続プロバイダー。 ## [](#exchange-テンプレートおよび例)Exchange テンプレートおよび例 [Anypoint Exchange](https://www.mulesoft.com/exchange/)​ は、アプリケーションのスタートポイントとして使用できるテンプレートと、完全なソリューションを具体的に示した例を提供しています。 - **一般:**​ [「Account System API - SAP Implementation Template (アカウントシステム API - SAP 実装テンプレート)」](https://www.mulesoft.com/exchange/org.mule.templates/template-apiled-system-account-sap/)​、 [「Salesforce to Salesforce, Workday, SAP, and Database Account Broadcast (Salesforce to Salesforce、Workday、SAP、データベースアカウントのブロードキャスト)」](https://www.mulesoft.com/exchange/org.mule.templates/template-sfdc2sfdc.wday.sap.db-account-broadcast/) - **Salesforce と SAP:**​ [「Account Aggregation (取引先の集計)」](https://www.mulesoft.com/exchange/org.mule.templates/template-sap2sfdc-account-aggregation/)​、 [「Account Customer Bidirectional Sync (取引先の顧客の双方向同期)」](https://www.mulesoft.com/exchange/org.mule.templates/template-sap2sfdc-customer-bidirectional-sync/)​、 [「Opportunity Aggregation (商談の集計)」](https://www.mulesoft.com/exchange/org.mule.templates/template-sfdc2sap-opportunity-aggregation/)​、 [「Product Aggregation (商品の集計)」](https://www.mulesoft.com/exchange/org.mule.templates/template-sfdc2sap-product-aggregation/)​、 [「Product Bidirectional Sync (商品の双方向同期)」](https://www.mulesoft.com/exchange/org.mule.templates/template-sfdc2sap-product-bidirectional-sync/) - **Salesforce から SAP:**​ [「Account Broadcast (取引先のブロードキャスト)」](https://www.mulesoft.com/exchange/org.mule.templates/template-sfdc2sap-account-broadcast/)​、 [「Account Migration (取引先の移行)」](https://www.mulesoft.com/exchange/org.mule.templates/template-sfdc2sap-account-migration/)​、 [「Opportunity Broadcast (商談のブロードキャスト)」](https://www.mulesoft.com/exchange/org.mule.templates/template-sfdc2sap-opportunity-broadcast/)​、 [「Opportunity Migration (商談の移行)」](https://www.mulesoft.com/exchange/org.mule.templates/template-sfdc2sap-opportunity-migration/)​、 [「Product Broadcast (商品のブロードキャスト)」](https://www.mulesoft.com/exchange/org.mule.templates/template-sfdc2sap-product-broadcast/) - **SAP から Salesforce:**​ [「Contact Broadcast (取引先責任者のブロードキャスト)」](https://www.mulesoft.com/exchange/org.mule.templates/template-sap2sfdc-contact-broadcast/)​、 [「Contact Migration (取引先責任者の移行)」](https://www.mulesoft.com/exchange/org.mule.templates/template-sap2sfdc-contact-migration/)​、 [「Customer Broadcast (顧客のブロードキャスト)」](https://www.mulesoft.com/exchange/org.mule.templates/template-sap2sfdc-customer-broadcast/)​、 [「Customer Migration (顧客の移行)」](https://www.mulesoft.com/exchange/org.mule.templates/template-sap2sfdc-customer-migration/)​、 [「Product Material Broadcast (商品材料のブロードキャスト)」](https://www.mulesoft.com/exchange/org.mule.templates/template-sap2sfdc-product-broadcast/)​、 [「Product Material Migration (商品材料の移行)」](https://www.mulesoft.com/exchange/org.mule.templates/template-sap2sfdc-material-migration/) - **SAP から Workday:**​ [「Employee Migration (従業員の移行)」](https://www.mulesoft.com/exchange/org.mule.templates/template-sap2wday-employee-migration/)​、 [「Organization Broadcast (組織のブロードキャスト)」](https://www.mulesoft.com/exchange/org.mule.templates/template-sap2wday-organization-broadcast/)​、 [「Organization Migration (組織の移行)」](https://www.mulesoft.com/exchange/org.mule.templates/template-sap2wday-organization-migration/) - **Workday と SAP:**​ [「Organization Aggregation (組織の集計)」](https://www.mulesoft.com/exchange/org.mule.templates/template-wday2sap-organization-aggregation/)​、 [「Worker (Employee) Aggregation (作業員 (従業員) の集計)」](https://www.mulesoft.com/exchange/org.mule.templates/template-wday2sap-worker-aggregation/) - **Workday から SAP:**​ [「Worker (Employee) Migration (作業員 (従業員) の移行)」](https://www.mulesoft.com/exchange/org.mule.templates/template-wday2sap-worker2employee-migration/)​、 [「Worker Broadcast (作業員のブロードキャスト)」](https://www.mulesoft.com/exchange/org.mule.templates/template-wday2sap-worker-broadcast/) ## [](#次のステップ)次のステップ 前提条件を満たし、テンプレートおよびサンプルを試したら、​[Anypoint Studio](https://docs.mulesoft.com/jp/sap-connector/5.3/sap-connector-studio)​ でアプリケーションを作成できます。 ## [](#関連情報)関連情報 - [Anypoint Connector の概要](https://docs.mulesoft.com/connectors/introduction/introduction-to-anypoint-connectors) - [Anypoint Exchange の SAP Connector](https://www.mulesoft.com/exchange/com.mulesoft.connectors/mule-sap-connector/) - [MuleSoft ヘルプセンター](https://help.mulesoft.com) # SAP Connector 5.3 の Studio 設定 SAP Connector をインストールし、Anypoint Studio でコネクタを設定します。 まず、SAP から取得した SAP Java Connector (JCo) ライブラリをインストールします。これで、1 つ以上の SAP Connector 操作を含むアプリケーションを作成できます。Studio を使用すると、アプリケーションを作成して、そのアプリケーションにブラウザーからアクセスできます。 Anypoint Studio で SAP Connector を設定する手順は、次のとおりです。 1. コネクタを Mule プロジェクトに追加します。 2. SAP Connector を設定します。 3. コネクタの入力元を設定します。 ## [](#add-connector-to-project)コネクタを Mule プロジェクトに追加する SAP Connector を Mule プロジェクトに追加して、XML コードにコネクタの名前空間およびスキーマの場所を自動的に入力し、プロジェクトの ​`pom.xml`​ ファイルに必須の連動関係を追加します。 1. **\[Mule Palette (Mule パレット)\]**​ ビューで、​**\[(X) Search in Exchange ((X) Exchange 内を検索)\]**​ をクリックします。 2. **\[Add Dependencies to Project (連動関係をプロジェクトに追加)\]**​ ウィンドウで、検索項目に「​`sap`​」と入力します。 3. **\[Available modules (使用可能なモジュール)\]**​ で ​**\[SP Connector (VM Connector)\]**​ をクリックします。 4. **\[Add (追加)\]**​ をクリックします。 5. **\[Finish (完了)\]**​ をクリックします。 Studio でコネクタを Mule プロジェクトに追加しても、Studio ワークスペースの他のプロジェクトはそのコネクタを使用できません。 ## [](#ソース操作を選択する)ソース操作を選択する 1. Anypoint Studio で ​**\[Mule Palette (Mule パレット)\]**​ をクリックして、「​`sap`​」と入力します。 2. 操作を選択します。 SAP からオブジェクトが送信されたときにアプリケーションを開始する場合、次のいずれかの操作を選択し、操作を Studio キャンバスの ​**\[Source (ソース)\]**​ 領域にドラッグします。 - **Document source**​ は IDoc の変更をリスンします。IDoc が変更されると、アプリケーションが実行されます。 - **Function source**​ は SAP 関数モジュールの変更をリスンします。対象の関数モジュールが変更されると、アプリケーションが実行されます。 項目値については、​[「SAP Connector リファレンス」](https://docs.mulesoft.com/jp/sap-connector/5.3/sap-connector-reference)​を参照してください。 **Document source**​ 操作または ​**Function source**​ 操作を選択した場合は、次のセクションに進んで SAP ライブラリをインストールします。 3. 代わりに、​**HTTP リスナー**​や​**スケジューラー**​など、このコネクタの入力元を設定して、操作を Studio キャンバスにドラッグすることもできます。 HTTP リスナーを使用すると、ブラウザーからアプリケーションを開始できます。スケジューラーは特定の時間にアプリケーションを開始します。 4. SAP ライブラリをインストールします。 ## [](#sap-ライブラリをインストールする)SAP ライブラリをインストールする Mule プロジェクトで SAP ライブラリを使用するには、まずライブラリをコンピューターにダウンロードする必要があります。Anypoint Studio では 3 つのライブラリを変換せずに直接使用できます。ライブラリをダウンロードするには、SAP ID が必要です。 各ライブラリのファイル種別は、オペレーティングシステムによって異なります。
OS ファイル種別

Windows

  • sapidoc3.jar

  • sapjco3.jar

  • sapjco3.dll

Mac OS

  • sapidoc3.jar

  • sapjco3.jar

  • libsapjco3.jnilib

Linux

  • sapidoc3.jar

  • sapjco3.jar

  • libsapjco3.so

SAP Connector では、SAP JCo ライブラリバージョン 3.0.x および 3.1.x がサポートされています。
ライブラリをインストールしたら、グローバル要素プロパティをカスタマイズして、接続をテストできます。 ## [](#anypoint-studio-でライブラリを設定する)Anypoint Studio でライブラリを設定する SAP Connector を Studio にインストールして、コネクタを Mule プロジェクトに追加したら、ライブラリを設定します。 1. フローでコネクタをダブルクリックします。 2. **\[Connector Configuration (コネクタ設定)\]**​ 項目の右にあるプラス記号 (​**+**​) をクリックします。 次の画面が表示されます。 ![sap connector configuration 01](/mulesoft/current/ja-jp/sap-connector/5.3/_images/sap-connector-configuration-01.png) ### [](#idoc-ライブラリをインストールする)IDOC ライブラリをインストールする 1. **\[Add Dependency (連動関係を追加)\]**​ をクリックします。 2. **\[Install (インストール)\]**​ をクリックします。 ![sap connector configuration 02](/mulesoft/current/ja-jp/sap-connector/5.3/_images/sap-connector-configuration-02.png) 3. **\[Install (インストール)\]**​ メニューで、​**\[Browse (参照)\]**​ をクリックして、ライブラリファイルを見つけます。 4. 一意のグループ ID、アーティファクト ID、バージョンを指定します。 ![sap connector configuration 02 in](/mulesoft/current/ja-jp/sap-connector/5.3/_images/sap-connector-configuration-02-in.png) 5. **\[Finish (完了)\]**​ をクリックするか、キャンセルする場合は、​**\[Remove Dependency (連動関係を削除)\]**​ をクリックします。 ![sap connector configuration 02 finish](/mulesoft/current/ja-jp/sap-connector/5.3/_images/sap-connector-configuration-02-finish.png) ### [](#jco-ライブラリをインストールする)JCO ライブラリをインストールする 1. **\[Add Dependency (連動関係を追加)\]**​ をクリックします。 2. **\[Install (インストール)\]**​ をクリックします。 ![sap connector configuration 02](/mulesoft/current/ja-jp/sap-connector/5.3/_images/sap-connector-configuration-02.png) 3. **\[Install (インストール)\]**​ メニューで、​**\[Browse (参照)\]**​ をクリックして、ライブラリファイルを見つけます。 4. 一意のグループ ID、アーティファクト ID、バージョンを指定します。 ![sap connector configuration 03 in](/mulesoft/current/ja-jp/sap-connector/5.3/_images/sap-connector-configuration-03-in.png) 5. **\[Finish (完了)\]**​ をクリックするか、キャンセルする場合は、​**\[Remove Dependency (連動関係を削除)\]**​ をクリックします。 ![sap connector configuration 03 finish](/mulesoft/current/ja-jp/sap-connector/5.3/_images/sap-connector-configuration-03-finish.png) ### [](#jco-native-ライブラリをインストールする)JCO Native ライブラリをインストールする 1. **\[Add Dependency (連動関係を追加)\]**​ をクリックします。 2. **\[Install (インストール)\]**​ をクリックします。 ![sap connector configuration 02](/mulesoft/current/ja-jp/sap-connector/5.3/_images/sap-connector-configuration-02.png) 3. **\[Install (インストール)\]**​ メニューで、​**\[Browse (参照)\]**​ をクリックして、ライブラリファイルを見つけます。 MacOS では、JCO バージョン 3.1.2 以降、ネイティブライブラリの拡張子が ​`jnilib`​ から ​`dylib`​ に変更されました。 1. ローカルマシンからライブラリをインストールした後: 2. **\[Shared Folder (共有フォルダー)\]**​ ウィンドウの一番下に移動します。 3. **\[Any (任意)\]**​ を選択して、​`dylib`​ ネイティブライブラリを選択します。 4. **\[Install file into local repository (ローカルリポジトリにファイルをインストール)\]**​ ウィンドウで、次の項目の値を入力します。 - **Group ID (グループ ID)** - **Artifact ID (アーティファクト ID)** - **Version (バージョン)** 4. 一意のグループ ID、アーティファクト ID、バージョンを指定します。 ![sap connector configuration 04 in](/mulesoft/current/ja-jp/sap-connector/5.3/_images/sap-connector-configuration-04-in.png) 5. **\[Finish (完了)\]**​ をクリックするか、キャンセルする場合は、​**\[Remove Dependency (連動関係を削除)\]**​ をクリックします。 ![sap connector configuration 04 finish](/mulesoft/current/ja-jp/sap-connector/5.3/_images/sap-connector-configuration-04-finish.png) ライブラリのインストールが終了したら、正常にインストールされた各ライブラリに緑色のチェックマークが付いた次のような設定画面が表示されます。 ![sap connector libraries installed](/mulesoft/current/ja-jp/sap-connector/5.3/_images/sap-connector-libraries-installed.png) ## [](#接続をテストする)接続をテストする 1. SAP ログインにサインインして必要な情報を取得し、​[Studio での設定](#gepparms)​の説明に従って、残りの ​**\[Global Element Properties (グローバル要素プロパティ)\]**​ 項目を設定します。 2. **\[Test Connection (接続をテスト)\]**​ をクリックして、ログイン情報が正しいことを確認します。 ## [](#コネクタの設定)コネクタの設定 Mule プロジェクトに複数の SAP Connector インスタンスがある場合、グローバル SAP 要素を作成できます。SAP Connector オブジェクトには、SAP サーバーに接続できるようにする設定プロパティが保持されています。 SAP Connector の設定を作成する手順は、次のとおりです。 1. **\[Global Elements (グローバル要素)\]**​ セクションに移動し、​**\[Create (作成)\]**​ をクリックします。 2. **\[Connector Configuration (コネクタ設定)\]**​ セクションで ​**\[SAP Inbound (SAP インバウンド)\]**​ または ​**\[SAP Outbound (SAP アウトバウンド)\]**​ のいずれかを選択します。 3. **\[General (一般)\]**​ タブペインで、SAP 接続を定義するのに必要なパラメーターを入力します。これは、SAP システム管理者が提供できます。 SAP グローバル要素プロパティにより、接続プロパティを定義したり、必要な SAP 連動関係をプロジェクトに追加したりできます。 SAP Connector では、使いやすいように最も一般的なプロパティのみがコネクタパラメーターとして表示されます。​**\[Properties (プロパティ)\]**​ パネルにリストされていないプロパティを設定するには、​[「拡張プロパティの定義」](https://docs.mulesoft.com/jp/sap-connector/5.3/sap-connector-config-topics)​トピックを参照してください。 最低限定義する必要のある属性は次のとおりです。
項目 説明

Application Server Host (アプリケーションサーバーホスト)

SAP エンドポイント。

Username (ユーザー名)

認証された SAP ユーザーのユーザー名。

Password (パスワード)

認証された SAP ユーザーのパスワードログイン情報。

System Number (システム番号)

SAP システムに接続するために使用されるシステム番号。

Client (クライアント)

SAP システムに接続するために使用される SAP クライアント ID (通常は数値)。

Login Language (ログイン言語)

SAP 接続で使用される言語。たとえば、英語の場合は ​EN​ になります。

プロパティプレースホルダー構文は簡単かつ再利用可能な方法であるため、この方法を使用してログイン情報を読み込むことをお勧めします。 SAP インスタンスへの接続が正しいことを確認するには、​**\[Test Connection (接続をテスト)\]**​ をクリックします。ログイン情報が正しければ、​`Test Connection Successful`​ というメッセージが表示されます。 ## [](#view-app-log)アプリケーションログの表示 問題を確認するため、アプリケーションログを次の方法で表示できます。 - アプリケーションを Anypoint Platform から実行している場合、出力は Anypoint Studio のコンソールウィンドウに表示される。 - コマンドラインから Mule を使用してアプリケーションを実行している場合、アプリケーションログは OS コンソールに表示される。 アプリケーションのログファイル (​`log4j2.xml`​) でログファイルパスがカスタマイズされていない場合、デフォルトの場所 ​`MULE_HOME/logs/.log`​ でアプリケーションログを表示することもできます。 ## [](#次のステップ)次のステップ Studio でこのコネクタを設定したら、​[「追加設定情報」](https://docs.mulesoft.com/jp/sap-connector/5.3/sap-connector-config-topics)​トピックで設定に関する他のトピックを参照してください。 ## [](#関連情報)関連情報 - [Anypoint Connector の概要](https://docs.mulesoft.com/connectors/introduction/introduction-to-anypoint-connectors) - [MuleSoft ヘルプセンター](https://help.mulesoft.com) # SAP Connector 5.3 の XML と Maven のサポート XML で Mule アプリケーションを手動でコーディングすることもできますが、Anypoint Studio を使用した方が効率的です。 Anypoint Studio の XML エディターまたはテキストエディターから Mule Runtime Engine (Mule) アプリケーションを手動でコーディングする場合、参照ステートメントを XML Mule フローと Apache Maven ​`pom.xml`​ ファイルの両方に追加することで、アプリケーションからコネクタにアクセスできます。 Studio でコネクタを追加すると、Studio は自動的に XML コードにコネクタの名前空間およびスキーマの場所を入力し、​`pom.xml`​ ファイルに連動関係を追加します。 ## [](#コネクタの名前空間の追加)コネクタの名前空間の追加 次のコードを設定 XML のヘッダーの ​``​ タグ内に貼り付けます。 ```xml http://www.mulesoft.org/schema/mule/sap http://www.mulesoft.org/schema/mule/sap/current/mule-sap.xsd ``` 次の例は、​``​ XML ブロック内に名前空間ステートメントが配置される方法を示しています。 ```xml ="http://www.mulesoft.org/schema/mule/" xmlns:ee="http://www.mulesoft.org/schema/mule/ee/core" xmlns:http="http://www.mulesoft.org/schema/mule/http" xmlns:file="http://www.mulesoft.org/schema/mule/file" 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/file http://www.mulesoft.org/schema/mule/file/current/mule-file.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"> ``` ## [](#pom-ファイルの連動関係の追加)POM ファイルの連動関係の追加 Apache Maven ​`pom.xml`​ ファイルは Anypoint Studio によって生成され、Mule アプリケーションの連動関係が含まれます。Mule アプリケーションを手動でコーディングする場合、次の XML スニペットを ​`pom.xml`​ ファイルに含めてこのコネクタにアクセスできるようにします: ```xml com.mulesoft.connectors mule-sap-connector x.x.x mule-plugin ``` `x.x.x`​ を使用しているコネクタに対応するバージョンに置き換えます。 JCo ライブラリをサポートするために、次の連動関係を追加します。 ```xml org.mule.tools.maven mule-maven-plugin ${mule.maven.plugin.version} true com.sap.conn.jco com.sap.conn.jco.sapjco3 com.sap.conn.idoc com.sap.conn.idoc.sapidoc3 com.sap.conn.jco com.sap.conn.jco.libsapjco3 ``` 最新の ​`pom.xml`​ ファイル情報を取得する手順は、次のとおりです。 1. [Anypoint Exchange](https://www.mulesoft.com/exchange/)​ に移動します。 2. Exchange で、​**\[Login (ログイン)\]**​ をクリックし、Anypoint Platform のユーザー名とパスワードを指定します。 3. Exchange で、「​`sap`​」を検索します。 4. コネクタを選択します。 5. 画面の右上付近にある ​**\[Dependency Snippets (連動関係スニペット)\]**​ をクリックします。 ## [](#次のステップ)次のステップ 名前空間および ​`pom.xml`​ ファイルを完了したら、SAP の​[例](https://docs.mulesoft.com/jp/sap-connector/5.3/sap-connector-examples)​を試すことができます。 ## [](#関連情報)関連情報 - [Anypoint Connector の概要](https://docs.mulesoft.com/connectors/introduction/introduction-to-anypoint-connectors) - [MuleSoft ヘルプセンター](https://help.mulesoft.com) # SAP Connector 5.3 のトラブルシューティング このページには、SAP 用 Anypoint Connector (SAP Connector) の一般的なトラブルシューティングに関する提案が記載されています。 ## [](#common-throws)一般的なスロー - SAP:CONNECTIVITY A connection cannot be established. (接続を確立できません。) - SAP:INVALID\_CACHE The cache used internally by the JCo library is corrupted or can’t be read. (JCo ライブラリで内部的に使用されているキャッシュが破損しているか、読み取ることができません。) - SAP:INVALID\_INPUT User input cannot be parsed or is incorrect. (ユーザー入力を解析できないか、ユーザー入力が正しくありません。) - SAP:METADATA\_UNAVAILABLE The metadata for an IDoc segment is unavailable. (IDoc セグメントのメタデータを利用できません。) - SAP:NOT\_FOUND A function or IDoc template cannot be found or retrieved. (関数または IDoc テンプレートが見つからないか、取得できません。) - SAP:NOT\_SUPPORTED An action occurs that is not supported by any JCo handler. (JCo ハンドラーでサポートされていないアクションが実行されました。) - SAP:PARSING The JCo library has a parsing issue or the connector cannot convert XML to a BAPI function or an IDoc. (JCo ライブラリに解析の問題があるか、コネクタが XML を BAPI 関数または IDoc に変換できません。) - SAP:RETRY\_EXHAUSTED Execution block retries are exhausted. (実行ブロックの再試行が終了しました。) - SAP:SYSTEM\_BUSY The remote ABAP system is too busy to handle a request. (リモートの ABAP システムが混雑しているため要求を処理できません。) - SAP:TIMEOUT A timeout exception happens inside the JCo library. (JCo ライブラリ内でタイムアウト例外が発生しました。) ## [](#common-solutions)一般的な解決策 ### [](#check-log-files)ログファイルを確認する Mule では (アプリケーションごとに) 次のログファイルが ​`$MULE_HOME\logs`​ ディレクトリに保存されます。 - `mule.log` デフォルトの Mule ログファイル - `mule-app-YOUR_APP_NAME.log` アプリケーションごとのログファイル ### [](#enable-jco-trace)JCo トレースを有効にする JCo トレースは Mule の外部から有効にできます。JCo トレースは次の Java 起動環境プロパティを受け入れます。 - `-Djco.trace_level=N` N は 0 ~ 10 で、10 は最も詳細なトレース - `-Djco.trace_path=` 省略可能 JCo は ​`0`​ (デフォルト) ~ ​`10`​ のトレースレベルをサポートします。 トレースレベルが高いほど、トレースデータの量が増加します。各トレースレベルには、下位のトレースレベルのすべてのトレースデータも含まれます。多くの JCo コールと転送されるコンテンツで高い JCo トレースレベルを使用する場合は、十分なディスク容量が使用可能であることを確認してください。 コネクタレベルでトレースを有効にする手順は、次のとおりです。 1. 属性 ​`jcoTrace`​ を ​`true`​ に設定するか、値 ​`1`​ の拡張 JCo プロパティ ​`jco.client.trace`​ または ​`jco.server.trace`​ を指定します。 2. Mule の起動時に ​`-Djco.trace_level=N`​ の値を指定します。
トレースレベル AS Java セキュリティレベル JCo 3 トレースコンテンツ

0

NONE

トレースなし

1

ERROR

JCo バージョンとランタイム環境情報、およびアプリケーションエラーを含まない JCo 内部エラーと例外

2

WARNING

JCo 警告メッセージ (ABAP 以外のシステム例外など)

3

INFO

JCo 情報メッセージ (ABAP 例外など)

4

PATH

RFC コールおよび重要な公開 API コール

5

DEBUG

重要な内部ミドルウェアコール
コードページ情報

6

DEBUG

接続属性
ASCII コンテンツデータ (構造の最初の 1000 文字またはテーブルの最初の 5 行)

7

DEBUG

RFC メタデータ (名前、型、オフセット、長さ、インポートおよびエクスポートオプション、およびコンテンツデータのその他の 16 進数値を含む)

8

DEBUG

完全なコンテンツデータダンプ (文字または行の制限なし)
コール元のスタックトレース情報 (たとえば、​getClient()​ はアプリケーションを識別します)

9

DEBUG

追加情報なし (将来の使用のために予約済み)

10

DEBUG

追加情報なし (将来の使用のために予約済み)

3. 必要に応じて、​`-Djco.trace_path=`​ の値を指定します。通常、これは、トレースファイルが保存されている既存のディレクトリへの完全パスですが、他の特別な値を適用できます。 - `stdout` JCo トレース情報は標準​**出力**​ストリームに送信されます。 - `stderr` JCo トレース情報は標準​**エラー**​ストリームに送信されます。 `-Djco.trace_path`​ を設定しない場合、トレースファイルは作業ディレクトリに保存されます。Mule スタンドアロンインスタンスの場合、通常は ​`$MULE_HOME/bin`​ フォルダーになります。 ## [](#common-errors)一般的なエラー ### [](#error-jco-missing-libs)JCo ライブラリの欠落エラー 通常、1 つ以上の必須の SAP JCo 連動関係を読み込まずに接続のテストや Mule アプリケーションのデプロイを実行した場合にこのエラーが発生します。 - JCo ネイティブライブラリの欠落 ```text java.lang.ExceptionInInitializerError: JCo initialization failed with java.lang.UnsatisfiedLinkError: no sapjco3 in java.library.path ``` ![SAP エラー、JCo ネイティブライブラリ](/mulesoft/current/ja-jp/sap-connector/5.3/_images/sap-error-jco-libs1.png) - JCo JAR の欠落 java.lang.NoClassDefFoundError: com/sap/conn/jco/JCoTraceListener ![SAP エラー、JCo JAR](/mulesoft/current/ja-jp/sap-connector/5.3/_images/sap-error-jco-libs2.png) - IDoc JAR の欠落 java.lang.NoClassDefFoundError: com/sap/conn/idoc/IDocMetaDataUnavailableException ![SAP エラー、IDoc JAR](/mulesoft/current/ja-jp/sap-connector/5.3/_images/sap-error-jco-libs3.png) このエラーを解決する手順は、次のとおりです。 1. **\[Required dependencies (必須の連動関係)\]**​ セクションで、赤い感嘆符アイコンが付いている連動関係の横にある ​**\[Add File (ファイルを追加)\]**​ ボタンをクリックします。 2. 連動関係を参照し、適切なファイルを選択します。 欠落している連動関係がプロジェクトのクラスパスに自動的に追加されます。
Package Explorer​ で、プロジェクトを右クリックし、​[Build Path (ビルドパス)] > [Configure Build Path (ビルドパスを設定)]​ に移動すると、プロジェクトのビルドパス内のライブラリが表示されます。
### [](#error-jco-classloader-conflicts)JCo クラスローダーの競合 ネイティブライブラリをグローバル設定から読み込むと、ファイルのコピーが ​`$YOUR_APP/src/main/app/lib`​ 内に配置されますが、ソースファイルは削除されません。そのため、接続のテストやアプリケーションのデプロイを実行するときに、JCo JAR ファイルと同じディレクトリを共有していると、次の例外が発生します。 ```text java.lang.ExceptionInInitializerError: JCo initialization failed with java.lang.UnsatisfiedLinkError: Native Library /home/mule/sap-errors/lib/jco/libsapjco3.so already loaded in another classloader ``` ![SAP エラー、JCo クラスローダーフォルダー](/mulesoft/current/ja-jp/sap-connector/5.3/_images/sap-error-jco-classloader-folder.png) このエラーを解決する手順は、次のとおりです。 次のいずれかの解決策を選択します。最初の解決策は最も簡単ですが、2 番目の解決策をベストプラクティスとしてお勧めします。 - JCo JAR ファイルが存在するディレクトリから​_重複する_​ネイティブライブラリファイルを削除します。 ![SAP エラー、JCo クラスローダーの修正](/mulesoft/current/ja-jp/sap-connector/5.3/_images/sap-error-jco-classloader-fix.png) - ダイナミックリンクライブラリを保持するように環境変数 ​`LD_LIBRARY_PATH`​ を設定し、同じ Mule Runtime サーバー内にデプロイされている複数のアプリケーションでその環境変数を共有します。 ### [](#error-jco-version-conflicts)JCo バージョンの競合 次のエラーの最も多い原因は、異なるバージョンのネイティブライブラリと JCo JAR ファイルが使用されていることです。 ```text java.lang.ExceptionInInitializerError: Native library sapjco3 is too old. Found library System-defined path to libsapjco3.so has version "720.612", but required is at least version "720.713". ``` このエラーを解決するには、次の要件が満たされていることを確認します。 - 64 ビットモードで動作する JVM では 64 ビット JCo が必要で、32 ビットモードで動作する JVM では 32 ビット JCo が必要です。 - Microsoft Windows では、JCo には Microsoft Visual Studio 2005 C/C++ ランタイムライブラリが必要です。 - `sapjco.jar`​ と、​`sapjco3.dll`​、​`sapjco3.so`​、および ​`sapjco3.jnilib`​ のいずれかの両方が​**同じ JCo パッケージ**​から取得されている必要があります。 使用している JCo ライブラリのバージョンを確認するには、次のいずれかを実行します。 - Windows (UI): 1. `sapjco3.jar`​ ファイルが配置されているディレクトリに移動します。 2. `sapjco3.jar`​ ファイルを右クリックします。 3. コンテキストメニューから ​**\[プログラムから開く\]**​ を選択します。 4. **\[Java 2 Platform Standard Edition\]**​ バイナリをクリックします。 5. 表示された JCo ダイアログに表示されている情報を確認します。 - Mac: 1. ターミナルウィンドウを開きます。 2. `sapjco3.jar`​ ファイルが配置されているディレクトリに移動します。 3. コマンド ​`java -jar sapjco3.jar -version`​ を実行します。 4. 表示された JCo ダイアログに表示されている情報を確認します。 ### [](#error-jco-renaming-conflicts)JCo 名前変更の競合 JCo 3.0.11 以降では、SAP JCo ライブラリファイルは JCo により認識されないため、名前変更できず、次のエラーが表示されます。 ```text java.lang.ExceptionInInitializerError: Illegal JCo archive "sapjco3-3.0.11.jar". It is not allowed to rename or repackage the original archive "sapjco3.jar" ``` このエラーを解決する手順は、次のとおりです。 Apache Maven を使用している場合は、属性 ​`true`​ を持つ ​**maven-dependency-plugin**​ を設定します。これを設定し、JCo アーティファクトを削除すると、すべての連動関係ライブラリのバージョン番号が削除されます。 詳細は、外部サイトで [「Apache Maven Dependency Plugin (Apache Maven Dependency プラグイン)」](http://maven.apache.org/plugins/maven-dependency-plugin/usage.html)​を参照してください。 ### [](#error-message-not-a-sap-object)メッセージが SAP オブジェクトではない エンドポイントは、BAPI または IDoc を実行するために必要な入力パラメーターを含む SAP オブジェクトを想定します。 以下のメッセージが表示された場合、次のいずれかが考えられます。 - 必要な入力パラメーターが指定されていない。 - 入力パラメーターは指定されているが、SAP オブジェクトが無効である。 ```text org.mule.api.transport.DispatchException: Message is not a SAP object, it is of type "byte[]". Check the transformer for this Connector "SapConnector". Failed to route event via endpoint: SapOutboundEndpoint{endpointUri=sap://function, connector=SapConnector { name=SapConnector lifecycle=start this=4571cebe numberOfConcurrentTransactedReceivers=4 createMultipleTransactedReceivers=true connected=true supportedProtocols=[sap] serviceOverrides= } , name='endpoint.sap.function', mep=ONE_WAY, properties={evaluateFunctionResponse=false, bapiTransaction=false, functionName=BAPI_MATERIAL_AVAILABILITY, rfcType=srfc, outputXml=true}, transactionConfig=Transaction{factory=null, action=INDIFFERENT, timeout=0}, deleteUnacceptedMessages=false, initialState=started, responseTimeout=10000, endpointEncoding=UTF-8, disableTransportTransformer=false}. Message payload is of type: byte[] ``` この問題を解決する手順は、次のとおりです。 次の 2 つのいずれかの操作を実行して、BAPI または IDoc へのコールを表す SAP オブジェクトを作成します。 - BAPI コールを含む SAP オブジェクトが含まれる XML を作成します。 - 実際の SAP コールを作成するための入力が含まれる XML 定義を指定します。 ### [](#error-icoc-metadata-unavailable)IDoc メタデータを使用できない 次のエラーが発生した場合、RFC 宛先が Unicode をサポートしていないことを意味します。 ```text RfcException: [mc-vmware|a_rfc] message: (3) IDOC_ERROR_METADATA_UNAVAILABLE: The meta data for the IDoc type "??????????????????????????å å" with extension " ORDSAPB6L B60CL ???" is unavailable. Return code: RFC_FAILURE(1) error group: 104 key: RFC_ERROR_SYSTEM_FAILURE ``` このエラーを解決する手順は、次のとおりです。 トランザクション ​**SM59**​ を使用して、SAP インスタンスでの Unicode サポートを設定します。 ### [](#error-missing-tid-handler)TID ハンドラーの欠落 TID ハンドラーが定義されていないため、次の例外を受信します。 ```text RfcException: [mule.local|MULESOFT_IDOC_SEND_TEST] message: check TID fault: No transaction handler is installed. Unable to process tRFC/qRFC requests. Return code: RFC_FAILURE(1) error group: 104 key: RFC_ERROR_SYSTEM_FAILURE Exception raised by myhost.com.ar|MULESOFT_IDOC_SEND_TEST at com.sap.conn.jco.rt.MiddlewareJavaRfc$JavaRfcServer.playbackTRfc(MiddlewareJavaRfc.java:2625) at com.sap.conn.jco.rt.MiddlewareJavaRfc$JavaRfcServer.handletRfcRequest(MiddlewareJavaRfc.java:2546) at com.sap.conn.jco.rt.MiddlewareJavaRfc$JavaRfcServer.listen(MiddlewareJavaRfc.java:2367) at com.sap.conn.jco.rt.DefaultServerWorker.dispatch(DefaultServerWorker.java:284) at com.sap.conn.jco.rt.DefaultServerWorker.loop(DefaultServerWorker.java:369) at com.sap.conn.jco.rt.DefaultServerWorker.run(DefaultServerWorker.java:245) at java.lang.Thread.run(Thread.java:680) ``` このエラーを解決する手順は、次のとおりです。 ``​ で ​`rfcType`​ を ​`trfc`​ または ​`qrfc`​ に設定します。 ### [](#error-parameter-not-supported)パラメーターがサポートされていない SAP 拡張プロパティには有効な名前が必要です。このため、無効なプロパティ名を指定すると、次のようなエラーメッセージが表示されます。 ```text Root Exception stack trace: RfcException: [null] message: Parameter 'type' not supported: 'f' Return code: RFC_INVALID_PARAMETER(19) error group: 101 key: RFC_ERROR_PROGRAM at com.sap.conn.rfc.api.RfcOptions.checkParameters(RfcOptions.java:182) at com.sap.conn.jco.rt.MiddlewareJavaRfc$JavaRfcClient.connect(MiddlewareJavaRfc.java:1328) at com.sap.conn.jco.rt.ClientConnection.connect(ClientConnection.java:731) + 3 more (set debug level logging or '-Dmule.verbose.exceptions=true' for everything) ``` この例では、​`type`​ という名前のパラメーターが無効であることが JCo ライブラリにより報告されています。 このエラーを解決する手順は、次のとおりです。 JCo 拡張プロパティの有効なプロパティ名を指定します。 ### [](#error-multiple-jco-servers)複数の JCo サーバーが実行されている 2 つ以上の JCo サーバーには、設定名が異なっていても同じ設定パラメーターセットを含めることはできません。 次のエラーが表示されます。 ```text ERROR 2012-07-05 10:11:30,525 [WrapperListener_start_runner] com.mulesoft.mule.transport.sap.SapMessageReceiver: Error connecting to server com.sap.conn.jco.JCoException: (101) JCO_ERROR_CONFIGURATION: Server configuration for sapavalara-1.0-SNAPSHOT-gettax is already used for a running server at com.sap.conn.jco.rt.StandaloneServerFactory.update(StandaloneServerFactory.java:358) at com.sap.conn.jco.rt.StandaloneServerFactory.getServerInstance(StandaloneServerFactory.java:176) at com.sap.conn.jco.server.JCoServerFactory.getServer(JCoServerFactory.java:74) at com.mulesoft.mule.transport.sap.jco3.SapJcoRfcServer.initialise(SapJcoRfcServer.java:46) at com.mulesoft.mule.transport.sap.jco3.SapJcoServerFactory.create(SapJcoServerFactory.java:60) at com.mulesoft.mule.transport.sap.SapMessageReceiver.doConnect(SapMessageReceiver.java:56) at org.mule.transport.AbstractTransportMessageHandler.connect(AbstractTransportMessageHandler.java:218) at org.mule.transport.AbstractConnector.registerListener(AbstractConnector.java:1254) ```
これは、同じ Mule サーバーで実行されている Mule アプリケーションにのみ適用されます。Mule サーバーグループのノードにこの制限はありません。
このエラーを解決する手順は、次のとおりです。 次の属性を使用して、サーバーグループキーを作成します (サーバーグループキーは JCo サーバー接続のユニーク性を決定します)。 - `jco.server.gwhost` - `jco.server.gwserv` - `jco.server.progid` 2 つのサーバーで ​`gwhost`​、​`gwserv`​、および ​`progid`​ の値が異なる場合のみ、2 つのサーバーを同じ Mule インスタンスで開始できます (JCo はこの情報をシングルトンクラスで保持します)。 ## [](#see-also)関連情報 - [Anypoint Connector の概要](https://docs.mulesoft.com/connectors/introduction/introduction-to-anypoint-connectors) - [MuleSoft ヘルプセンター](https://help.mulesoft.com) # SAP Connector 5.3 の例 ## [](#sap-接続の確立)SAP 接続の確立 SAP との接続を確立し、SAP Connector の ​**Function source**​ 操作 (export パラメーターを SAP に返します) を使用して関数を受信する Mule アプリケーションを作成します。 1. Anypoint Studio で、新しい Mule プロジェクトを作成します。 2. Studio タスクバーの左上にある Exchange アイコン ​**(X)**​ をクリックします。 3. Exchange で、​**\[Login (ログイン)\]**​ をクリックし、Anypoint Platform のユーザー名とパスワードを指定します。 4. Exchange で、種別として ​**\[Connector s (コネクタ)\]**​ を選択し、「SAP Connector」を検索します。 5. \[SAP Connector for Mule 4 (Mule 4 用 SAP Connector)\] タイルを選択し、​**\[Add to project (プロジェクトに追加)\]**​ をクリックします。 6. SAP の ​**Function source**​ 操作をキャンバスのソース領域のフローの開始位置にドラッグします。 7. 新しい ​**\[SAP インバウンド\]**​ グローバル要素設定を作成し、環境値を指定します。 8. **Transform Message**​ コンポーネントをフローに追加して、メタデータに基づいて詳細を指定します。 ![sap function return response](/mulesoft/current/ja-jp/sap-connector/5.3/_images/sap-function-return-response.png) これで、次の図のように、フローに ​**Function source**​ (キャンバスのソース領域内) と ​**Transform Message**​ が含まれます。 ![sap flow response](/mulesoft/current/ja-jp/sap-connector/5.3/_images/sap-flow-response.png) SAP Design Studio には、受信したオブジェクトとその応答に関するフィードバックが表示されます。 ![sap result sap gui](/mulesoft/current/ja-jp/sap-connector/5.3/_images/sap-result-sap-gui.png) ## [](#sap-への-idoc-の送信)SAP への IDoc の送信 この例では、IDoc を SAP に送信する Mule アプリケーションを作成します。 1. Anypoint Studio で、新しい Mule プロジェクトを作成します。 2. **HTTP Listener**​ 操作をキャンバスにドラッグし、デフォルト値を使用します。 3. **HTTP Request**​ 操作をキャンバスにドラッグし、​**\[Path (パス)\]**​ を ​`/sendIDoc`​ に設定します。 **HTTP Listener**​ 操作で使用するものと同じ HTTP 設定を使用します。 4. 新しい SAP アウトバウンドグローバル要素設定を作成し、環境値を指定します。 5. **\[Test Connection (接続をテスト)\]**​ をクリックして、Mule Runtime Engine が SAP インスタンスに接続できることを確認します。 6. 正常に接続できた場合は、設定を保存します。 それ以外の場合、無効なパラメーターを確認および修正して、再度テストします。 7. SAP Connector を選択して HTTP 操作の横に ​**Send IDoc**​ 操作を追加します。 8. 次の値を使用して操作を設定します。
パラメーター 値

Display Name (表示名)

Send IDoc 操作の表示名

Connector configuration (コネクタ設定)

作成したグローバル要素の ​SAP_Outbound

Key (キー)

MATMAS01

Content (コンテンツ)

#[payload]

9. **Transform Message**​ コンポーネントを SAP Connector の前にドロップし、コンポーネントをクリックしてそのプロパティエディターを開きます。 10. メタデータが取得されたら、入力する従業員の各項目を選択します。 変換スクリプトの XML には、​**Transform Message**​ の DataWeave コンテンツが次のように表示されます。 ```dataweave %dw 2.0 output application/xml --- read(' EDI_DC40 800 ',"application/xml") ``` 11. SAP エンドポイントの直後に ​**Logger**​ を追加します。 アプリケーションを実行すると、​**Logger**​ により Anypoint Studio コンソールにメッセージが表示され、ログでコネクタのペイロードを確認できます。 12. **\[File (ファイル)\]**​ > ​**\[Save (保存)\]**​ をクリックして、アプリケーションを保存します。 13. **\[Run (実行)\]**​ > ​**\[Run as (別のユーザーとして実行)\]**​ > ​**\[Mule Application (Mule アプリケーション)\]**​ をクリックして、アプリケーションを実行します。 Anypoint Studio が提供する Web サーバーを使用して、ユーザーはブラウザーからアプリケーションをテストできます。 14. Web ブラウザーから、次のクエリパラメーターの形式で、従業員の内部 ID、名、姓を入力してアプリケーションをテストします。 ```none http://localhost:8081/sendIDoc ``` Mule Runtime Engine によってクエリが実行され、従業員レコードが追加されます。 ### [](#受信-idoc-要求のトリガー)受信 IDoc 要求のトリガー この例は RFC サーバーのように機能し、SAP ゲートウェイで自身を登録します。外部 SAP システムからの受信 IDoc 要求を待機します。 1. Anypoint Studio で、新しい Mule プロジェクトを作成します。 2. Exchange から SAP Connector をプロジェクトに追加します。 3. SAP の ​**Document source**​ 操作をキャンバスのソース領域のフローの開始位置にドラッグします。 4. 新しい ​**\[SAP インバウンド\]**​ グローバル要素設定を作成し、環境値を指定します。 5. **Document source**​ の直後に ​**Logger**​ を追加します。 アプリケーションを実行すると、​**Logger**​ により Anypoint Studio コンソールにメッセージが表示され、ログでコネクタのペイロードを確認できます。 6. 新しい Mule フローで ​**HTTP Listener**​ 操作をキャンバスにドラッグし、デフォルト値を使用します。 7. **HTTP Request**​ 操作をキャンバスにドラッグし、​**\[Path (パス)\]**​ を ​`/triggerIDoc`​ に設定します。 **HTTP Listener**​ 操作で使用するものと同じ HTTP 設定を使用します。 8. フローに ​**Transform Message**​ コンポーネントを追加します。 このメッセージのコンテンツは、SAP から SAP IDoc ソースに送信する IDoc をトリガーする関数のペイロードです。 ```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 }, } } ``` 9. SAP の ​**Synchronous remote function call**​ 操作をキャンバスのソース領域にドラッグします。 この操作は、SAP IDoc ソースへの送信を要求された IDoc をトリガーします。 10. キー値を入力します。 キー値が正しい場合、​**Transform Message**​ で関数のペイロードが表示されます。 ![sap connector remote function call key](/mulesoft/current/ja-jp/sap-connector/5.3/_images/sap-connector-remote-function-call-key.png) 11. **\[File (ファイル)\]**​ > ​**\[Save (保存)\]**​ をクリックして、アプリケーションを保存します。 12. **\[Run (実行)\]**​ > ​**\[Run as (別のユーザーとして実行)\]**​ > ​**\[Mule Application (Mule アプリケーション)\]**​ をクリックして、アプリケーションを実行します。 Anypoint Studio が提供する Web サーバーを使用して、ユーザーはブラウザーからアプリケーションをテストできます。 13. Web ブラウザーから「http://localhost:8081/triggerIDoc」と入力してアプリケーションをテストします。 キャンバスでフローは次のようになります。 ![sap remote function call flow](/mulesoft/current/ja-jp/sap-connector/5.3/_images/sap-remote-function-call-flow.png) 応答の例: ```dataweave EDI_DC40 800 0000000003572826 740 30 1 2 MATMAS01 MATMAS SAPIDE LS T90CLNT090 MULE11_TP LS MULE11_LS 20191004 050305 20191004050305 ... ``` ``` ### [](#idoc-を-sap-に送信する-xml)IDoc を SAP に送信する XML ```xml EDI_DC40 800 ',"application/xml") ]]> ``` ## [](#関連情報)関連情報 - [Anypoint Connector の概要](https://docs.mulesoft.com/connectors/introduction/introduction-to-anypoint-connectors) - [MuleSoft ヘルプセンター](https://help.mulesoft.com) # SAP Connector 5.3 の用語 次に、一般的に要される SAP システムの頭字語を示します。 ABAP (アドバンスドビジネスアプリケーションプログラミング) SAP の独自プログラミング言語であり、ビジネスアプリケーションをビルドするための NetWeaver プラットフォームの一部。 ALE (アプリケーションリンクイネーブリング) SAP システムの分散アプリケーションおよび統合インストールをセットアップします。これには、緩やかにリンクしている SAP アプリケーション間で整合性が確保されたデータを使用するビジネス駆動型メッセージエクスチェンジが含まれます。アプリケーションは、中央データベースを使用せずに、同期通信および非同期通信で統合されます。 BAPI (ビジネスアプリケーションプログラミングインターフェース) 設計条件を満たし、次のような機能を提供する関数モジュール。 - SAP ビジネスオブジェクトのメソッドを実装する。 - さまざまなバージョンの SAP システムで静的インターフェースを維持する。 - リモートで有効化する。 - ユーザー操作の有無に関係なく実行が完了する。 - エラーを処理する。 FM (関数モジュール) SAP の ABAP 言語で定義された手順。これにより、SAP でグローバル関数をカプセル化および再利用できます。 IDoc (中間ドキュメント) SAP システム間で電子データを交換するための標準 SAP 形式。通常、メッセージ種別 (納品書や発注書など) ごとに異なる特殊な形式 (IDoc 種別と呼ばれる) に対応しています。ただし、関連するコンテンツが含まれる複数のメッセージ種別を 1 つの IDoc 種別に割り当てることもできます。 Java API 動的なメタデータルックアップおよびキャッシュを処理します。Java API は、SAP BAPI 関数モジュールのパラメーターおよびテーブルで使用する ​`JCO.Function`​ コンテナを Java で実装します。Java アプリケーションは、Java API 上に構築されます。 JNI (Java ネイティブインターフェース) JNI は、SAP Connector ライブラリのレイヤーです。JCo は、Java で C ライブラリをラップして、SAP システムへのプラットフォームネイティブなアクセスを提供します。RFC ミドルウェアは、JNI レイヤーを介して RFC ライブラリを使用します。 RFC (リモート関数コール) SAP システムとの通信は、RFC プロトコルを介して行われます。リモート関数コールは、BAPI をコールするか、コール元プログラムとして別のシステムで実行される IDoc 処理をトリガーします。RFC インターフェースにより、2 つの SAP システム間または SAP と外部システム間の関数コールが可能になります。 RFC レイヤー リモート関数コールを処理する SAP コンポーネント。 RFC ライブラリ SAP システムにアクセスするための C 言語ベースの関数のライブラリ。RFC ライブラリの対応は、JNI によって行われます。 SAP Java IDoc クラスライブラリ SAP IDoc の構造化された高レベルの解析とナビゲーションを Java で提供し、次のアドオンパッケージで構成されます。 - SAP Java ベース IDoc クラスライブラリ: ミドルウェアに依存する Java IDoc クラスライブラリの実装の一般的な基本クラスとインターフェースのセットを提供する、ミドルウェアに依存しないライブラリ。 - SAP Java Connector IDoc クラスライブラリ: IDoc を作成、送信、受信するためのミドルウェアに依存しないライブラリ。 SAP NetWeaver SAP ソリューションで使用される主要なテクノロジーおよびアプリケーションプラットフォームの 1 つ。NetWeaver の主要なコンポーネントは、ERP、CRM、SCM、PLM、SRM、BI などの SAP アプリケーションのランタイム環境を提供する SAP Web アプリケーションサーバー (WebAS) です。その他に、エンタープライズポータル、エクスチェンジインフラストラクチャ、マスターデータ管理、モバイルインフラストラクチャなどのコンポーネントもあります。SAP NetWeaver は、これらの技術的なコンポーネントの総称です。SAP NetWeaver は、Java スタックと ABAP スタックの両方で実行されます。 SNC (セキュアネットワークコミュニケーション) SAP NetWeaver のシングルサインオンや、SAP システムと連携する外部セキュリティ製品と統合します。SNC は、SAP システムでは直接使用できないセキュリティ関数を提供します。
SAP Connector を Runtime Manager (CloudHub)、Anypoint Runtime Fabric、または Anypoint Platform Private Cloud Edition にデプロイするアプリケーションで、SNC を使用することはできません。
## [](#関連情報)関連情報 - [Anypoint Connector の概要](https://docs.mulesoft.com/connectors/introduction/introduction-to-anypoint-connectors) - [MuleSoft ヘルプセンター](https://help.mulesoft.com) # SAP Connector 5.3 の追加設定 SAP Connector の基本設定を完了したら、詳細設定の変更や拡張プロパティの定義など、追加の設定タスクを実行できます。 ## [](#一般設定)一般設定 1. キャンバスの下部にある ​**\[Global Elements (グローバル要素)\]**​ タブをクリックします。 2. **\[Create (作成)\]**​ をクリックします。 3. **\[Connector Configuration (コネクタ設定)\]**​ を展開し、​**\[SAP Inbound (SAP インバウンド)\]**​ または ​**\[SAP Outbound (SAP アウトバウンド)\]**​ を選択して、​**\[OK\]**​ をクリックします。 4. **\[Global Element Properties (グローバル要素のプロパティ)\]**​ 画面の上部にある ​**\[Advanced (詳細)\]**​ タブをクリックします。 ![sap connector config adv](/mulesoft/current/ja-jp/sap-connector/5.3/_images/sap-connector-config-adv.png) 5. **\[General (一般)\]**​ セクションで、​**\[Max Idle time (最大アイドル時間)\]**​ を設定します。 1. **\[Expiration policy (有効期限ポリシー)\]**​ を選択します。 2. **\[Max Idle time (最大アイドル時間)\]**​ に値を入力し、​**\[Time Unit (時間単位)\]**​ を追加します。 3. **\[OK\]**​ をクリックします。
項目 型 説明 デフォルト値

Expiration Policy (有効期限ポリシー)

ExpirationPolicy

動的設定インスタンスがアイドル状態を続けられる最小時間を設定します。この時間が経過すると、Runtime で期限切れに相当するとみなされます。これは、インスタンスが有効期限の対象となった瞬間にプラットフォームでそのインスタンスが期限切れになるということではありません。必要に応じて、Runtime がインスタンスをパージします。

Max Idle time (最大アイドル時間)

Number (数値)

有効期限の対象とみなされるまで、動的設定インスタンスがアイドル状態を維持できる最大時間のスカラー時間値。

Time unit (時間単位)

Enumeration (列挙)。次のいずれかになります。

  • DAYS

  • HOURS

  • MICROSECONDS

  • MILLISECONDS

  • MINUTES

  • NANOSECONDS (ナノ秒) SECONDS (秒)

## [](#詳細設定)詳細設定 ![sap advanced](/mulesoft/current/ja-jp/sap-connector/5.3/_images/sap-advanced.png) \[Advanced (詳細)\] 設定では、エンコード、バージョン、フラグ、形式、およびタイムアウトの各パラメーターを設定できます。 これらの項目値を変更するには、​**\[Global Element Properties (グローバル要素のプロパティ)\]**​ 画面の上部にある ​**\[Advanced (詳細)\]**​ タブをクリックします。
項目 XML 属性 説明 デフォルト値

Display Name (表示名)

name (名前)

Mule 設定で内部的に使用されるエンドポイントの参照名を設定します。

Encoding (エンコード)

encoding

エンコードの正規名を設定します。 Oracle のサポートされるエンコード​を参照してください。

Default IDocument Version (デフォルトの IDoc バージョン)

defaultIdocumentVersion

中間ドキュメント (IDoc) を送信する場合、バージョンを設定します。IDoc バージョンの値は、​com.sap.conn.idoc.IDocFactory​ の ​IDOC_VERSION_xxxx​ 定数に対応しています。

Disable Function template cache flag ([関数テンプレートキャッシュを無効化] フラグ)

disableFunctionTemplateCacheFlag

関数テンプレートキャッシュを無効化するには、これを設定します。

false

Evaluate response flag ([応答を評価] フラグ)

evaluateResponseFlag

エラー応答で例外を発生させるのか、ユーザーが別の結果を使用してエラー応答を処理できるようにするのかを設定します。

false

Log trace flag ([トレースを記録] フラグ)

logTraceFlag

トレースを Mule サーバーに記録するかどうかを設定します。

false

Use SAP format (SAP 形式の使用)

useSAPFormat

同期リモート関数コール (sRFC) を使用してビジネスアプリケーションプログラミングインターフェース (BAPI) 関数を操作するときに SAP デフォルト形式を使用するには、これを設定します。

false

## [](#拡張プロパティの定義)拡張プロパティの定義 拡張プロパティを使用すると、SAP アウトバウンド設定パラメーターを調整できます。 SAP Connector のグローバル要素の拡張プロパティを定義する手順は、次のとおりです。 1. **\[General (一般)\]**​ ペインの ​**\[Advanced (詳細)\]**​ タブに移動します。 ![下部の \[Advanced (詳細)\] タブ](_images/sap-connector-advanced-tab.png) 2. ウィンドウの上部にある ​**\[Extended Properties (拡張プロパティ)\]**​ セクションを見つけます。 3. **\[Edit inline (インライン編集)\]**​ オプションを選択します。 4. **\[+\]**​ をクリックして、新しい拡張プロパティを追加します。 SAP で使用しているものと同じプロパティ名を使用します。 ### [](#クライアント環境の設定)クライアント環境の設定 使用しているオペレーティングシステムに依存するシステム変数を設定し、PSE (パーソナルセキュリティ環境) を生成します。 1. 次のコマンドを使用して cmd またはターミナルを開き、SAPCAR および SAP 暗号ライブラリを展開します。 \`SAPCAR -xvf これによりフォルダー​​からファイルが抽出されます。 2. 次の環境変数を設定します。​ **この例では、ライブラリへのパスは「C:\\Users\\Administrator\\Desktop\\SNC」です。** - SNC\_LIB - SECUDIR = ​`` - LD\_LIBRARY\_PATH​ = ​`\sapcrypto.dll` - SSF\_LIBRARY\_PATH​ = ​`\sapcrypto.dll` Windows の場合、​`sapcrypto.dll`​ の 64 ビットバージョンは別のパスにあり、​SNC\_LIB\_64​ という新しい変数に追加されています。 cmd またはターミナルで次のコマンドを使用して PSE を作成します。 `sapgenpse gen_pse -v -p RFC.pse` このコマンドを実行する場合、後で使用するパスワードまたは PIN と、一意である必要がある識別名を入力する必要があります。STRUST ですでに使用されている名前があるかどうかを確認できます。 3. セッションユーザーが PSE にアクセスするために必要とするログイン情報を追加します。PSE は「sapgenpse seclogin -p RFC -O you\_user」コマンドを使用して cred\_v2 ファイルを作成します。 ## [](#次のステップ)次のステップ これで設定が完了したので、SAP の​[例](https://docs.mulesoft.com/jp/sap-connector/5.3/sap-connector-examples)​を試すことができます。 ## [](#関連情報)関連情報 - [Anypoint Connector の概要](https://docs.mulesoft.com/connectors/introduction/introduction-to-anypoint-connectors) - [MuleSoft ヘルプセンター](https://help.mulesoft.com) # SAP Connector 5.3 リファレンス SAP 用 Anypoint Connector (SAP Connector) を使用すると、SAP NetWeaver に基づいてデータを外部システムと統合できます。
バージョン 5.0 以降、SAP Connector では、SAP S/4HANA のオンプレミスインスタンスへの接続もサポートされるようになりました。
## [](#制限事項)制限事項 - SAP Connector を CloudHub および Anypoint Runtime Fabric にデプロイする Mule アプリケーションで、SNC を使用することはできません。 - バージョン 5.3.0 より前の SAP Connector では、同じ ​PROGRAM\_ID​、​GATEWAY\_SERVICE​、​GATEWAY\_HOST​ を持つ同じ Mule Runtime Engine にデプロイされた複数のサーバーを JCo ライブラリによって作成することはできません。同じ ​PROGRAM\_ID​、​GATEWAY\_SERVICE​、および ​GATEWAY\_HOST​ を持つ 2 つのサーバーを作成しようとすると、1 つのサーバーのみが作成されます。この問題を回避するには、2 つの異なる Mule Runtime Engine を使用するか、2 つの異なる ​GATEWAY\_HOST​ を持つ同じ ​PROGRAM\_ID​ を使用します。 - SAP Connector では Bitronix トランザクションマネージャーはサポートされていません。 - SAP リスナー (Function Listener and Document Listener) の再接続戦略では JCo ライブラリのみに依存しています。つまり、Mule の再接続メカニズムは再接続に影響しません。 - 接続に問題がある場合、バックグラウンドで実行される JCO サーバーによって再接続が管理されます。JCo RFC プロバイダーにより、Java サーバーと ABAP ゲートウェイ間の通信エラーが認識され、再接続が再試行されます。最初の再接続に失敗すると、1 秒待機して次の再接続試行が行われます。再度再接続に失敗すると、再接続の待機時間は 1 秒から 2 秒と 2 倍になり、最終的にデフォルトの最大待機期間である 3600 秒 (1 時間) になるまで続きます。​`-Djco.server.max_startup_delay=`​ JMV パラメーターを使用して最大再接続タイムアウトを設定します。 - SAP Connector は、複数のアプリケーションサーバーに接続されたメッセージサーバー設定を使用してテストされていません。そのため、この機能は現在サポートされていません。 ## [](#設定)設定 * * * ### [](#sap)デフォルト設定 SAP 拡張機能のアウトバウンド要素のデフォルト設定。 #### [](#パラメーター)パラメーター
名前 型 説明 デフォルト値 必須

Name (名前)

String (文字列)

この設定の名前。コネクタはこの名前の設定を参照します。

x

Connection (接続)

この設定に指定する接続型。

x

Expiration Policy (有効期限ポリシー)

動的設定インスタンスがアイドル状態を続けられる最小時間を設定します。この時間が経過すると、Mule Runtime で期限切れに相当するとみなされます。これは、インスタンスが有効期限の対象となった瞬間にプラットフォームでそのインスタンスが期限切れになるということではありません。必要に応じて、インスタンスがパージされます。

Encoding (エンコード)

String (文字列)

エンコードの正規名。​https://docs.oracle.com/javase/8/docs/technotes/guides/intl/encoding.doc.html​ で Oracle のサポートされるエンコードを参照してください。

Default Idocument Version (デフォルトの IDoc バージョン)

String (文字列)

デフォルトの IDoc バージョン。

0

Disable Jco Internal Cache (Jco 内部キャッシュを無効化)

Boolean (ブール)

JCo 内部キャッシュを使用するかどうかを示すフラグ。

false

Evaluate Response Flag ([応答を評価] フラグ)

Boolean (ブール)

エラー応答で例外を発生させるのか、ユーザーがエラー応答を別の結果として処理できるようにするのかを示すフラグ。

false

Log Trace Flag ([トレースを記録] フラグ)

Boolean (ブール)

トレースを Mule サーバーに記録するかどうかを示すフラグ。

false

Use SAP Format (SAP 形式の使用)

Boolean (ブール)

このパラメーターは、SAP 値を返すための Mule 3 形式をサポートするために追加されました。JCoField を解析するときに JCoToBusinessObjectParser クラスで使用されます。

  • true​ - 値を元の SAP 形式の文字列として返す必要があることを指定します。

  • false​ - 元の値が対応する Java オブジェクトに変換され、シリアル化されて返されます。

false

#### [](#接続種別)接続種別 ##### [](#sap_certificate)Certificate (証明書) X509 証明書を使用してユーザーを認証する接続プロバイダー。 ###### [](#パラメーター-2)パラメーター
名前 型 説明 デフォルト値 必須

SAP system number (SAP システム番号)

String (文字列)

SAP システムの 2 桁のシステム番号 (sysnr)。

x

SAP client ID (SAP クライアント ID)

String (文字列)

3 桁のクライアント番号。数値で表示する場合は先行ゼロを保持します。

x

Destination Name (宛先名)

String (文字列)

このコネクタによって生成される宛先の識別子。設定されていない場合、ランダムな値が作成されます。

Login language (ログイン言語)

String (文字列)

コネクタで使用される言語コード。言語によって、SAP アダプターとアプリケーションサーバー間の通信に使用されるコードページが決定されます。

EN

Extended Properties (拡張プロパティ)

Object (オブジェクト)

データベースサーバー固有のすべての接続パラメーターを渡すために使用します。

X.509 Certificate (X.509 証明書)

String (文字列)

X.509 証明書へのパス。これは、コネクタがクライアントとして機能する場合に必要です。

Application server host (アプリケーションサーバーホスト)

String (文字列)

SAP アプリケーションサーバーのホスト。

Message server configuration (メッセージサーバーの設定)

メッセージサーバーの使用の設定。

Enable RFC tracing on server (サーバーでの RFC トレースの有効化)

Boolean (ブール)

サーバーで RFC トレースを有効または無効にします。

false

Enable CPIC tracing on server (サーバーでの CPIC トレースの有効化)

Enumeration (列挙)。次のいずれかになります。

  • INHERIT

  • NO_TRACING​

  • LEVEL_1​

  • LEVEL_2​

  • LEVEL_3

サーバーで RFC トレースを有効/無効にします。

Reconnection (再接続)

アプリケーションがデプロイされると、すべてのコネクタで接続テストが実行されます。​true​ に設定されている場合、関連する再接続戦略をすべて実行した後にテストに合格しないと、デプロイメントが失敗します。

##### [](#sap_simple-connection-provider)Simple Connection Provider ユーザー名とパスワードを使用して接続する接続プロバイダー。 ###### [](#パラメーター-3)パラメーター
名前 型 説明 デフォルト値 必須

SAP system number (SAP システム番号)

String (文字列)

SAP システムの 2 桁のシステム番号 (sysnr)。

x

SAP client ID (SAP クライアント ID)

String (文字列)

3 桁のクライアント番号。数値で表示する場合は先行ゼロを保持します。

x

Destination Name (宛先名)

String (文字列)

このコネクタによって生成される宛先の識別子。設定されていない場合、ランダムな値が作成されます。

Login language (ログイン言語)

String (文字列)

コネクタで使用される言語コード。言語によって、SAP アダプターとアプリケーションサーバー間の通信に使用されるコードページが決定されます。

EN

Extended Properties (拡張プロパティ)

Object (オブジェクト)

データベースサーバー固有のすべての接続パラメーターを渡すために使用します。

Username (ユーザー名)

String (文字列)

コネクタが SAP にログインするために使用するユーザー名。

x

Password (パスワード)

String (文字列)

ログインユーザー名に関連付けられているパスワード。

x

Application server host (アプリケーションサーバーホスト)

String (文字列)

SAP アプリケーションサーバーのホスト。

Message server configuration (メッセージサーバーの設定)

メッセージサーバーの使用の設定。

Enable RFC tracing on server (サーバーでの RFC トレースの有効化)

Boolean (ブール)

サーバーで RFC トレースを有効または無効にします。

false

Enable CPIC tracing on server (サーバーでの CPIC トレースの有効化)

Enumeration (列挙)。次のいずれかになります。

  • INHERIT

  • NO_TRACING​

  • LEVEL_1​

  • LEVEL_2​

  • LEVEL_3

サーバーで RFC トレースを有効または無効にします。

Reconnection (再接続)

アプリケーションがデプロイされると、すべてのコネクタで接続テストが実行されます。​true​ に設定されている場合、関連する再接続戦略をすべて実行した後にテストに合格しないと、デプロイメントが失敗します。

## [](#sources-ソース)Sources (ソース) - [Document Listener](#document-listener) - [Function Listener](#function-listener) ### [](#document-listener)Document Listener `` 受信した IDoc をリスンするソース。 #### [](#パラメーター-4)パラメーター
名前 型 説明 デフォルト値 必須

Configuration (設定)

String (文字列)

使用する設定の名前。

x

Gateway Host (ゲートウェイホスト)

String (文字列)

ゲートウェイサーバーを実行するホストの名前。

x

Gateway Service (ゲートウェイサービス)

String (文字列)

SAP システムのゲートウェイサービスの名前またはサービスポート。

x

Program ID (プログラム ID)

String (文字列)

ゲートウェイに登録されている SAP システムプログラム ID。特定のゲートウェイで一意である必要があります。

x

Connection Count (接続数)

Number (数値)

ゲートウェイに登録する接続の数。

1

Idoc Type Filter Regex (Idoc 種別検索条件の正規表現)

String (文字列)

受信したすべての IDoc を種別で絞り込むための式。

IDoc Render Options (IDoc 表示オプション)

IDoc 表示オプション

Transactional Action (トランザクションアクション)

Enumeration (列挙)。次のいずれかになります。

  • ALWAYS_BEGIN​

  • NONE (なし)

ソースがトランザクションに関して実行できる開始アクションの種別。

None (なし)

Transaction Type (トランザクション種別)

Enumeration (列挙)。次のいずれかになります。

  • LOCAL

  • XA

作成するトランザクションの種別。使用できるかどうかは、Mule バージョンによって決まります。

LOCAL

Primary Node Only (プライマリノードのみ)

Boolean (ブール)

クラスターでの実行時、このソースをプライマリノード上でのみ実行する必要があるかどうか。

Streaming Strategy (ストリーミング戦略)

Mule によるストリームの処理方法を設定します。反復可能ストリームは、デフォルトの動作です。

Redelivery Policy (再配信ポリシー)

同じメッセージの再配信を処理するためのポリシー。

Reconnection Strategy (再接続戦略)

接続エラーが発生した場合の再試行戦略。

#### [](#出力)出力

型

Binary (バイナリ)

Attributes Type (属性型)

### [](#次の設定の場合)次の設定の場合 - [デフォルト設定](#sap) ### [](#function-listener)Function Listener `` 受信した BAPI 関数をリスンするソース。 #### [](#パラメーター-5)パラメーター
名前 型 説明 デフォルト値 必須

Configuration (設定)

String (文字列)

使用する設定の名前。

x

Gateway Host (ゲートウェイホスト)

String (文字列)

ゲートウェイサーバーを実行するホストの名前。

x

Gateway Service (ゲートウェイサービス)

String (文字列)

SAP システムのゲートウェイサービスの名前またはサービスポート。

x

Program ID (プログラム ID)

String (文字列)

ゲートウェイに登録されている SAP システムプログラム ID。特定のゲートウェイで一意である必要があります。

x

Connection Count (接続数)

Number (数値)

ゲートウェイに登録する接続の数。

1

Targeted Function (対象関数)

String (文字列)

受信した BAPI 関数を名前で絞り込みます。受信する関数の名前。

Transactional Action (トランザクションアクション)

Enumeration (列挙)。次のいずれかになります。

  • ALWAYS_BEGIN​

  • NONE (なし)

ソースがトランザクションに関して実行できる開始アクションの種別。

None (なし)

Transaction Type (トランザクション種別)

Enumeration (列挙)。次のいずれかになります。

  • LOCAL

  • XA

作成するトランザクションの種別。使用できるかどうかは、Mule バージョンによって決まります。

LOCAL

Primary Node Only (プライマリノードのみ)

Boolean (ブール)

クラスターでの実行時、このソースをプライマリノード上でのみ実行する必要があるかどうか。

Streaming Strategy (ストリーミング戦略)

Mule によるストリームの処理方法を設定します。反復可能ストリームは、デフォルトの動作です。

Redelivery Policy (再配信ポリシー)

同じメッセージの再配信を処理するためのポリシーを定義します。

Reconnection Strategy (再接続戦略)

接続エラーが発生した場合の再試行戦略。

Response (応答)

Binary (バイナリ)

#[payload]

#### [](#出力-2)出力

型

Binary (バイナリ)

Attributes Type (属性型)

### [](#次の設定の場合-2)次の設定の場合 - [デフォルト設定](#sap) ## [](#操作)操作 - [Asynchronous Remote Function Call](#asyncRfc) - [Confirm Transaction](#confirmTransactionId) - [Get Function](#getFunction) - [Retrieve IDoc](#retrieveIdoc) - [Send IDoc](#send) - [Start SAP Transaction](#startsaptransaction) - [Synchronous Remote Function Call](#syncRfc) ### [](#asyncRfc)Asynchronous Remote Function Call `` キューリモート関数コール (qRFC) を介して BAPIFunction を実行します。キュー RFC はトランザクション RFC (tRFC) の拡張機能であり、個々のステップが順番に処理されることを保証します。 複数の作業論理単位 (LUW) トランザクションがアプリケーションで指定された順序で処理されることを保証するには、qRFC を使用します。 インバウンドキューとアウトバウンドキューを使用して tRFC をシリアル化できるため、キュー RFC (qRFC) という名前になっています。 キュー (qRFC) は tRFC の拡張機能として、処理順序を定義するのに最適です。qRFC を使用して、複数のトランザクションを定義済みの順序で処理することを保証します。 #### [](#パラメーター-6)パラメーター
名前 型 説明 デフォルト値 必須

Configuration (設定)

String (文字列)

使用する設定の名前。

x

Function Name (関数名)

String (文字列)

実行する関数の名前。

x

Content (コンテンツ)

Binary (バイナリ)

実行する BAPIFunction。

#[payload]

Transaction Id (トランザクション ID)

String (文字列)

1 回のみ実行されるように RFC を識別する ID。

x

Queue Name (キュー名)

String (文字列)

RFC が実行されるキューの名前。処理される各 tRFC コールにはアプリケーションによりキュー名が与えられるため、これは qRFC に適用されます。qRFC トランザクションごとにキュー名とバージョンが必要です。

IDoc Parsing Options (IDoc 解析オプション)

IDoc 解析オプション

Transactional Action (トランザクションアクション)

Enumeration (列挙)。次のいずれかになります。

  • ALWAYS_JOIN​

  • JOIN_IF_POSSIBLE​

  • NOT_SUPPORTED

トランザクションに関する操作で実行できる結合アクションの種別。

JOIN_IF_POSSIBLE

Reconnection Strategy (再接続戦略)

接続エラーが発生した場合の再試行戦略。

### [](#次の設定の場合-3)次の設定の場合 - [デフォルト設定](#sap) #### [](#スロー)スロー - SAP:CONNECTIVITY - SAP:INVALID\_CACHE - SAP:INVALID\_INPUT - SAP:METADATA\_UNAVAILABLE - SAP:NOT\_FOUND - SAP:NOT\_SUPPORTED - SAP:PARSING - SAP:RETRY\_EXHAUSTED - SAP:SYSTEM\_BUSY - SAP:TIMEOUT ### [](#confirmTransactionId)Confirm Transaction `` 確定したトランザクションを確認します。 #### [](#パラメーター-7)パラメーター
名前 型 説明 デフォルト値 必須

Configuration (設定)

String (文字列)

使用する設定の名前。

x

Transaction ID (TID) (トランザクション ID (TID))

String (文字列)

確認するトランザクションの ID。

x

Transactional Action (トランザクションアクション)

Enumeration (列挙)。次のいずれかになります。

  • ALWAYS_JOIN​

  • JOIN_IF_POSSIBLE​

  • NOT_SUPPORTED

トランザクションに関する操作で実行できる結合アクションの種別。

JOIN_IF_POSSIBLE

Reconnection Strategy (再接続戦略)

接続エラーが発生した場合の再試行戦略。

### [](#次の設定の場合-4)次の設定の場合 - [デフォルト設定](#sap) #### [](#スロー-2)スロー - SAP:CONNECTIVITY - SAP:RETRY\_EXHAUSTED ### [](#getFunction)Get Function `` 名前に基づいて BAPIFunction を取得します。 #### [](#パラメーター-8)パラメーター
名前 型 説明 デフォルト値 必須

Configuration (設定)

String (文字列)

使用する設定の名前。

x

Function Name (関数名)

String (文字列)

取得する関数の名前。

x

Transactional Action (トランザクションアクション)

Enumeration (列挙)。次のいずれかになります。

  • ALWAYS_JOIN​

  • JOIN_IF_POSSIBLE​

  • NOT_SUPPORTED

トランザクションに関する操作で実行できる結合アクションの種別。

JOIN_IF_POSSIBLE

Streaming Strategy (ストリーミング戦略)

Mule によるストリームの処理方法を設定します。反復可能ストリームは、デフォルトの動作です。

Target Variable (対象変数)

String (文字列)

操作の出力を保存する変数の名前。

Target Value (対象値)

String (文字列)

操作の出力を評価する式。式の結果は対象変数に保存されます。

#[payload]

Reconnection Strategy (再接続戦略)

接続エラーが発生した場合の再試行戦略。

#### [](#出力-3)出力

型

Binary (バイナリ)

### [](#次の設定の場合-5)次の設定の場合 - [デフォルト設定](#sap) #### [](#スロー-3)スロー - SAP:CONNECTIVITY - SAP:INVALID\_CACHE - SAP:INVALID\_INPUT - SAP:METADATA\_UNAVAILABLE - SAP:NOT\_FOUND - SAP:NOT\_SUPPORTED - SAP:PARSING - SAP:RETRY\_EXHAUSTED - SAP:SYSTEM\_BUSY - SAP:TIMEOUT ### [](#retrieveIdoc)Retrieve IDoc `` キーに基づいて IDoc 構造を取得します。 #### [](#パラメーター-9)パラメーター
名前 型 説明 デフォルト値 必須

Configuration (設定)

String (文字列)

使用する設定の名前。

x

IDoc Name (IDoc 名)

String (文字列)

IDoc を取得するために必要な情報が含まれるキー。

x

Transactional Action (トランザクションアクション)

Enumeration (列挙)。次のいずれかになります。

  • ALWAYS_JOIN​

  • JOIN_IF_POSSIBLE​

  • NOT_SUPPORTED

トランザクションに関する操作で実行できる結合アクションの種別。

JOIN_IF_POSSIBLE

Streaming Strategy (ストリーミング戦略)

Mule によるストリームの処理方法を設定します。反復可能ストリームは、デフォルトの動作です。

Target Variable (対象変数)

String (文字列)

操作の出力を保存する変数の名前。

Target Value (対象値)

String (文字列)

操作の出力を評価する式。式の結果は対象変数に保存されます。

#[payload]

Reconnection Strategy (再接続戦略)

接続エラーが発生した場合の再試行戦略。

#### [](#出力-4)出力

型

Binary (バイナリ)

### [](#次の設定の場合-6)次の設定の場合 - [デフォルト設定](#sap) #### [](#スロー-4)スロー - SAP:CONNECTIVITY - SAP:INVALID\_CACHE - SAP:INVALID\_INPUT - SAP:METADATA\_UNAVAILABLE - SAP:NOT\_FOUND - SAP:NOT\_SUPPORTED - SAP:PARSING - SAP:RETRY\_EXHAUSTED - SAP:SYSTEM\_BUSY - SAP:TIMEOUT ### [](#send)Send IDoc `` RFC を介して IDoc を SAP に送信します。RFC は、IDoc の 2 つの種別のいずれかになります。 - トランザクション (tRFC): tRFC は、非同期リモート関数コール (aRFC) の特殊な形式です。トランザクション RFC は、元々独立して処理されていた処理ステップをトランザクションのように処理します。 tRFC は、何らかのネットワークの問題でデータが複数回送信されても、コールされた関数モジュールを RFC サーバーで 1 回のみ実行する非同期通信方法です。RFC クライアントプログラムが tRFC を実行しているときにリモートシステムが使用できる状態になっている必要はありません。 tRFC コンポーネントは、コールされる RFC 関数および対応するデータを一意のトランザクション ID (TID) で SAP データベースに保存します。 tRFC は、対象システムで待機しないという点で aRFC に似ています (書留郵便に似ている)。システムが使用できる状態でない場合、スケジューラー RSARFCSE によって選択され、60 秒ごとに実行されるトランザクション ID (SM58) でデータが aRFC テーブルに書き込まれます。 tRFC は、非同期 RFC の拡張機能として、システム間の通信を保護するのに最適です。 - キュー (qRFC): キュー RFC は、tRFC の拡張機能です。キュー RFC では、個々のステップが順番に処理されることも保証されます。複数の LUW (作業論理単位トランザクション) がアプリケーションで指定された順序で処理されることを保証するには、qRFC を使用します。 インバウンドキューとアウトバウンドキューを使用して tRFC をシリアル化できるため、キュー RFC (qRFC) という名前になっています。 キュー (qRFC) は tRFC の拡張機能として、処理順序を定義するのに最適です。 複数のトランザクションを定義済みの順序で処理する場合、qRFC を実装します。 tRFC と qRFC の両方に TID ハンドラーがあります。 #### [](#パラメーター-10)パラメーター
名前 型 説明 デフォルト値 必須

Configuration (設定)

String (文字列)

使用する設定の名前。

x

IDoc Name (IDoc 名)

String (文字列)

実行する IDoc の名前。

x

Content (コンテンツ)

Binary (バイナリ)

実行する IDoc。

#[payload]

バージョン

String (文字列)

IDoc のバージョン。

Transaction Id (トランザクション ID)

String (文字列)

1 回のみ実行されるように RFC を識別する ID。

Queue Name (キュー名)

String (文字列)

RFC が実行されるキューの名前。処理される各 tRFC コールにはアプリケーションによりキュー名が与えられるため、これは qRFC に適用されます。qRFC トランザクションごとにキュー名とバージョンが必要です。

IDoc Parsing Options (IDoc 解析オプション)

Transactional Action (トランザクションアクション)

Enumeration (列挙)。次のいずれかになります。

  • ALWAYS_JOIN​

  • JOIN_IF_POSSIBLE​

  • NOT_SUPPORTED

トランザクションに関する操作で実行できる結合アクションの種別。

JOIN_IF_POSSIBLE

Reconnection Strategy (再接続戦略)

接続エラーが発生した場合の再試行戦略。

### [](#次の設定の場合-7)次の設定の場合 - [デフォルト設定](#sap) #### [](#スロー-5)スロー - SAP:CONNECTIVITY - SAP:INVALID\_CACHE - SAP:INVALID\_INPUT - SAP:METADATA\_UNAVAILABLE - SAP:NOT\_FOUND - SAP:NOT\_SUPPORTED - SAP:PARSING - SAP:RETRY\_EXHAUSTED - SAP:SYSTEM\_BUSY - SAP:TIMEOUT ### [](#startsaptransaction)Start SAP Transaction `` future コールの一部として使用するトランザクション ID を作成します。 #### [](#パラメーター-11)パラメーター
名前 型 説明 デフォルト値 必須

Configuration (設定)

String (文字列)

使用する設定の名前。

x

Transactional Action (トランザクションアクション)

Enumeration (列挙)。次のいずれかになります。

  • ALWAYS_JOIN​

  • JOIN_IF_POSSIBLE​

  • NOT_SUPPORTED

トランザクションに関する操作で実行できる結合アクションの種別。

JOIN_IF_POSSIBLE

Target Variable (対象変数)

String (文字列)

操作の出力を保存する変数の名前。

Target Value (対象値)

String (文字列)

操作の出力を評価する式。式の結果は対象変数に保存されます。

#[payload]

Reconnection Strategy (再接続戦略)

接続エラーが発生した場合の再試行戦略。

#### [](#出力-5)出力

型

String (文字列)

### [](#次の設定の場合-8)次の設定の場合 - [デフォルト設定](#sap) #### [](#スロー-6)スロー - SAP:CONNECTIVITY - SAP:INVALID\_CACHE - SAP:INVALID\_INPUT - SAP:METADATA\_UNAVAILABLE - SAP:NOT\_FOUND - SAP:NOT\_SUPPORTED - SAP:PARSING - SAP:RETRY\_EXHAUSTED - SAP:SYSTEM\_BUSY - SAP:TIMEOUT ### [](#syncRfc)Synchronous Remote Function Call `` 同期リモート関数コール (sRFC) を介して BAPIFunction を実行します。同期 RFC では、通信またはデータ転送時に両方のシステム (クライアントとサーバー) が使用できる状態になっていることが必要です。 sRFC は、最も一般的な種別で、sRFC の実行直後に結果が求められる場合に使用されます。 sRFC は、肯定応答が必要なシステム間の通信手段です。 ソースシステムのリソースは、対象システムで待機して、ACKD でメッセージ/データが配信されることを確認します。通信データの整合性と信頼性は確保されます。 対象システムが使用できる状態になっていない場合、ソースシステムのリソースは対象システムが使用できる状態になるまで待機します。これにより、ソースシステムのプロセスが対象システムでスリープ/RFC/CPIC モードになり、これらのリソースがブロックされる可能性があります。 sRFC は、システム間の通信や、SAP Web アプリケーションサーバーと SAP GUI 間の通信で使用します。 #### [](#パラメーター-12)パラメーター
名前 型 説明 デフォルト値 必須

Configuration (設定)

String (文字列)

使用する設定の名前。

x

Function Name (関数名)

String (文字列)

実行する関数の名前。

x

Content (コンテンツ)

Binary (バイナリ)

実行する BAPIFunction。

#[payload]

Transactional Action (トランザクションアクション)

Enumeration (列挙)。次のいずれかになります。

  • ALWAYS_JOIN​

  • JOIN_IF_POSSIBLE​

  • NOT_SUPPORTED

トランザクションに関する操作で実行できる結合アクションの種別。

JOIN_IF_POSSIBLE

Streaming Strategy (ストリーミング戦略)

Mule によるストリームの処理方法を設定します。反復可能ストリームは、デフォルトの動作です。

Target Variable (対象変数)

String (文字列)

操作の出力を保存する変数の名前。

Target Value (対象値)

String (文字列)

操作の出力を評価する式。式の結果は対象変数に保存されます。

#[payload]

Reconnection Strategy (再接続戦略)

接続エラーが発生した場合の再試行戦略。

#### [](#出力-6)出力

型

Binary (バイナリ)

### [](#次の設定の場合-9)次の設定の場合 - [デフォルト設定](#sap) #### [](#スロー-7)スロー - SAP:CONNECTIVITY - SAP:INVALID\_CACHE - SAP:INVALID\_INPUT - SAP:METADATA\_UNAVAILABLE - SAP:NOT\_FOUND - SAP:NOT\_SUPPORTED - SAP:PARSING - SAP:RETRY\_EXHAUSTED - SAP:SYSTEM\_BUSY - SAP:TIMEOUT ## [](#型)型 ### [](#MessageServer)Message Server (メッセージサーバー) メッセージサーバーは、複数のゲートウェイを使用して設定でき、​**Document Listener**​ ソースに渡すことができるため、負荷分散やパフォーマンスの向上を実現できます。
項目 型 説明 デフォルト値 必須

Host (ホスト)

String (文字列)

メッセージサーバーのホスト。

x

System Id (システム ID)

String (文字列)

SAP システムのシステム ID。

x

Port (ポート)

Number (数値)

コネクタがメッセージサーバーにログインするポート。

Group (グループ)

String (文字列)

SAP アプリケーションサーバーのグループ。

Router (ルーター)

String (文字列)

ファイアウォールによって保護されるシステムに使用する SAP ルーター文字列。

### [](#Reconnection)Reconnection (再接続)
項目 型 説明 デフォルト値 必須

Fails Deployment (デプロイメントに失敗)

Boolean (ブール)

アプリケーションがデプロイされると、すべてのコネクタで接続テストが実行されます。​true​ に設定されている場合、関連する再接続戦略をすべて実行した後にテストに合格しないと、デプロイメントが失敗します。

Reconnection Strategy (再接続戦略)

使用する再接続戦略。

### [](#reconnect)Reconnect (再接続)
項目 型 説明 デフォルト値 必須

Frequency (頻度)

Number (数値)

再接続する頻度 (ミリ秒)。

Count (数)

Number (数値)

再接続の試行回数。

### [](#reconnect-forever)Reconnect Forever (繰り返し再接続)
項目 型 説明 デフォルト値 必須

Frequency (頻度)

Number (数値)

再接続する頻度 (ミリ秒)。

### [](#ExpirationPolicy)Expiration Policy (有効期限ポリシー)
項目 型 説明 デフォルト値 必須

Max Idle Time (最大アイドル時間)

Number (数値)

有効期限の対象とみなされるまで、動的設定インスタンスがアイドル状態を維持できる最大時間のスカラー時間値。

Time Unit (時間単位)

Enumeration (列挙)。次のいずれかになります。

  • NANOSECONDS

  • MICROSECONDS

  • MILLISECONDS

  • SECONDS

  • MINUTES

  • HOURS

  • DAYS

maxIdleTime 属性の時間単位。

### [](#SapAttributes)SAP Attributes (SAP 属性)
項目 型 説明 デフォルト値 必須

Transaction Id (トランザクション ID)

String (文字列)

トランザクション ID の値。

### [](#IDocRenderParameterGroup)IDoc 表示パラメーターグループ IDoc 表示オプション
項目 Type (型) Description (説明) デフォルト値 必須

Render IDoc Empty Tags (IDoc 表示 - 空のタグ)

Boolean (ブール)

結果の XML ドキュメントに空のタグをすべて含めるかどうかを示します。

false

Render IDoc Ignore Invalid Char Errors (IDoc 表示 - 無効文字エラーを無視)

Boolean (ブール)

使用されている XML 仕様バージョンに応じた文字範囲チェックのエラーを無視するかどうかを示します。

false

Render IDoc Ignore Tag Escape Errors (IDoc 表示 - タグエスケープエラーを無視)

Boolean (ブール)

使用されている IDocXML 形式に応じた XML タグ内のエスケープ文字のエラーを無視するかどうかを示します。

false

Render IDoc Omit Xml Declaration (IDoc 表示 - XML 宣言を除外)

Boolean (ブール)

結果の XML ドキュメントで XML 宣言セクションを除外するかどうかを示します。

false

Render IDoc Optional Encoding Decl (IDoc 表示 - 省略可能なエンコード宣言)

Boolean (ブール)

結果の XML ドキュメントに省略可能な XML エンコード宣言属性を書き込むかどうかを示します。

false

Render IDoc Substitute Invalid Chars (IDoc 表示 - 無効な文字を置き換え)

Boolean (ブール)

IDoc 項目値内の無効な文字を番号記号 ​#​ (​U+0023​) に置き換えるかどうかを示します。

false

Render IDoc With CR (IDoc 表示 - CR を含む)

Boolean (ブール)

結果の XML ドキュメントに ​CR​ (キャリッジリターン) 文字を挿入するかどうかを示します。

false

Render IDoc With CRLF (IDoc 表示 - CRLF を含む)

Boolean (ブール)

結果の XML ドキュメントに ​CR+LF​ (キャリッジリターンとラインフィード) 文字を挿入するかどうかを示します。

false

Render IDoc With LF (IDoc 表示 - LF を含む)

Boolean (ブール)

結果の XML ドキュメントに ​LF​ (ラインフィード) 文字を挿入するかどうかを示します。

false

Render IDoc With Tabs And CR (IDoc 表示 - タブおよび CR を含む)

Boolean (ブール)

結果の XML ドキュメントに ​TAB​ および ​CR​ (タブおよびキャリッジリターン) 文字を挿入するかどうかを示します。

false

Render IDoc With Tabs And CRLF (IDoc 表示 - タブおよび CRLF を含む)

Boolean (ブール)

結果の XML ドキュメントに ​TAB​ および ​CR+LF​ (タブおよびキャリッジリターンとラインフィード) 文字を挿入するかどうかを示します。

false

Render IDoc With Tabs And LF (IDoc 表示 - タブおよび LF を含む)

Boolean (ブール)

結果の XML ドキュメントに ​TAB​ および ​LF​ (タブおよびラインフィード) 文字を挿入するかどうかを示します。

false

Render IDoc Xml10 (IDoc 表示 - Xml10)

Boolean (ブール)

XML 仕様バージョン 1.0 に準拠する XML ドキュメントを作成するかどうかを示します。

false

Render IDoc Xml11 (IDoc 表示 - Xml11)

Boolean (ブール)

XML 仕様バージョン 1.1 に準拠する XML ドキュメントを作成するかどうかを示します。

false

### [](#repeatable-in-memory-stream)Repeatable In Memory Stream (反復可能なメモリ内ストリーム) このモードでストリーミングする場合、Mule ではコンテンツをバッファするためにディスクがまったく使用されません。バッファサイズを超えた場合、メッセージは失敗します。
項目 型 説明 デフォルト値 必須

Initial Buffer Size (初期バッファサイズ)

Number (数値)

ストリームをコンシュームしてランダムにアクセスするために割り当てられるメモリ量。ストリームのデータ量がこのバッファサイズを超える場合は、​[Buffer Size Increment (バッファサイズ増分)]​ に従って、​[Max Buffer Size (最大バッファサイズ)]​ を上限としてバッファが拡張されます。

Buffer Size Increment (バッファサイズ増分)

Number (数値)

バッファサイズが初期サイズを超えた場合に、どれだけ拡張するか。値を 0 以下に設定すると、バッファが拡張されません。つまり、バッファがフルになると、​STREAM_MAXIMUM_SIZE_EXCEEDED​ エラーが発生します。

Max Buffer Size (最大バッファサイズ)

Number (数値)

使用するメモリの最大量。これを超えると、​STREAM_MAXIMUM_SIZE_EXCEEDED​ エラーが発生します。0 以下の値は無制限を意味します。

Buffer Unit (バッファ単位)

Enumeration (列挙)。次のいずれかになります。

  • BYTE (バイト)

  • KB

  • MB

  • GB

これらのすべての属性の単位。

### [](#repeatable-file-store-stream)Repeatable File Store Stream (反復可能なファイルストアストリーム) ファイルストアの反復可能なストリームにはバッファが必要であり、さまざまなバッファ戦略があります。Mule はコンテンツの一部をメモリに保持します。ストリームコンテンツが、設定されたバッファサイズよりも大きい場合、Mule はバッファのコンテンツをディスクにバックアップしてからメモリをクリアします。
項目 型 説明 デフォルト値 必須

In Memory Size (メモリ内サイズ)

Number (数値)

データをメモリ内に保持するためにストリームで使用する最大メモリを定義します。これを超えると、ディスクのコンテンツがバッファされます。

Buffer Unit (バッファ単位)

Enumeration (列挙)。次のいずれかになります。

  • BYTE (バイト)

  • KB

  • MB

  • GB

maxInMemorySize で表される単位。

### [](#RedeliveryPolicy)Redelivery Policy (再配信ポリシー)
項目 型 説明 デフォルト値 必須

Max Redelivery Count (最大再配信数)

Number (数値)

正常に処理されずにプロセス失敗メッセージがトリガーされるまでにメッセージを再配信できる最大回数。

Use Secure Hash (セキュアハッシュを使用)

Boolean (ブール)

再配信されたメッセージの識別にセキュアハッシュアルゴリズムを使用するかどうか。

Message Digest Algorithm (メッセージダイジェストアルゴリズム)

String (文字列)

使用するセキュアハッシュアルゴリズム。設定しない場合、デフォルトの SHA-256 になります。

Id Expression (ID 式)

String (文字列)

メッセージがいつ再配信されたのかを判断するために使用する 1 つ以上の式を定義します。このプロパティは、useSecureHash が ​false​ の場合にのみ設定できます。

Object Store (オブジェクトストア)

Object Store (オブジェクトストア)

各メッセージの再配信カウンターが保存されるオブジェクトストア。

### [](#IDocParseParameterGroup)IDoc 解析パラメーターグループ IDoc 解析オプション
項目 Type (型) Description (説明) デフォルト値 必須

Parse With Field Value Checking (解析 - 項目値チェックあり)

Boolean (ブール)

解析時に各 IDoc 項目メタデータに応じた項目値チェックメカニズムを有効にするかどうかを示します。

false

Parse Ignore Unknown Fields (解析 - 不明な項目を無視)

Boolean (ブール)

古い IDoc メタデータを使用して解析している場合など、解析時に不明な項目を無視するかどうかを示します。

false

Parse Ignore Invalid Char Errors (解析 - 無効文字エラーを無視)

Boolean (ブール)

解析時に、宣言されている XML 仕様バージョンに応じた文字範囲チェックのエラーを無視するかどうかを示します。 このオプションを使用すると、項目値内の無効な文字は受け入れられますが、解析する XML ドキュメントに、有効な文字範囲外の文字が含まれる可能性があります。

false

Parse Without Field Data Type Checking (解析 - 項目データ型チェックなし)

Boolean (ブール)

解析時に各 IDoc 項目メタデータに応じた項目データ型チェックメカニズムを無効にするかどうかを示します。

警告​: このオプションは慎重に使用してください。 項目の定義済みのデータ型に違反する不正な項目コンテンツが含まれる IDoc を送信すると、AS ABAP での処理時に ABAP システムダンプが発生し、認識されない部分的なデータの損失が発生する可能性があります。

false

Parse Refuse Unknown XML Version (解析 - 不明な XML バージョンを拒否)

Boolean (ブール)

考えられる将来の XML 仕様バージョン 1.2 または 2.0 など、不明な XML 仕様バージョンを宣言している XML ドキュメントを拒否するかどうかを示します。

false

Parse Refuse XML Version10 (解析 - XML バージョン 10 を拒否)

Boolean (ブール)

XML 仕様バージョン 1.0 を使用しないまたは XML 宣言ヘッダーを含まない XML ドキュメントを拒否するかどうかを示します。

false

Parse Refuse XML Version11 (解析 - XML バージョン 11 を拒否)

Boolean (ブール)

XML 仕様バージョン 1.1 を使用する XML ドキュメントを拒否するかどうかを示します。

false

Parse Accept Only Xml Version10 (解析 - XML バージョン 10 のみを受け入れ)

Boolean (ブール)

XML 仕様バージョン 1.0 を使用するまたは XML 宣言ヘッダーを含まない XML ドキュメントのみを受け入れるかどうかを示します。

false

Parse Accept Only Xml Version11 (解析 - XML バージョン 11 のみを受け入れ)

Boolean (ブール)

XML 仕様バージョン 1.1 を使用するまたは XML 宣言ヘッダーを含まない XML ドキュメントのみを受け入れるかどうかを示します。

false

Parse Accept Only Xml Version10 To11 (解析 - XML バージョン 10 ~ 11 のみを受け入れ)

Boolean (ブール)

XML 仕様バージョン 1.0 または 1.1 を使用するまたは XML 宣言ヘッダーを含まない XML ドキュメントのみを受け入れるかどうかを示します。

false

## [](#関連情報)関連情報 - [Anypoint Connector の概要](https://docs.mulesoft.com/connectors/introduction/introduction-to-anypoint-connectors) - [MuleSoft ヘルプセンター](https://help.mulesoft.com) # SAP Connector 5.5 SAP 用 Anypoint Connector (SAP Connector) を使用すると、SAP NetWeaver に基づいてデータを外部システムと統合できます。 このコネクタを使用するには、個別のライセンスが必要です。このコネクタを評価したり、本番環境で使用したりするには、MuleSoft にお問い合わせください。 Mule Runtime Engine (Mule) では、SAP 用 Anypoint Connector (SAP Java Connector (JCo) ライブラリを利用する SAP 認定 Java Connector) を介した SAP インテグレーションがサポートされます。SAP JCo により、SAP バックエンドシステムと Java アプリケーション間の通信が促進されます。Java プログラムは、SAP システムに接続して、Remote Function Module を起動できるようになります。また、オブジェクト型が異なっていても IDoc (SAP 中間ドキュメント) を解析できるようになります。SAP 設定では、インバウンド通信とアウトバウンド通信の両方がサポートされます。 SAP JCo ライブラリを使用すると、Mule アプリケーションで次のことができます。 - 次の種別の RFC プロトコルを介して BAPI 関数を実行する。 - Synchronous Remote Function Call RFC (sRFC) - Asynchronous Remote Function Call RFC (aRFC) - sRFC および aRFC を介して BAPI としてコールされる JCo サーバーとして動作する。 - tRFC および qRFC を介して IDoc を送信する。 - tRFC および qRFC を介して IDoc を受信する。 - SAP オブジェクト (BAPI および IDoc では JCo 関数) と XML 間の変換を行う。 SAP の頭字語については、​[「SAP 用語」](https://docs.mulesoft.com/jp/sap-connector/5.5/sap-connector-terminology)​を参照してください。 ## [](#始める前に)始める前に このコネクタを使用するには、以下に精通している必要があります。 - SAP Connector の API - Anypoint Connector - Mule Runtime Engine (Mule) - Mule フローの要素とグローバル要素 - Anypoint Studio (Studio) を使用した Mule アプリケーションの作成 アプリケーションを作成する前に、以下が必要です。 - SAP の対象リソースにアクセスするためのログイン情報 - 必要な RFC、BAPI、および IDoc を使用できるロールまたはプロファイルを持つサービスユーザー。 - SAP ビジネスコンテキスト (特に SAP R/3 ビジネススイート) の実践的な知識 - 管理的な観点からの SAP NetWeaver プラットフォームの基本的な理解 - ABAP 言語の知識 - 必要な SAP ライブラリをダウンロードするための SAP ID - NetWeaver アプリケーションサーバー (NWAS) に接続するための RFC プロトコルの使用 [ECC](http://www.cipherbsc.com/solutions/sap-erp-central-component-erp-ecc/)​ および [CRM](https://help.sap.com/viewer/p/SAP_CUSTOMER_RELATIONSHIP_MANAGEMENT)​ は、他の SAP ソリューションと同様に NWAS 上で実行されるため、コネクタを使用するユーザーはこれらのシステムにアクセスできます。 - Anypoint Studio を使用した Mule アプリケーションの作成方法に関する知識 アプリケーションを作成する前に、SAP Web サイトにアクセスし、IDoc、JCO、JCO Native のバージョン 3.1.x ライブラリを、使用するコンピューターのフォルダーにダウンロードします。 Studio 7 では、変換することなくライブラリ形式を直接使用できます。 ## [](#認証種別)認証種別 SAP Connector 接続では、次の認証種別を使用します。 - Certificate (証明書) X509 証明書を使用してユーザーを認証する接続プロバイダー。 - Simple Connection Provider ユーザー名とパスワードを使用して接続する接続プロバイダー。 ## [](#exchange-テンプレートおよび例)Exchange テンプレートおよび例 [Anypoint Exchange](https://www.mulesoft.com/exchange/)​ は、アプリケーションのスタートポイントとして使用できるテンプレートと、完全なソリューションを具体的に示した例を提供しています。 - **一般:**​ [「Account System API - SAP Implementation Template (アカウントシステム API - SAP 実装テンプレート)」](https://www.mulesoft.com/exchange/org.mule.templates/template-apiled-system-account-sap/)​、 [「Salesforce to Salesforce, Workday, SAP, and Database Account Broadcast (Salesforce to Salesforce、Workday、SAP、データベースアカウントのブロードキャスト)」](https://www.mulesoft.com/exchange/org.mule.templates/template-sfdc2sfdc.wday.sap.db-account-broadcast/) - **Salesforce と SAP:**​ [「Account Aggregation (取引先の集計)」](https://www.mulesoft.com/exchange/org.mule.templates/template-sap2sfdc-account-aggregation/)​、 [「Account Customer Bidirectional Sync (取引先の顧客の双方向同期)」](https://www.mulesoft.com/exchange/org.mule.templates/template-sap2sfdc-customer-bidirectional-sync/)​、 [「Opportunity Aggregation (商談の集計)」](https://www.mulesoft.com/exchange/org.mule.templates/template-sfdc2sap-opportunity-aggregation/)​、 [「Product Aggregation (商品の集計)」](https://www.mulesoft.com/exchange/org.mule.templates/template-sfdc2sap-product-aggregation/)​、 [「Product Bidirectional Sync (商品の双方向同期)」](https://www.mulesoft.com/exchange/org.mule.templates/template-sfdc2sap-product-bidirectional-sync/) - **Salesforce から SAP:**​ [「Account Broadcast (取引先のブロードキャスト)」](https://www.mulesoft.com/exchange/org.mule.templates/template-sfdc2sap-account-broadcast/)​、 [「Account Migration (取引先の移行)」](https://www.mulesoft.com/exchange/org.mule.templates/template-sfdc2sap-account-migration/)​、 [「Opportunity Broadcast (商談のブロードキャスト)」](https://www.mulesoft.com/exchange/org.mule.templates/template-sfdc2sap-opportunity-broadcast/)​、 [「Opportunity Migration (商談の移行)」](https://www.mulesoft.com/exchange/org.mule.templates/template-sfdc2sap-opportunity-migration/)​、 [「Product Broadcast (商品のブロードキャスト)」](https://www.mulesoft.com/exchange/org.mule.templates/template-sfdc2sap-product-broadcast/) - **SAP から Salesforce:**​ [「Contact Broadcast (取引先責任者のブロードキャスト)」](https://www.mulesoft.com/exchange/org.mule.templates/template-sap2sfdc-contact-broadcast/)​、 [「Contact Migration (取引先責任者の移行)」](https://www.mulesoft.com/exchange/org.mule.templates/template-sap2sfdc-contact-migration/)​、 [「Customer Broadcast (顧客のブロードキャスト)」](https://www.mulesoft.com/exchange/org.mule.templates/template-sap2sfdc-customer-broadcast/)​、 [「Customer Migration (顧客の移行)」](https://www.mulesoft.com/exchange/org.mule.templates/template-sap2sfdc-customer-migration/)​、 [「Product Material Broadcast (商品材料のブロードキャスト)」](https://www.mulesoft.com/exchange/org.mule.templates/template-sap2sfdc-product-broadcast/)​、 [「Product Material Migration (商品材料の移行)」](https://www.mulesoft.com/exchange/org.mule.templates/template-sap2sfdc-material-migration/) - **SAP から Workday:**​ [「Employee Migration (従業員の移行)」](https://www.mulesoft.com/exchange/org.mule.templates/template-sap2wday-employee-migration/)​、 [「Organization Broadcast (組織のブロードキャスト)」](https://www.mulesoft.com/exchange/org.mule.templates/template-sap2wday-organization-broadcast/)​、 [「Organization Migration (組織の移行)」](https://www.mulesoft.com/exchange/org.mule.templates/template-sap2wday-organization-migration/) - **Workday と SAP:**​ [「Organization Aggregation (組織の集計)」](https://www.mulesoft.com/exchange/org.mule.templates/template-wday2sap-organization-aggregation/)​、 [「Worker (Employee) Aggregation (作業員 (従業員) の集計)」](https://www.mulesoft.com/exchange/org.mule.templates/template-wday2sap-worker-aggregation/) - **Workday から SAP:**​ [「Worker (Employee) Migration (作業員 (従業員) の移行)」](https://www.mulesoft.com/exchange/org.mule.templates/template-wday2sap-worker2employee-migration/)​、 [「Worker Broadcast (作業員のブロードキャスト)」](https://www.mulesoft.com/exchange/org.mule.templates/template-wday2sap-worker-broadcast/) ## [](#次のステップ)次のステップ 前提条件を満たし、テンプレートおよびサンプルを試したら、​[Anypoint Studio](https://docs.mulesoft.com/jp/sap-connector/5.5/sap-connector-studio)​ でアプリケーションを作成できます。 ## [](#関連情報)関連情報 - [Anypoint Connector の概要](https://docs.mulesoft.com/connectors/introduction/introduction-to-anypoint-connectors) - [Anypoint Exchange の SAP Connector](https://www.mulesoft.com/exchange/com.mulesoft.connectors/mule-sap-connector/) - [MuleSoft ヘルプセンター](https://help.mulesoft.com) # SAP Connector 5.5 の Studio 設定 SAP Connector をインストールし、Anypoint Studio でコネクタを設定します。 まず、SAP から取得した SAP Java Connector (JCo) ライブラリをインストールします。これで、1 つ以上の SAP Connector 操作を含むアプリケーションを作成できます。Studio を使用すると、アプリケーションを作成して、そのアプリケーションにブラウザーからアクセスできます。 Anypoint Studio で SAP Connector を設定する手順は、次のとおりです。 1. コネクタを Mule プロジェクトに追加します。 2. SAP Connector を設定します。 3. コネクタの入力元を設定します。 ## [](#add-connector-to-project)コネクタを Mule プロジェクトに追加する SAP Connector を Mule プロジェクトに追加して、XML コードにコネクタの名前空間およびスキーマの場所を自動的に入力し、プロジェクトの ​`pom.xml`​ ファイルに必須の連動関係を追加します。 1. **\[Mule Palette (Mule パレット)\]**​ ビューで、​**\[(X) Search in Exchange ((X) Exchange 内を検索)\]**​ をクリックします。 2. **\[Add Dependencies to Project (連動関係をプロジェクトに追加)\]**​ ウィンドウで、検索項目に「​`sap`​」と入力します。 3. **\[Available modules (使用可能なモジュール)\]**​ で ​**\[SP Connector (VM Connector)\]**​ をクリックします。 4. **\[Add (追加)\]**​ をクリックします。 5. **\[Finish (完了)\]**​ をクリックします。 Studio でコネクタを Mule プロジェクトに追加しても、Studio ワークスペースの他のプロジェクトはそのコネクタを使用できません。 ## [](#ソース操作を選択する)ソース操作を選択する 1. Anypoint Studio で ​**\[Mule Palette (Mule パレット)\]**​ をクリックして、「​`sap`​」と入力します。 2. 操作を選択します。 SAP からオブジェクトが送信されたときにアプリケーションを開始する場合、次のいずれかの操作を選択し、操作を Studio キャンバスの ​**\[Source (ソース)\]**​ 領域にドラッグします。 - **Document source**​ は IDoc の変更をリスンします。IDoc が変更されると、アプリケーションが実行されます。 - **Function source**​ は SAP 関数モジュールの変更をリスンします。対象の関数モジュールが変更されると、アプリケーションが実行されます。 項目値については、​[「SAP Connector リファレンス」](https://docs.mulesoft.com/jp/sap-connector/5.5/sap-connector-reference)​を参照してください。 **Document source**​ 操作または ​**Function source**​ 操作を選択した場合は、次のセクションに進んで SAP ライブラリをインストールします。 3. 代わりに、​**HTTP リスナー**​や​**スケジューラー**​など、このコネクタの入力元を設定して、操作を Studio キャンバスにドラッグすることもできます。 HTTP リスナーを使用すると、ブラウザーからアプリケーションを開始できます。スケジューラーは特定の時間にアプリケーションを開始します。 4. SAP ライブラリをインストールします。 ## [](#sap-ライブラリをインストールする)SAP ライブラリをインストールする Mule プロジェクトで SAP ライブラリを使用するには、まずライブラリをコンピューターにダウンロードする必要があります。Anypoint Studio では 3 つのライブラリを変換せずに直接使用できます。ライブラリをダウンロードするには、SAP ID が必要です。 各ライブラリのファイル種別は、オペレーティングシステムによって異なります。
OS ファイル種別

Windows

  • sapidoc3.jar

  • sapjco3.jar

  • sapjco3.dll

Mac OS

  • sapidoc3.jar

  • sapjco3.jar

  • libsapjco3.jnilib

Linux

  • sapidoc3.jar

  • sapjco3.jar

  • libsapjco3.so

SAP Connector では、SAP JCo ライブラリバージョン 3.0.x および 3.1.x がサポートされています。
ライブラリをインストールしたら、グローバル要素プロパティをカスタマイズして、接続をテストできます。 ## [](#anypoint-studio-でライブラリを設定する)Anypoint Studio でライブラリを設定する SAP Connector を Studio にインストールして、コネクタを Mule プロジェクトに追加したら、ライブラリを設定します。 1. フローでコネクタをダブルクリックします。 2. **\[Connector Configuration (コネクタ設定)\]**​ 項目の右にあるプラス記号 (​**+**​) をクリックします。 次の画面が表示されます。 ![sap connector configuration 01](/mulesoft/current/ja-jp/sap-connector/5.5/_images/sap-connector-configuration-01.png) ### [](#idoc-ライブラリをインストールする)IDOC ライブラリをインストールする 1. **\[Add Dependency (連動関係を追加)\]**​ をクリックします。 2. **\[Install (インストール)\]**​ をクリックします。 ![sap connector configuration 02](/mulesoft/current/ja-jp/sap-connector/5.5/_images/sap-connector-configuration-02.png) 3. **\[Install (インストール)\]**​ メニューで、​**\[Browse (参照)\]**​ をクリックして、ライブラリファイルを見つけます。 4. 一意のグループ ID、アーティファクト ID、バージョンを指定します。 ![sap connector configuration 02 in](/mulesoft/current/ja-jp/sap-connector/5.5/_images/sap-connector-configuration-02-in.png) 5. **\[Finish (完了)\]**​ をクリックするか、キャンセルする場合は、​**\[Remove Dependency (連動関係を削除)\]**​ をクリックします。 ![sap connector configuration 02 finish](/mulesoft/current/ja-jp/sap-connector/5.5/_images/sap-connector-configuration-02-finish.png) ### [](#jco-ライブラリをインストールする)JCO ライブラリをインストールする 1. **\[Add Dependency (連動関係を追加)\]**​ をクリックします。 2. **\[Install (インストール)\]**​ をクリックします。 ![sap connector configuration 02](/mulesoft/current/ja-jp/sap-connector/5.5/_images/sap-connector-configuration-02.png) 3. **\[Install (インストール)\]**​ メニューで、​**\[Browse (参照)\]**​ をクリックして、ライブラリファイルを見つけます。 4. 一意のグループ ID、アーティファクト ID、バージョンを指定します。 ![sap connector configuration 03 in](/mulesoft/current/ja-jp/sap-connector/5.5/_images/sap-connector-configuration-03-in.png) 5. **\[Finish (完了)\]**​ をクリックするか、キャンセルする場合は、​**\[Remove Dependency (連動関係を削除)\]**​ をクリックします。 ![sap connector configuration 03 finish](/mulesoft/current/ja-jp/sap-connector/5.5/_images/sap-connector-configuration-03-finish.png) ### [](#jco-native-ライブラリをインストールする)JCO Native ライブラリをインストールする 1. **\[Add Dependency (連動関係を追加)\]**​ をクリックします。 2. **\[Install (インストール)\]**​ をクリックします。 ![sap connector configuration 02](/mulesoft/current/ja-jp/sap-connector/5.5/_images/sap-connector-configuration-02.png) 3. **\[Install (インストール)\]**​ メニューで、​**\[Browse (参照)\]**​ をクリックして、ライブラリファイルを見つけます。 MacOS では、JCO バージョン 3.1.2 以降、ネイティブライブラリの拡張子が ​`jnilib`​ から ​`dylib`​ に変更されました。 1. ローカルマシンからライブラリをインストールした後: 2. **\[Shared Folder (共有フォルダー)\]**​ ウィンドウの一番下に移動します。 3. **\[Any (任意)\]**​ を選択して、​`dylib`​ ネイティブライブラリを選択します。 4. **\[Install file into local repository (ローカルリポジトリにファイルをインストール)\]**​ ウィンドウで、次の項目の値を入力します。 - **Group ID (グループ ID)** - **Artifact ID (アーティファクト ID)** - **Version (バージョン)** 4. 一意のグループ ID、アーティファクト ID、バージョンを指定します。 ![sap connector configuration 04 in](/mulesoft/current/ja-jp/sap-connector/5.5/_images/sap-connector-configuration-04-in.png) 5. **\[Finish (完了)\]**​ をクリックするか、キャンセルする場合は、​**\[Remove Dependency (連動関係を削除)\]**​ をクリックします。 ![sap connector configuration 04 finish](/mulesoft/current/ja-jp/sap-connector/5.5/_images/sap-connector-configuration-04-finish.png) ライブラリのインストールが終了したら、正常にインストールされた各ライブラリに緑色のチェックマークが付いた次のような設定画面が表示されます。 ![sap connector libraries installed](/mulesoft/current/ja-jp/sap-connector/5.5/_images/sap-connector-libraries-installed.png) ## [](#接続をテストする)接続をテストする 1. SAP ログインにサインインして必要な情報を取得し、​[Studio での設定](#gepparms)​の説明に従って、残りの ​**\[Global Element Properties (グローバル要素プロパティ)\]**​ 項目を設定します。 2. **\[Test Connection (接続をテスト)\]**​ をクリックして、ログイン情報が正しいことを確認します。 ## [](#コネクタの設定)コネクタの設定 Mule プロジェクトに複数の SAP Connector インスタンスがある場合、グローバル SAP 要素を作成できます。SAP Connector オブジェクトには、SAP サーバーに接続できるようにする設定プロパティが保持されています。 SAP Connector の設定を作成する手順は、次のとおりです。 1. **\[Global Elements (グローバル要素)\]**​ セクションに移動し、​**\[Create (作成)\]**​ をクリックします。 2. **\[Connector Configuration (コネクタ設定)\]**​ セクションで ​**\[SAP Inbound (SAP インバウンド)\]**​ または ​**\[SAP Outbound (SAP アウトバウンド)\]**​ のいずれかを選択します。 3. **\[General (一般)\]**​ タブペインで、SAP 接続を定義するのに必要なパラメーターを入力します。これは、SAP システム管理者が提供できます。 SAP グローバル要素プロパティにより、接続プロパティを定義したり、必要な SAP 連動関係をプロジェクトに追加したりできます。 SAP Connector では、使いやすいように最も一般的なプロパティのみがコネクタパラメーターとして表示されます。​**\[Properties (プロパティ)\]**​ パネルにリストされていないプロパティを設定するには、​[「拡張プロパティの定義」](https://docs.mulesoft.com/jp/sap-connector/5.5/sap-connector-config-topics)​トピックを参照してください。 最低限定義する必要のある属性は次のとおりです。
項目 説明

Application Server Host (アプリケーションサーバーホスト)

SAP エンドポイント。

Username (ユーザー名)

認証された SAP ユーザーのユーザー名。

Password (パスワード)

認証された SAP ユーザーのパスワードログイン情報。

System Number (システム番号)

SAP システムに接続するために使用されるシステム番号。

Client (クライアント)

SAP システムに接続するために使用される SAP クライアント ID (通常は数値)。

Login Language (ログイン言語)

SAP 接続で使用される言語。たとえば、英語の場合は ​EN​ になります。

プロパティプレースホルダー構文は簡単かつ再利用可能な方法であるため、この方法を使用してログイン情報を読み込むことをお勧めします。 SAP インスタンスへの接続が正しいことを確認するには、​**\[Test Connection (接続をテスト)\]**​ をクリックします。ログイン情報が正しければ、​`Test Connection Successful`​ というメッセージが表示されます。 ## [](#view-app-log)アプリケーションログの表示 問題を確認するため、アプリケーションログを次の方法で表示できます。 - アプリケーションを Anypoint Platform から実行している場合、出力は Anypoint Studio のコンソールウィンドウに表示される。 - コマンドラインから Mule を使用してアプリケーションを実行している場合、アプリケーションログは OS コンソールに表示される。 アプリケーションのログファイル (​`log4j2.xml`​) でログファイルパスがカスタマイズされていない場合、デフォルトの場所 ​`MULE_HOME/logs/.log`​ でアプリケーションログを表示することもできます。 ## [](#次のステップ)次のステップ Studio でこのコネクタを設定したら、​[「追加設定情報」](https://docs.mulesoft.com/jp/sap-connector/5.5/sap-connector-config-topics)​トピックで設定に関する他のトピックを参照してください。 ## [](#関連情報)関連情報 - [Anypoint Connector の概要](https://docs.mulesoft.com/connectors/introduction/introduction-to-anypoint-connectors) - [MuleSoft ヘルプセンター](https://help.mulesoft.com) # SAP Connector 5.5 の XML と Maven のサポート XML で Mule アプリケーションを手動でコーディングすることもできますが、Anypoint Studio を使用した方が効率的です。 Anypoint Studio の XML エディターまたはテキストエディターから Mule Runtime Engine (Mule) アプリケーションを手動でコーディングする場合、参照ステートメントを XML Mule フローと Apache Maven ​`pom.xml`​ ファイルの両方に追加することで、アプリケーションからコネクタにアクセスできます。 Studio でコネクタを追加すると、Studio は自動的に XML コードにコネクタの名前空間およびスキーマの場所を入力し、​`pom.xml`​ ファイルに連動関係を追加します。 ## [](#コネクタの名前空間の追加)コネクタの名前空間の追加 次のコードを設定 XML のヘッダーの ​``​ タグ内に貼り付けます。 ```xml http://www.mulesoft.org/schema/mule/sap http://www.mulesoft.org/schema/mule/sap/current/mule-sap.xsd ``` 次の例は、​``​ XML ブロック内に名前空間ステートメントが配置される方法を示しています。 ```xml ="http://www.mulesoft.org/schema/mule/" xmlns:ee="http://www.mulesoft.org/schema/mule/ee/core" xmlns:http="http://www.mulesoft.org/schema/mule/http" xmlns:file="http://www.mulesoft.org/schema/mule/file" 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/file http://www.mulesoft.org/schema/mule/file/current/mule-file.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"> ``` ## [](#pom-ファイルの連動関係の追加)POM ファイルの連動関係の追加 Apache Maven ​`pom.xml`​ ファイルは Anypoint Studio によって生成され、Mule アプリケーションの連動関係が含まれます。Mule アプリケーションを手動でコーディングする場合、次の XML スニペットを ​`pom.xml`​ ファイルに含めてこのコネクタにアクセスできるようにします: ```xml com.mulesoft.connectors mule-sap-connector x.x.x mule-plugin ``` `x.x.x`​ を使用しているコネクタに対応するバージョンに置き換えます。 JCo ライブラリをサポートするために、次の連動関係を追加します。 ```xml org.mule.tools.maven mule-maven-plugin ${mule.maven.plugin.version} true com.sap.conn.jco com.sap.conn.jco.sapjco3 com.sap.conn.idoc com.sap.conn.idoc.sapidoc3 com.sap.conn.jco com.sap.conn.jco.libsapjco3 ``` 最新の ​`pom.xml`​ ファイル情報を取得する手順は、次のとおりです。 1. [Anypoint Exchange](https://www.mulesoft.com/exchange/)​ に移動します。 2. Exchange で、​**\[Login (ログイン)\]**​ をクリックし、Anypoint Platform のユーザー名とパスワードを指定します。 3. Exchange で、「​`sap`​」を検索します。 4. コネクタを選択します。 5. 画面の右上付近にある ​**\[Dependency Snippets (連動関係スニペット)\]**​ をクリックします。 ## [](#次のステップ)次のステップ 名前空間および ​`pom.xml`​ ファイルを完了したら、SAP の​[例](https://docs.mulesoft.com/jp/sap-connector/5.5/sap-connector-examples)​を試すことができます。 ## [](#関連情報)関連情報 - [Anypoint Connector の概要](https://docs.mulesoft.com/connectors/introduction/introduction-to-anypoint-connectors) - [MuleSoft ヘルプセンター](https://help.mulesoft.com) # SAP Connector 5.5 のトラブルシューティング SAP 用 Anypoint Connector (SAP Connector) をトラブルシューティングするには、全般的なトラブルシューティングの実行、一般的な特定エラーへの対応、そして一般的にスローされる例外メッセージの解釈について理解しておく必要があります。 ## [](#全般的なトラブルシューティングの実行)全般的なトラブルシューティングの実行 SAP Connector の全般的なトラブルシューティングガイドラインは次のとおりです。 - [ログファイルを確認する](#check-log-files) - [JCo トレースを有効にする](#enable-jco-trace) ### [](#check-log-files)ログファイルを確認する Mule では (アプリケーションごとに) ログファイルが ​`$MULE_HOME\logs`​ ディレクトリに保存されます。 - `mule.log` デフォルトの Mule ログファイル - `mule-app-YOUR_APP_NAME.log` アプリケーションごとのログファイル ### [](#enable-jco-trace)JCo トレースを有効にする JCo トレースは Mule の外部から有効にできます。JCo トレースは次の Java 起動環境プロパティを受け入れます。 - `-Djco.trace_level=N` `N`​ は ​`0`​ ~ ​`10`​ で、​`10`​ は最も詳細なトレース - `-Djco.trace_path=` 省略可能 JCo は ​`0`​ (デフォルト) ~ ​`10`​ のトレースレベルをサポートします。トレースレベルが高いほど、トレースデータの量が増加します。各トレースレベルには、下位のトレースレベルのすべてのトレースデータも含まれます。多くの JCo コールと転送されるコンテンツで高い JCo トレースレベルを使用する場合は、十分なディスク容量が使用可能であることを確認してください。 コネクタレベルでトレースを有効にする手順は、次のとおりです。 1. 属性 ​`jcoTrace`​ を ​`true`​ に設定するか、値 ​`1`​ の拡張 JCo プロパティ ​`jco.client.trace`​ または ​`jco.server.trace`​ を指定します。 2. Mule の起動時に ​`-Djco.trace_level=N`​ の値を指定します。
トレースレベル AS Java セキュリティレベル JCo 3 トレースコンテンツ

0

NONE

トレースなし

1

ERROR

JCo バージョンとランタイム環境情報、およびアプリケーションエラーを含まない JCo 内部エラーと例外

2

WARNING

JCo 警告メッセージ (ABAP 以外のシステム例外など)

3

INFO

JCo 情報メッセージ (ABAP 例外など)

4

PATH

RFC コールおよび重要な公開 API コール

5

DEBUG

重要な内部ミドルウェアコール
コードページ情報

6

DEBUG

接続属性
ASCII コンテンツデータ (構造の最初の 1000 文字またはテーブルの最初の 5 行)

7

DEBUG

RFC メタデータ (名前、型、オフセット、長さ、インポートおよびエクスポートオプション、およびコンテンツデータのその他の 16 進数値を含む)

8

DEBUG

完全なコンテンツデータダンプ (文字または行の制限なし)
コール元のスタックトレース情報 (たとえば、​getClient()​ はアプリケーションを識別します)

9

DEBUG

追加情報なし (将来の使用のために予約済み)

10

DEBUG

追加情報なし (将来の使用のために予約済み)

3. 必要に応じて、​`-Djco.trace_path=`​ の値を指定します。通常、これは、トレースファイルが保存されている既存のディレクトリへの完全パスですが、他の特別な値を適用できます。 - `stdout` JCo トレース情報は標準​**出力**​ストリームに送信されます。 - `stderr` JCo トレース情報は標準​**エラー**​ストリームに送信されます。 `-Djco.trace_path`​ を設定しない場合、トレースファイルは作業ディレクトリに保存されます。Mule スタンドアロンインスタンスの場合、通常は ​`$MULE_HOME/bin`​ フォルダーになります。 ## [](#一般的なエラーのトラブルシューティング)一般的なエラーのトラブルシューティング SAP Connector の一般的なエラーとその解決方法のリストを次に示します。 - [JCo ライブラリの欠落](#missing-jco-libraries) - [JCo クラスローダーの競合](#jco-classloader-conflicts) - [JCo バージョンの競合](#jco-version-conflicts) - [JCo 名前変更の競合](#jco-renaming-conflicts) - [メッセージが SAP オブジェクトではない](#message-not-an-sap-object) - [IDoc メタデータを使用できない](#idoc-metadata-unavailable) - [TID ハンドラーの欠落](#missing-tid-handler) - [パラメーターがサポートされていない](#parameter-not-supported) - [複数の JCo サーバーが実行されている](#multiple-jco-servers-running) ### [](#missing-jco-libraries)JCo ライブラリの欠落 通常、1 つ以上の必須の SAP JCo 連動関係を読み込まずに接続のテストや Mule アプリケーションのデプロイを実行した場合にこのエラーが発生します。 - JCo ネイティブライブラリの欠落 ```text java.lang.ExceptionInInitializerError: JCo initialization failed with java.lang.UnsatisfiedLinkError: no sapjco3 in java.library.path ``` - JCo JAR の欠落 java.lang.NoClassDefFoundError: com/sap/conn/jco/JCoTraceListener - IDoc JAR の欠落 java.lang.NoClassDefFoundError: com/sap/conn/idoc/IDocMetaDataUnavailableException ![ライブラリが欠落している SAP 設定タブ](/mulesoft/current/ja-jp/sap-connector/5.5/_images/sap-connector-missing-libraries.png) このエラーを解決する手順は、次のとおりです。 1. **\[Required Libraries (必須ライブラリ)\]**​ セクションで、赤い感嘆符アイコンが付いている連動関係の横にある ​**\[Configure (設定)\]**​ をクリックします。 2. 連動関係を参照し、適切なファイルを選択します。 欠落している連動関係がプロジェクトのクラスパスに自動的に追加されます。
Package Explorer​ で、プロジェクトを右クリックし、​[Build Path (ビルドパス)] > [Configure Build Path (ビルドパスを設定)]​ に移動すると、プロジェクトのビルドパス内のライブラリが表示されます。
### [](#jco-classloader-conflicts)JCo クラスローダーの競合 ネイティブライブラリをグローバル設定から読み込むと、ファイルのコピーが ​`$YOUR_APP/src/main/app/lib`​ 内に配置されますが、ソースファイルは削除されません。そのため、接続のテストやアプリケーションのデプロイを実行するときに、ネイティブライブラリが JCo JAR ファイルと同じディレクトリを共有していると、次のエラーが発生します。 ```text java.lang.ExceptionInInitializerError: JCo initialization failed with java.lang.UnsatisfiedLinkError: Native Library /home/mule/sap-errors/lib/jco/libsapjco3.so already loaded in another classloader ``` ![SAP エラー、JCo クラスローダーフォルダー](/mulesoft/current/ja-jp/sap-connector/5.5/_images/sap-error-jco-classloader-folder.png) このエラーを解決する手順は、次のとおりです。 次のいずれかの解決策を選択します。最初の解決策は最も簡単ですが、2 番目の解決策をベストプラクティスとしてお勧めします。 - JCo JAR ファイルが存在するディレクトリから​_重複する_​ネイティブライブラリファイルを削除します。 ![SAP エラー、JCo クラスローダーの修正](/mulesoft/current/ja-jp/sap-connector/5.5/_images/sap-error-jco-classloader-fix.png) - ダイナミックリンクライブラリを保持するように環境変数 ​`LD_LIBRARY_PATH`​ を設定し、同じ Mule Runtime サーバー内にデプロイされている複数のアプリケーションでその環境変数を共有します。 ### [](#jco-version-conflicts)JCo バージョンの競合 次のエラーの最も多い原因は、異なるバージョンのネイティブライブラリと JCo JAR ファイルが使用されていることです。 ```text java.lang.ExceptionInInitializerError: Native library sapjco3 is too old. Found library System-defined path to libsapjco3.so has version "720.612", but required is at least version "720.713". ``` このエラーを解決するには、次の要件が満たされていることを確認します。 - 64 ビットモードで動作する JVM では 64 ビット JCo が必要で、32 ビットモードで動作する JVM では 32 ビット JCo が必要です。 - Microsoft Windows では、JCo には Microsoft Visual Studio 2005 C/C++ ランタイムライブラリが必要です。 - `sapjco.jar`​ と、​`sapjco3.dll`​、​`sapjco3.so`​、および ​`sapjco3.jnilib`​ のいずれかの両方が​**同じ JCo パッケージ**​から取得されている必要があります。 使用している JCo ライブラリのバージョンを確認するには、次のいずれかを実行します。 - Windows (UI): 1. `sapjco3.jar`​ ファイルが配置されているディレクトリに移動します。 2. `sapjco3.jar`​ ファイルを右クリックします。 3. コンテキストメニューから ​**\[プログラムから開く\]**​ を選択します。 4. **\[Java 2 Platform Standard Edition\]**​ バイナリをクリックします。 5. 表示された JCo ダイアログに表示されている情報を確認します。 - Mac: 1. ターミナルウィンドウを開きます。 2. `sapjco3.jar`​ ファイルが配置されているディレクトリに移動します。 3. コマンド ​`java -jar sapjco3.jar -version`​ を実行します。 4. 表示された JCo ダイアログに表示されている情報を確認します。 ### [](#jco-renaming-conflicts)JCo 名前変更の競合 JCo 3.0.11 以降では、SAP JCo ライブラリファイルは JCo により認識されないため、名前変更できず、次のエラーが表示されます。 ```text java.lang.ExceptionInInitializerError: Illegal JCo archive "sapjco3-3.0.11.jar". It is not allowed to rename or repackage the original archive "sapjco3.jar" ``` このエラーを解決する手順は、次のとおりです。 Apache Maven を使用している場合は、属性 ​`true`​ を持つ ​**maven-dependency-plugin**​ を設定します。これを設定し、JCo アーティファクトを削除すると、すべての連動関係ライブラリのバージョン番号が削除されます。 詳細は、 [「Apache Maven Dependency Plugin (Apache Maven Dependency プラグイン)」](http://maven.apache.org/plugins/maven-dependency-plugin/usage.html)​を参照してください。 ### [](#message-not-an-sap-object)メッセージが SAP オブジェクトではない エンドポイントは、BAPI または IDoc を実行するために必要な入力パラメーターを含む SAP オブジェクトを想定します。 以下のメッセージが表示された場合、次のいずれかが考えられます。 - 必要な入力パラメーターが指定されていない。 - 入力パラメーターは指定されているが、SAP オブジェクトが無効である。 ```text org.mule.api.transport.DispatchException: Message is not a SAP object, it is of type "byte[]". Check the transformer for this Connector "SapConnector". Failed to route event via endpoint: SapOutboundEndpoint{endpointUri=sap://function, connector=SapConnector { name=SapConnector lifecycle=start this=4571cebe numberOfConcurrentTransactedReceivers=4 createMultipleTransactedReceivers=true connected=true supportedProtocols=[sap] serviceOverrides= } , name='endpoint.sap.function', mep=ONE_WAY, properties={evaluateFunctionResponse=false, bapiTransaction=false, functionName=BAPI_MATERIAL_AVAILABILITY, rfcType=srfc, outputXml=true}, transactionConfig=Transaction{factory=null, action=INDIFFERENT, timeout=0}, deleteUnacceptedMessages=false, initialState=started, responseTimeout=10000, endpointEncoding=UTF-8, disableTransportTransformer=false}. Message payload is of type: byte[] ``` この問題を解決する手順は、次のとおりです。 次の 2 つのいずれかの操作を実行して、BAPI または IDoc へのコールを表す SAP オブジェクトを作成します。 - BAPI コールを含む SAP オブジェクトが含まれる XML を作成します。 - 実際の SAP コールを作成するための入力が含まれる XML 定義を指定します。 ### [](#idoc-metadata-unavailable)IDoc メタデータを使用できない 次のエラーが発生した場合、RFC 宛先が Unicode をサポートしていないことを意味します。 ```text RfcException: [mc-vmware|a_rfc] message: (3) IDOC_ERROR_METADATA_UNAVAILABLE: The meta data for the IDoc type "??????????????????????????å å" with extension " ORDSAPB6L B60CL ???" is unavailable. Return code: RFC_FAILURE(1) error group: 104 key: RFC_ERROR_SYSTEM_FAILURE ``` このエラーを解決する手順は、次のとおりです。 トランザクション ​**SM59**​ を使用して、SAP インスタンスでの Unicode サポートを設定します。 ### [](#missing-tid-handler)TID ハンドラーの欠落 TID ハンドラーが定義されていないため、次のエラーが表示されます。 ```text RfcException: [mule.local|MULESOFT_IDOC_SEND_TEST] message: check TID fault: No transaction handler is installed. Unable to process tRFC/qRFC requests. Return code: RFC_FAILURE(1) error group: 104 key: RFC_ERROR_SYSTEM_FAILURE Exception raised by myhost.com.ar|MULESOFT_IDOC_SEND_TEST at com.sap.conn.jco.rt.MiddlewareJavaRfc$JavaRfcServer.playbackTRfc(MiddlewareJavaRfc.java:2625) at com.sap.conn.jco.rt.MiddlewareJavaRfc$JavaRfcServer.handletRfcRequest(MiddlewareJavaRfc.java:2546) at com.sap.conn.jco.rt.MiddlewareJavaRfc$JavaRfcServer.listen(MiddlewareJavaRfc.java:2367) at com.sap.conn.jco.rt.DefaultServerWorker.dispatch(DefaultServerWorker.java:284) at com.sap.conn.jco.rt.DefaultServerWorker.loop(DefaultServerWorker.java:369) at com.sap.conn.jco.rt.DefaultServerWorker.run(DefaultServerWorker.java:245) at java.lang.Thread.run(Thread.java:680) ``` このエラーを解決する手順は、次のとおりです。 ``​ で ​`rfcType`​ を ​`trfc`​ または ​`qrfc`​ に設定します。 ### [](#parameter-not-supported)パラメーターがサポートされていない SAP 拡張プロパティには有効な名前が必要です。このため、無効なプロパティ名を指定すると、次のようなエラーメッセージが表示されます。 ```text Root Exception stack trace: RfcException: [null] message: Parameter 'type' not supported: 'f' Return code: RFC_INVALID_PARAMETER(19) error group: 101 key: RFC_ERROR_PROGRAM at com.sap.conn.rfc.api.RfcOptions.checkParameters(RfcOptions.java:182) at com.sap.conn.jco.rt.MiddlewareJavaRfc$JavaRfcClient.connect(MiddlewareJavaRfc.java:1328) at com.sap.conn.jco.rt.ClientConnection.connect(ClientConnection.java:731) + 3 more (set debug level logging or '-Dmule.verbose.exceptions=true' for everything) ``` この例では、​`type`​ という名前のパラメーターが無効であることが JCo ライブラリにより報告されています。 このエラーを解決する手順は、次のとおりです。 JCo 拡張プロパティの有効なプロパティ名を指定します。 ### [](#multiple-jco-servers-running)複数の JCo サーバーが実行されている 2 つ以上の JCo サーバーには、設定名が異なっていても同じ設定パラメーターセットを含めることはできないため、次のエラーが表示されます。 ```text ERROR 2012-07-05 10:11:30,525 [WrapperListener_start_runner] com.mulesoft.mule.transport.sap.SapMessageReceiver: Error connecting to server com.sap.conn.jco.JCoException: (101) JCO_ERROR_CONFIGURATION: Server configuration for sapavalara-1.0-SNAPSHOT-gettax is already used for a running server at com.sap.conn.jco.rt.StandaloneServerFactory.update(StandaloneServerFactory.java:358) at com.sap.conn.jco.rt.StandaloneServerFactory.getServerInstance(StandaloneServerFactory.java:176) at com.sap.conn.jco.server.JCoServerFactory.getServer(JCoServerFactory.java:74) at com.mulesoft.mule.transport.sap.jco3.SapJcoRfcServer.initialise(SapJcoRfcServer.java:46) at com.mulesoft.mule.transport.sap.jco3.SapJcoServerFactory.create(SapJcoServerFactory.java:60) at com.mulesoft.mule.transport.sap.SapMessageReceiver.doConnect(SapMessageReceiver.java:56) at org.mule.transport.AbstractTransportMessageHandler.connect(AbstractTransportMessageHandler.java:218) at org.mule.transport.AbstractConnector.registerListener(AbstractConnector.java:1254) ```
これは、同じ Mule サーバーで実行されている Mule アプリケーションにのみ適用されます。Mule サーバーグループのノードにこの制限はありません。
このエラーを解決する手順は、次のとおりです。 次の属性を使用して、サーバーグループキーを作成します (サーバーグループキーは JCo サーバー接続のユニーク性を決定します)。 - `jco.server.gwhost` - `jco.server.gwserv` - `jco.server.progid` 2 つのサーバーで ​`gwhost`​、​`gwserv`​、および ​`progid`​ の値が異なる場合のみ、2 つのサーバーを同じ Mule インスタンスで開始できます (JCo はこの情報をシングルトンクラスで保持します)。 ## [](#スローされる一般的な例外メッセージの理解)スローされる一般的な例外メッセージの理解 スローされる一般的な例外メッセージとその解釈方法のリストを次に示します。 - SAP:CONNECTIVITY A connection cannot be established. (接続を確立できません。) - SAP:INVALID\_CACHE The cache used internally by the JCo library is corrupted or can’t be read. (JCo ライブラリで内部的に使用されているキャッシュが破損しているか、読み取ることができません。) - SAP:INVALID\_INPUT User input cannot be parsed or is incorrect. (ユーザー入力を解析できないか、ユーザー入力が正しくありません。) - SAP:METADATA\_UNAVAILABLE The metadata for an IDoc segment is unavailable. (IDoc セグメントのメタデータを利用できません。) - SAP:NOT\_FOUND A function or IDoc template cannot be found or retrieved. (関数または IDoc テンプレートが見つからないか、取得できません。) - SAP:NOT\_SUPPORTED An action occurs that is not supported by any JCo handler. (JCo ハンドラーでサポートされていないアクションが実行されました。) - SAP:PARSING The JCo library has a parsing issue or the connector cannot convert XML to a BAPI function or an IDoc. (JCo ライブラリに解析の問題があるか、コネクタが XML を BAPI 関数または IDoc に変換できません。) - SAP:RETRY\_EXHAUSTED Execution block retries are exhausted. (実行ブロックの再試行が終了しました。) - SAP:SYSTEM\_BUSY The remote ABAP system is too busy to handle a request. (リモートの ABAP システムが混雑しているため要求を処理できません。) - SAP:TIMEOUT A timeout exception happens inside the JCo library. (JCo ライブラリ内でタイムアウト例外が発生しました。) ## [](#関連情報)関連情報 - [Anypoint Connector の概要](https://docs.mulesoft.com/connectors/introduction/introduction-to-anypoint-connectors) - [SAP Connector リファレンス](https://docs.mulesoft.com/jp/sap-connector/5.5/sap-connector-reference) - [MuleSoft ヘルプセンター](https://help.mulesoft.com) # SAP Connector 5.5 の例 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.5/_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 EDI_DC40 800 0000000003519646 740 30 1 2 MATMAS01 MATMAS SAPIDE LS T90CLNT090 MULE01_TP LS MULE01_LS 20180606 133420 20180606133420 005 000000000000000088 19970527 MORLEY 20030122 I021066 KVB X FERT M 02004 PCE 000 0.200 0.200 KGM 0.000 0001 09 0.000 0.000 0.000 0.000 0.000 0.000 0.0 0.0 0 0 0 0 0 KVB 00000000 00000000 00 0.0 0.0 000000000 005 1 AS-100 T-shirt ZH 005 4 AS-100 T-shirt RO 005 5 AS-100 T-shirt SL 005 6 AS-100 T-shirt HR 005 E AS-100 T-shirt EN 005 F AS-100 T-shirt FR 005 G AS-100 T-shirt EL 005 J AS-100 T ??? JA 005 W AS-100 T-shirt BG 005 d AS-100 T-shirt SH 005 1000 V X 0 0 M 0.00 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0 00000000 0.00 0.00 0.00 0.000 0 0 0.0 0.0 0 0.00 0.000 0.0 00000000 01 0.00 0.000 0.00 0.000 000 000 000 0.000 0.00 0 00000000 0.00 00000000 00000000 0 00 00000000 0 0.000 0.000 0.000 0.000 00 0.000 005 2300 VB X 0 0 M 0.00 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0 00000000 0.00 0.00 0.00 0.000 0 0 0.0 0.0 0 0.00 0.000 0001 0.0 00000000 01 0.00 0.000 0.00 0.000 000 000 000 0.000 0.00 0 00000000 0.00 00000000 00000000 00000000 0 00 00000000 0 0.000 0.000 0.000 0.000 00 0.000 005 PCE 1 1 0.000 0.000 0.000 0.000 0.200 KGM 0 0 0.000 005 2300 X S 0 0.3 1 7920 S 0 0.3 1 7920 S 0 0.3 1998 09 0 00000000 0 0 0 0 0.000 0.000 0 0 0 0 0 00000000 00000000 00000000 0 0 00 B 000100014878 000100014879 00 00 00 000 000 000 0000 0000 0000 0 7920 1 X 0 005 ES MWST 0 ',"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\]**​ のプロパティに次の値を設定します。
項目 Value (値)

IDoc Name (IDoc 名)

MATMAS01

Content (コンテンツ)

#[payload]

### [](#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 EDI_DC40 800 0000000003519646 740 30 1 2 MATMAS01 MATMAS SAPIDE LS T90CLNT090 MULE01_TP LS MULE01_LS 20180606 133420 20180606133420
',"application/xml") ]]>
``` ## [](#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.5/_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\]**​ のプロパティに次の値を設定します。
項目 Value (値)

Gateway host (ゲートウェイホスト)

ゲートウェイサーバーを実行するホスト

Gateway service (ゲートウェイサービス)

3200

Program id (プログラム ID)

MULE01_PID

Connection count (接続数)

1

Idoc type filter regex (Idoc 種別検索条件の正規表現)

MATMAS01

[Gateway host (ゲートウェイホスト)]​、​[Gateway service (ゲートウェイサービス)]​、​[Program id (プログラム ID)]​ は、顧客の SAP チームから取得する必要があります。

SAP インスタンスに関連するすべての情報 (設定やログイン情報など) を顧客の SAP チームから取得する必要があります。

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 --- ``` Studio コンソールでの応答例 ```dataweave EDI_DC40 800 0000000003572826 740 30 1 2 MATMAS01 MATMAS SAPIDE LS T90CLNT090 MULE11_TP LS MULE11_LS 20191004 050305 20191004050305 ... ``` ## [](#receive-an-sap-function)SAP 関数を受信する この例は、SAP 関数を受信する Mule アプリケーションを作成する方法を示しています。この例では、関数が別の Mule フローまたは SAP の GUI からトリガーされたときに結果を表示します。次のスクリーンショットは、この例の Studio フローを示しています。 ![SAP 接続を確立するための Studio フロー](/mulesoft/current/ja-jp/sap-connector/5.5/_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.5/_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 --- ``` ## [](#manage-transactions)トランザクションの管理 この例では、銀行レコードを処理する標準 BAPI で 2 つのコールを実行し、それらのトランザクションを管理します。 次のスクリーンショットは、この例の Studio フローを示しています。 ![トランザクションを管理する最初の Studio フロー](/mulesoft/current/ja-jp/sap-connector/5.5/_images/managetransactions-flow1.png) ![トランザクションを管理する 2 番目の Studio フロー](/mulesoft/current/ja-jp/sap-connector/5.5/_images/managetransactions-flow2.png) ![トランザクションを管理する 3 番目の Studio フロー](/mulesoft/current/ja-jp/sap-connector/5.5/_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 US 021000089 Citibank NY Park Avenue New York CITIUSXX 021000089 Manhattan 2005-03-11 C5031845 0 0 0 000 000000 0 ``` 3. Web ブラウザーから次の URL を入力して 2 番目のフローをテストします。 `http://localhost:8081/sync-mule-transaction` 次のような要求の XML 出力が表示されます。 ```dataweave TA 3000 10 00 .................... S V1 311 Standard Order 23669 has been saved 000000 Standard Order 23669 SALES_HEADER_IN 0 T90CLNT090 ``` 4. Web ブラウザーから次の URL を入力して 3 番目のフローをテストします。 `http://localhost:8081/async-rfc` 次のような要求の XML 出力が表示されます。 ```dataweave US 0 ``` ### [](#トランザクションを管理するための-xml)トランザクションを管理するための XML トランザクションの管理の例のフローをすばやく読み込むには、Studio で次のコードを新しい Mule アプリケーションに貼り付けます。環境に合わせて値を変更してください。 ```xml ``` ## [](#configure-multiple-gateways)複数のゲートウェイの設定 この例では、1 つのゲートウェイ接続ではなく、負荷を分散してパフォーマンスを向上させるために複数のゲートウェイ接続を使用して、メッセージサーバーを設定する Mule アプリケーションを作成する方法を示します。 次のスクリーンショットは、この例の Studio フローを示しています。 ![複数のゲートウェイを使用してメッセージサーバーを設定するための Studio フロー](/mulesoft/current/ja-jp/sap-connector/5.5/_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\]**​ プロパティタブで、次の項目を設定します。
項目 Value (値)

Gateway host (ゲートウェイホスト)

54.160.77.19

Gateway service (ゲートウェイサービス)

3300

Program id (プログラム ID)

MULE11_IDOC_PID

Connection count (接続数)

1

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\]**​ プロパティタブで、次の項目を設定します。
項目 Value (値)

Function Name (関数名)

"ZMMFM_TRIGGER_IDOC_MATMAS"

Content (コンテンツ)

payload

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\]**​ プロパティタブで、次の項目を設定します。
項目 Value (値)

Function Name (関数名)

"ZMMFM_TRIGGER_IDOC_MATMAS"

Content (コンテンツ)

payload

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 ``` ## [](#関連情報)関連情報 - [Anypoint Connector の概要](https://docs.mulesoft.com/connectors/introduction/introduction-to-anypoint-connectors) - [MuleSoft ヘルプセンター](https://help.mulesoft.com) # SAP Connector 5.5 の用語 次に、一般的に要される SAP システムの頭字語を示します。 ABAP (アドバンスドビジネスアプリケーションプログラミング) SAP の独自プログラミング言語であり、ビジネスアプリケーションをビルドするための NetWeaver プラットフォームの一部。 ALE (アプリケーションリンクイネーブリング) SAP システムの分散アプリケーションおよび統合インストールをセットアップします。これには、緩やかにリンクしている SAP アプリケーション間で整合性が確保されたデータを使用するビジネス駆動型メッセージエクスチェンジが含まれます。アプリケーションは、中央データベースを使用せずに、同期通信および非同期通信で統合されます。 BAPI (ビジネスアプリケーションプログラミングインターフェース) 設計条件を満たし、次のような機能を提供する関数モジュール。 - SAP ビジネスオブジェクトのメソッドを実装する。 - さまざまなバージョンの SAP システムで静的インターフェースを維持する。 - リモートで有効化する。 - ユーザー操作の有無に関係なく実行が完了する。 - エラーを処理する。 FM (関数モジュール) SAP の ABAP 言語で定義された手順。これにより、SAP でグローバル関数をカプセル化および再利用できます。 IDoc (中間ドキュメント) SAP システム間で電子データを交換するための標準 SAP 形式。通常、メッセージ種別 (納品書や発注書など) ごとに異なる特殊な形式 (IDoc 種別と呼ばれる) に対応しています。ただし、関連するコンテンツが含まれる複数のメッセージ種別を 1 つの IDoc 種別に割り当てることもできます。 Java API 動的なメタデータルックアップおよびキャッシュを処理します。Java API は、SAP BAPI 関数モジュールのパラメーターおよびテーブルで使用する ​`JCO.Function`​ コンテナを Java で実装します。Java アプリケーションは、Java API 上に構築されます。 JNI (Java ネイティブインターフェース) JNI は、SAP Connector ライブラリのレイヤーです。JCo は、Java で C ライブラリをラップして、SAP システムへのプラットフォームネイティブなアクセスを提供します。RFC ミドルウェアは、JNI レイヤーを介して RFC ライブラリを使用します。 RFC (リモート関数コール) SAP システムとの通信は、RFC プロトコルを介して行われます。リモート関数コールは、BAPI をコールするか、コール元プログラムとして別のシステムで実行される IDoc 処理をトリガーします。RFC インターフェースにより、2 つの SAP システム間または SAP と外部システム間の関数コールが可能になります。 RFC レイヤー リモート関数コールを処理する SAP コンポーネント。 RFC ライブラリ SAP システムにアクセスするための C 言語ベースの関数のライブラリ。RFC ライブラリの対応は、JNI によって行われます。 SAP Java IDoc クラスライブラリ SAP IDoc の構造化された高レベルの解析とナビゲーションを Java で提供し、次のアドオンパッケージで構成されます。 - SAP Java ベース IDoc クラスライブラリ: ミドルウェアに依存する Java IDoc クラスライブラリの実装の一般的な基本クラスとインターフェースのセットを提供する、ミドルウェアに依存しないライブラリ。 - SAP Java Connector IDoc クラスライブラリ: IDoc を作成、送信、受信するためのミドルウェアに依存しないライブラリ。 SAP NetWeaver SAP ソリューションで使用される主要なテクノロジーおよびアプリケーションプラットフォームの 1 つ。NetWeaver の主要なコンポーネントは、ERP、CRM、SCM、PLM、SRM、BI などの SAP アプリケーションのランタイム環境を提供する SAP Web アプリケーションサーバー (WebAS) です。その他に、エンタープライズポータル、エクスチェンジインフラストラクチャ、マスターデータ管理、モバイルインフラストラクチャなどのコンポーネントもあります。SAP NetWeaver は、これらの技術的なコンポーネントの総称です。SAP NetWeaver は、Java スタックと ABAP スタックの両方で実行されます。 SNC (セキュアネットワークコミュニケーション) SAP NetWeaver のシングルサインオンや、SAP システムと連携する外部セキュリティ製品と統合します。SNC は、SAP システムでは直接使用できないセキュリティ関数を提供します。
SAP Connector を Runtime Manager (CloudHub)、Anypoint Runtime Fabric、または Anypoint Platform Private Cloud Edition にデプロイするアプリケーションで、SNC を使用することはできません。
## [](#関連情報)関連情報 - [Anypoint Connector の概要](https://docs.mulesoft.com/connectors/introduction/introduction-to-anypoint-connectors) - [MuleSoft ヘルプセンター](https://help.mulesoft.com) # SAP Connector 5.5 の追加設定 SAP Connector の基本設定を完了したら、詳細設定の変更や拡張プロパティの定義など、追加の設定タスクを実行できます。 ## [](#一般設定)一般設定 1. キャンバスの下部にある ​**\[Global Elements (グローバル要素)\]**​ タブをクリックします。 2. **\[Create (作成)\]**​ をクリックします。 3. **\[Connector Configuration (コネクタ設定)\]**​ を展開し、​**\[SAP Inbound (SAP インバウンド)\]**​ または ​**\[SAP Outbound (SAP アウトバウンド)\]**​ を選択して、​**\[OK\]**​ をクリックします。 4. **\[Global Element Properties (グローバル要素のプロパティ)\]**​ 画面の上部にある ​**\[Advanced (詳細)\]**​ タブをクリックします。 ![sap connector config adv](/mulesoft/current/ja-jp/sap-connector/5.5/_images/sap-connector-config-adv.png) 5. **\[General (一般)\]**​ セクションで、​**\[Max Idle time (最大アイドル時間)\]**​ を設定します。 1. **\[Expiration policy (有効期限ポリシー)\]**​ を選択します。 2. **\[Max Idle time (最大アイドル時間)\]**​ に値を入力し、​**\[Time Unit (時間単位)\]**​ を追加します。 3. **\[OK\]**​ をクリックします。
項目 型 説明 デフォルト値

Expiration Policy (有効期限ポリシー)

ExpirationPolicy

動的設定インスタンスがアイドル状態を続けられる最小時間を設定します。この時間が経過すると、Runtime で期限切れに相当するとみなされます。これは、インスタンスが有効期限の対象となった瞬間にプラットフォームでそのインスタンスが期限切れになるということではありません。必要に応じて、Runtime がインスタンスをパージします。

Max Idle time (最大アイドル時間)

Number (数値)

有効期限の対象とみなされるまで、動的設定インスタンスがアイドル状態を維持できる最大時間のスカラー時間値。

Time unit (時間単位)

Enumeration (列挙)。次のいずれかになります。

  • DAYS

  • HOURS

  • MICROSECONDS

  • MILLISECONDS

  • MINUTES

  • NANOSECONDS (ナノ秒) SECONDS (秒)

## [](#詳細設定)詳細設定 ![sap advanced](/mulesoft/current/ja-jp/sap-connector/5.5/_images/sap-advanced.png) \[Advanced (詳細)\] 設定では、エンコード、バージョン、フラグ、形式、およびタイムアウトの各パラメーターを設定できます。 これらの項目値を変更するには、​**\[Global Element Properties (グローバル要素のプロパティ)\]**​ 画面の上部にある ​**\[Advanced (詳細)\]**​ タブをクリックします。
項目 XML 属性 説明 デフォルト値

Display Name (表示名)

name (名前)

Mule 設定で内部的に使用されるエンドポイントの参照名を設定します。

Encoding (エンコード)

encoding

エンコードの正規名を設定します。 Oracle のサポートされるエンコード​を参照してください。

Default IDocument Version (デフォルトの IDoc バージョン)

defaultIdocumentVersion

中間ドキュメント (IDoc) を送信する場合、バージョンを設定します。IDoc バージョンの値は、​com.sap.conn.idoc.IDocFactory​ の ​IDOC_VERSION_xxxx​ 定数に対応しています。

Disable Function template cache flag ([関数テンプレートキャッシュを無効化] フラグ)

disableFunctionTemplateCacheFlag

関数テンプレートキャッシュを無効化するには、これを設定します。

false

Evaluate response flag ([応答を評価] フラグ)

evaluateResponseFlag

エラー応答で例外を発生させるのか、ユーザーが別の結果を使用してエラー応答を処理できるようにするのかを設定します。

false

Log trace flag ([トレースを記録] フラグ)

logTraceFlag

トレースを Mule サーバーに記録するかどうかを設定します。

false

Use SAP format (SAP 形式の使用)

useSAPFormat

同期リモート関数コール (sRFC) を使用してビジネスアプリケーションプログラミングインターフェース (BAPI) 関数を操作するときに SAP デフォルト形式を使用するには、これを設定します。

false

## [](#拡張プロパティの定義)拡張プロパティの定義 拡張プロパティを使用すると、SAP アウトバウンド設定パラメーターを調整できます。 SAP Connector のグローバル要素の拡張プロパティを定義する手順は、次のとおりです。 1. **\[General (一般)\]**​ ペインの ​**\[Advanced (詳細)\]**​ タブに移動します。 ![下部の \[Advanced (詳細)\] タブ](_images/sap-connector-advanced-tab.png) 2. ウィンドウの上部にある ​**\[Extended Properties (拡張プロパティ)\]**​ セクションを見つけます。 3. **\[Edit inline (インライン編集)\]**​ オプションを選択します。 4. **\[+\]**​ をクリックして、新しい拡張プロパティを追加します。 SAP で使用しているものと同じプロパティ名を使用します。 1. [Pooling Config (プーリング設定)](https://help.sap.com/viewer/b865ed651e414196b39f8922db2122c7/Cloud/en-US/8278bed44893498f95d5d6d5f0a47f35.html) 2. [Target System configuration (対象システム設定)](https://help.sap.com/viewer/b865ed651e414196b39f8922db2122c7/Cloud/en-US/f8fac995b0144a0b8ec0801b8f7bab3e.html) ### [](#クライアント環境の設定)クライアント環境の設定 使用しているオペレーティングシステムに依存するシステム変数を設定し、PSE (パーソナルセキュリティ環境) を生成します。 1. 次のコマンドを使用して cmd またはターミナルを開き、SAPCAR および SAP 暗号ライブラリを展開します。 \`SAPCAR -xvf これによりフォルダー​​からファイルが抽出されます。 2. 次の環境変数を設定します。​ **この例では、ライブラリへのパスは「C:\\Users\\Administrator\\Desktop\\SNC」です。** - SNC\_LIB - SECUDIR = ​`` - LD\_LIBRARY\_PATH​ = ​`\sapcrypto.dll` - SSF\_LIBRARY\_PATH​ = ​`\sapcrypto.dll` Windows の場合、​`sapcrypto.dll`​ の 64 ビットバージョンは別のパスにあり、​SNC\_LIB\_64​ という新しい変数に追加されています。 cmd またはターミナルで次のコマンドを使用して PSE を作成します。 `sapgenpse gen_pse -v -p RFC.pse` このコマンドを実行する場合、後で使用するパスワードまたは PIN と、一意である必要がある識別名を入力する必要があります。STRUST ですでに使用されている名前があるかどうかを確認できます。 3. セッションユーザーが PSE にアクセスするために必要とするログイン情報を追加します。PSE は「sapgenpse seclogin -p RFC -O you\_user」コマンドを使用して cred\_v2 ファイルを作成します。 ## [](#次のステップ)次のステップ これで設定が完了したので、SAP の​[例](https://docs.mulesoft.com/jp/sap-connector/5.5/sap-connector-examples)​を試すことができます。 ## [](#関連情報)関連情報 - [Anypoint Connector の概要](https://docs.mulesoft.com/connectors/introduction/introduction-to-anypoint-connectors) - [MuleSoft ヘルプセンター](https://help.mulesoft.com) # SAP Connector 5.5 リファレンス SAP 用 Anypoint Connector (SAP Connector) を使用すると、SAP NetWeaver に基づいてデータを外部システムと統合できます。
バージョン 5.0 以降、SAP Connector では、SAP S/4HANA のオンプレミスインスタンスへの接続もサポートされるようになりました。
## [](#制限事項)制限事項 - SAP Connector を CloudHub および Anypoint Runtime Fabric にデプロイする Mule アプリケーションで、SNC を使用することはできません。 - バージョン 5.4.0 以前の SAP Connector では、同じ ​PROGRAM\_ID​、​GATEWAY\_SERVICE​、​GATEWAY\_HOST​ を持つ同じ Mule Runtime Engine にデプロイされた複数のサーバーを JCo ライブラリによって作成することはできません。同じ ​PROGRAM\_ID​、​GATEWAY\_SERVICE​、および ​GATEWAY\_HOST​ を持つ 2 つのサーバーを作成しようとすると、1 つのサーバーのみが作成されます。この問題を回避するには、2 つの異なる Mule Runtime Engine を使用するか、2 つの異なる ​GATEWAY\_HOST​ を持つ同じ ​PROGRAM\_ID​ を使用します。 - SAP Connector では Bitronix トランザクションマネージャーはサポートされていません。 - **Document Listener**​ および ​**Function Listener**​ ソースでは、Mule トランザクションはサポートされていません。(​**\[Advanced (詳細)\] タブ**​の) ​**\[Transactional action (トランザクションアクション)\]**​ および ​**\[Transaction type (トランザクション種別)\]**​ パラメーターは両方のソースで使用できますが、トランザクション機能は実装されていません。 - SAP リスナー (​**\[Document Listener\]**​ と ​**\[Function Listener\]**​) の再接続戦略では JCo ライブラリのみに依存しています。つまり、Mule の再接続メカニズムは再接続に影響しません。 - 接続に問題がある場合、バックグラウンドで実行される JCO サーバーによって再接続が管理されます。JCo RFC プロバイダーにより、Java サーバーと ABAP ゲートウェイ間の通信エラーが認識され、再接続が再試行されます。最初の再接続に失敗すると、1 秒待機して次の再接続試行が行われます。再度再接続に失敗すると、再接続の待機時間は 1 秒から 2 秒と 2 倍になり、最終的にデフォルトの最大待機期間である 3600 秒 (1 時間) になるまで続きます。​`-Djco.server.max_startup_delay=`​ JMV パラメーターを使用して最大再接続タイムアウトを設定します。 ## [](#sap)Configuration (設定) SAP Connector のデフォルト設定。
Name (名前) 型 説明 デフォルト値 必須

Name (名前)

String (文字列)

この設定の名前。コネクタはこの名前の設定を参照します。

x

Connection (接続)

この設定の接続種別。

x

Expiration Policy (有効期限ポリシー)

動的設定インスタンスがアイドル状態を続けられる最小時間を設定します。この時間が経過すると、Mule Runtime で期限切れに相当するとみなされます。

Encoding (エンコード)

String (文字列)

エンコードの正規名。 Oracle のサポートされるエンコード​を参照してください。

Default Idocument Version (デフォルトの IDoc バージョン)

String (文字列)

デフォルトの IDoc バージョン。

0

Disable Jco Internal Cache (Jco 内部キャッシュを無効化)

Boolean (ブール)

JCo 内部キャッシュを使用するかどうかを示すフラグ。SAP JCo 内部キャッシュを無効にするには、このフラグを ​true​ に設定します。デフォルトでは、JCo は最初のコールの後にメタデータを保存し、後続のコールでそのテンプレートを入力します。このフラグは関数とソースの両方に適用されます。

false

Evaluate Response Flag ([応答を評価] フラグ)

Boolean (ブール)

エラー応答で例外をスローするか、ユーザーがエラー応答を別の結果として処理できるようにするのかを示すフラグ。このフラグは、メッセージで例外 (E) をスローするのか、警告 (W) 付きの結果として処理するのかを指定するために使用される例外またはログメカニズムです。

フラグを ​true​ に設定した場合、例外 (E) メッセージが返されると、そのメッセージと共に例外がスローされます。

フラグを ​true​ に設定した場合、警告 (W) メッセージが返されると、警告メッセージが記録されます。

false

Log Trace Flag ([トレースを記録] フラグ)

Boolean (ブール)

トレースを Mule サーバーに記録するかどうかを示すフラグ。トレースを記録するには、このフラグを ​true​ に設定します。

false

Use SAP Format (SAP 形式の使用)

Boolean (ブール)

SAP 値を返すための Mule 3 形式をサポートするかどうかを決定します。​JCoField​ を解析するときに ​JCoToBusinessObjectParser​ クラスで使用されます。BAPIFunctions over sRFC を使用する場合にのみ SAP デフォルト形式を使用します。

  • true​

    値は元の SAP 形式の文字列として返されます。

  • false​

    元の値が対応する Java オブジェクトに変換され、シリアル化されて返されます。

false

Use SAP Format On Function Listener (関数リスナーでの SAP 形式の使用)

Boolean (ブール)

SAP 値を返すための Mule 3 形式をサポートするかどうかを決定します。​JCoField​ を解析するために使用されます。BAPI 関数リスナーを使用する場合にのみ SAP デフォルト形式を使用します。

  • true​

    値は元の SAP 形式の文字列として返されます。

  • false​

    元の値が対応する Java オブジェクトに変換され、シリアル化されて返されます。

false

### [](#sap_certificate)\[Certificate (証明書)\] 接続種別 X509 証明書を使用してユーザーを認証します。
Name (名前) 型 説明 デフォルト値 必須

SAP system number (SAP システム番号)

String (文字列)

SAP システムの 2 桁のシステム番号 (sysnr)。

x

SAP client ID (SAP クライアント ID)

String (文字列)

3 桁のクライアント番号。数値で表示する場合は先行ゼロを保持します。

x

Destination Name (宛先名)

String (文字列)

このコネクタによって生成される宛先の識別子。設定されていない場合、ランダムな値が作成されます。

Login language (ログイン言語)

String (文字列)

コネクタで使用される言語コード。言語によって、SAP アダプターとアプリケーションサーバー間の通信に使用されるコードページが決定されます。

EN

Extended Properties (拡張プロパティ)

Object (オブジェクト)

データベースサーバー固有のすべての接続パラメーターを渡すために使用されます。

X.509 Certificate (X.509 証明書)

String (文字列)

X.509 証明書へのパス。これは、コネクタがクライアントとして機能する場合に必要です。

Application server host (アプリケーションサーバーホスト)

String (文字列)

SAP アプリケーションサーバーのホスト。

Message server configuration (メッセージサーバーの設定)

メッセージサーバーの使用の設定。

Enable RFC tracing on server (サーバーでの RFC トレースの有効化)

Boolean (ブール)

サーバーで RFC トレースを有効または無効にします。

false

Enable CPIC tracing on server (サーバーでの CPIC トレースの有効化)

Enumeration (列挙)。次のいずれかになります。

  • INHERIT

  • NO_TRACING​

  • LEVEL_1​

  • LEVEL_2​

  • LEVEL_3

サーバーで CPIC トレースを有効または無効にします。

Reconnection (再接続)

コネクタ操作で外部サーバーへの接続に失敗した場合に使用する再接続戦略を設定します。

### [](#sap_simple-connection-provider)Simple Connection Provider Connection Type ユーザー名とパスワードを使用して接続します。
Name (名前) 型 説明 デフォルト値 必須

SAP system number (SAP システム番号)

String (文字列)

SAP システムの 2 桁のシステム番号 (sysnr)。

x

SAP client ID (SAP クライアント ID)

String (文字列)

3 桁のクライアント番号。数値で表示する場合は先行ゼロを保持します。

x

Destination Name (宛先名)

String (文字列)

このコネクタによって生成される宛先の識別子。設定されていない場合、ランダムな値が作成されます。

Login language (ログイン言語)

String (文字列)

コネクタで使用される言語コード。言語によって、SAP アダプターとアプリケーションサーバー間の通信に使用されるコードページが決定されます。

EN

Extended Properties (拡張プロパティ)

Object (オブジェクト)

データベースサーバー固有のすべての接続パラメーターを渡すために使用されます。

Username (ユーザー名)

String (文字列)

コネクタが SAP にログインするために使用するユーザー名。

x

Password (パスワード)

String (文字列)

ログインユーザー名に関連付けられているパスワード。

x

Application server host (アプリケーションサーバーホスト)

String (文字列)

SAP アプリケーションサーバーのホスト。

Message server configuration (メッセージサーバーの設定)

メッセージサーバーの使用の設定。

Enable RFC tracing on server (サーバーでの RFC トレースの有効化)

Boolean (ブール)

サーバーで RFC トレースを有効または無効にします。

false

Enable CPIC tracing on server (サーバーでの CPIC トレースの有効化)

Enumeration (列挙)。次のいずれかになります。

  • INHERIT

  • NO_TRACING​

  • LEVEL_1​

  • LEVEL_2​

  • LEVEL_3

サーバーで CPIC トレースを有効または無効にします。

Reconnection (再接続)

アプリケーションがデプロイされると、すべてのコネクタで接続テストが実行されます。​true​ に設定されている場合、関連する再接続戦略をすべて実行した後にテストに合格しないと、デプロイメントが失敗します。

## [](#ソース)ソース - [Document Listener](#document-listener) - [Function Listener](#function-listener) ### [](#document-listener)Document Listener `` 受信 IDoc をリスンします。
Name (名前) 型 説明 デフォルト値 必須

Configuration (設定)

String (文字列)

使用する設定の名前。

x

Gateway Host (ゲートウェイホスト)

String (文字列)

ゲートウェイサーバーを実行するホストの名前。これは、ゲートウェイハンドラーを実行するホストの名前です。SAP ゲートウェイは、SAP 以外のアプリケーションを SAP アプリケーションに接続するために使用される開発フレームワークです。RFC 宛先を使用して、信頼されるシステムとして SAP ゲートウェイホストを設定できます。

x

Gateway Service (ゲートウェイサービス)

String (文字列)

SAP システムのゲートウェイサービスの名前またはサービスポート。

x

Program ID (プログラム ID)

String (文字列)

ゲートウェイに登録されている SAP システムプログラム ID。特定のゲートウェイで一意である必要があります。

x

Connection Count (接続数)

Number (数値)

ゲートウェイに登録する接続の数。複数の接続がある場合、ハンドラー要求は並列処理されます。たとえば、2 つの接続が設定されている場合、これにより、要求を並列処理する 2 つのハンドラーワーカーまたはスレッドが作成されます。これらは、一緒に開始する 2 つのソースのように機能します。

1

Idoc Type Filter Regex (Idoc 種別検索条件の正規表現)

String (文字列)

受信したすべての IDoc を種別で絞り込むための式。

Message server host (メッセージサーバーホスト)

String (文字列)

メッセージサーバーのホスト。

Message server port (メッセージサーバーポート)

String (文字列)

メッセージサーバー名またはポート番号。

System ID (システム ID)

String (文字列)

メッセージサーバーが属するシステムのシステム ID。

Group (グループ)

String (文字列)

ABAP で定義され、アプリケーションサーバーセットを識別するログオングループ。

Update interval (更新間隔)

String (文字列)

メッセージサーバーがアプリケーションサーバーのリストを取得する頻度。

IDoc Render Options (IDoc 表示オプション)

IDoc 表示オプション。

Transactional Action (トランザクションアクション)

Enumeration (列挙)。次のいずれかになります。

  • ALWAYS_BEGIN​

  • NONE

トランザクションに関してソースで実行する開始アクションの種別。

NONE

Transaction Type (トランザクション種別)

Enumeration (列挙)。次のいずれかになります。

  • LOCAL

  • XA

作成するトランザクションの種別。使用できるかどうかは、Mule バージョンによって決まります。

LOCAL

Primary Node Only (プライマリノードのみ)

Boolean (ブール)

クラスターでの Mule インスタンスの実行時、このソースをプライマリノード上でのみ実行するかどうかを決定します。

Streaming Strategy (ストリーミング戦略)

Mule によるストリームの処理方法を設定します。反復可能ストリームは、デフォルトの動作です。

Redelivery Policy (再配信ポリシー)

同じメッセージの再配信を処理するためのポリシーを定義します。

Reconnection Strategy (再接続戦略)

接続エラーが発生した場合の再試行戦略。

#### [](#出力)出力

型

Binary (バイナリ)

Attributes Type (属性型)

#### [](#関連する設定)関連する設定 - [Configuration (設定)](#sap) ### [](#function-listener)Function Listener `` 受信した BAPI 関数をリスンします。
Name (名前) 型 説明 デフォルト値 必須

Configuration (設定)

String (文字列)

使用する設定の名前。

x

Gateway Host (ゲートウェイホスト)

String (文字列)

ゲートウェイサーバーを実行するホストの名前。これは、ゲートウェイハンドラーを実行するホストの名前です。SAP ゲートウェイは、SAP 以外のアプリケーションを SAP アプリケーションに接続するために使用される開発フレームワークです。RFC 宛先を使用して、信頼されるシステムとして SAP ゲートウェイホストを設定できます。

x

Gateway Service (ゲートウェイサービス)

String (文字列)

SAP システムのゲートウェイサービスの名前またはサービスポート。

x

Program ID (プログラム ID)

String (文字列)

ゲートウェイに登録されている SAP システムプログラム ID。特定のゲートウェイで一意である必要があります。

x

Connection Count (接続数)

Number (数値)

ゲートウェイに登録する接続の数。複数の接続がある場合、ハンドラー要求は並列処理されます。たとえば、2 つの接続が設定されている場合、これにより、要求を並列処理する 2 つのハンドラーワーカーまたはスレッドが作成されます。これらは、一緒に開始する 2 つのソースのように機能します。

1

Targeted Function (対象関数)

String (文字列)

取得する関数の名前。受信した BAPI 関数を名前で絞り込みます。

Message server host (メッセージサーバーホスト)

String (文字列)

メッセージサーバーのホスト。

Message server port (メッセージサーバーポート)

String (文字列)

メッセージサーバー名またはポート番号。

System ID (システム ID)

String (文字列)

メッセージサーバーが属するシステムのシステム ID。

Group (グループ)

String (文字列)

ABAP で定義され、アプリケーションサーバーセットを識別するログオングループ。

Update interval (更新間隔)

String (文字列)

メッセージサーバーがアプリケーションサーバーのリストを取得する頻度。

Transactional Action (トランザクションアクション)

Enumeration (列挙)。次のいずれかになります。

  • ALWAYS_BEGIN​

  • NONE

トランザクションに関してソースで実行する開始アクションの種別。

NONE

Transaction Type (トランザクション種別)

Enumeration (列挙)。次のいずれかになります。

  • LOCAL

  • XA

作成するトランザクションの種別。使用できるかどうかは、Mule バージョンによって決まります。

LOCAL

Primary Node Only (プライマリノードのみ)

Boolean (ブール)

クラスターでの Mule インスタンスの実行時、このソースをプライマリノード上でのみ実行するかどうかを決定します。

Streaming Strategy (ストリーミング戦略)

Mule によるストリームの処理方法を設定します。反復可能ストリームは、デフォルトの動作です。

Redelivery Policy (再配信ポリシー)

同じメッセージの再配信を処理するためのポリシーを定義します。

Reconnection Strategy (再接続戦略)

接続エラーが発生した場合の再試行戦略。

Response (応答)

Binary (バイナリ)

ソース応答。

#[payload]

#### [](#出力-2)出力

型

Binary (バイナリ)

Attributes Type (属性型)

#### [](#関連する設定-2)関連する設定 - [Configuration (設定)](#sap) ## [](#操作)操作 - [Asynchronous Remote Function Call](#asyncRfc) - [Confirm Transaction](#confirmTransactionId) - [Get Function](#getFunction) - [Retrieve IDoc](#retrieveIdoc) - [Send IDoc](#send) - [Start SAP Transaction](#startsaptransaction) - [Synchronous Remote Function Call](#syncRfc) ### [](#asyncRfc)Asynchronous Remote Function Call `` キューリモート関数コール (qRFC) を介して BAPIFunction を実行します。 qRFC はトランザクション RFC (tRFC) の拡張機能であり、個々のステップが順番に処理されることを保証します。これにより、複数の作業論理単位 (LUW) トランザクションがアプリケーションで指定された順序で処理されます。 インバウンドキューとアウトバウンドキューを使用して tRFC をシリアル化できるため、キュー RFC という名前になっています。 キュー (qRFC) は tRFC の拡張機能として、処理順序を定義するのに最適です。qRFC を使用して、複数のトランザクションを定義済みの順序で処理することを保証します。
Name (名前) 型 説明 デフォルト値 必須

Configuration (設定)

String (文字列)

使用する設定の名前。

x

Function Name (関数名)

String (文字列)

実行する関数の名前。

x

Content (コンテンツ)

Binary (バイナリ)

実行する BAPIFunction。

#[payload]

Transaction Id (トランザクション ID)

String (文字列)

RFC が 1 回のみ実行されるように RFC を識別する ID。

x

Queue Name (キュー名)

String (文字列)

RFC が実行されるキューの名前。処理される各 tRFC コールにはアプリケーションによりキュー名が与えられるため、これは qRFC に適用されます。qRFC トランザクションごとにキュー名とバージョンが必要です。

Transactional Action (トランザクションアクション)

Enumeration (列挙)。次のいずれかになります。

  • ALWAYS_JOIN​

  • JOIN_IF_POSSIBLE​

  • NOT_SUPPORTED

トランザクションに関して操作で実行する結合アクションの種別。

JOIN_IF_POSSIBLE

Reconnection Strategy (再接続戦略)

接続エラーが発生した場合の再試行戦略。

#### [](#関連する設定-3)関連する設定 - [Configuration (設定)](#sap) #### [](#スロー)スロー - SAP:CONNECTIVITY - SAP:INVALID\_CACHE - SAP:INVALID\_INPUT - SAP:METADATA\_UNAVAILABLE - SAP:NOT\_FOUND - SAP:NOT\_SUPPORTED - SAP:PARSING - SAP:RETRY\_EXHAUSTED - SAP:SYSTEM\_BUSY - SAP:TIMEOUT ### [](#confirmTransactionId)Confirm Transaction `` サーバーに対してトランザクションが成功したことを確認します。
Name (名前) 型 説明 デフォルト値 必須

Configuration (設定)

String (文字列)

使用する設定の名前。

x

Transaction ID (TID) (トランザクション ID (TID))

String (文字列)

確認するトランザクションの ID。

x

Transactional Action (トランザクションアクション)

Enumeration (列挙)。次のいずれかになります。

  • ALWAYS_JOIN​

  • JOIN_IF_POSSIBLE​

  • NOT_SUPPORTED

トランザクションに関して操作で実行する結合アクションの種別。

JOIN_IF_POSSIBLE

Reconnection Strategy (再接続戦略)

接続エラーが発生した場合の再試行戦略。

#### [](#関連する設定-4)関連する設定 - [Configuration (設定)](#sap) #### [](#スロー-2)スロー - SAP:CONNECTIVITY - SAP:RETRY\_EXHAUSTED ### [](#getFunction)Get Function `` 名前に基づいて BAPIFunction を取得します。
Name (名前) 型 説明 デフォルト値 必須

Configuration (設定)

String (文字列)

使用する設定の名前。

x

Function Name (関数名)

String (文字列)

取得する関数の名前。

x

Transactional Action (トランザクションアクション)

Enumeration (列挙)。次のいずれかになります。

  • ALWAYS_JOIN​

  • JOIN_IF_POSSIBLE​

  • NOT_SUPPORTED

トランザクションに関して操作で実行する結合アクションの種別。

JOIN_IF_POSSIBLE

Streaming Strategy (ストリーミング戦略)

Mule によるストリームの処理方法を設定します。反復可能ストリームは、デフォルトの動作です。

Target Variable (対象変数)

String (文字列)

操作の出力を保存する変数の名前。

Target Value (対象値)

String (文字列)

操作の出力を評価する式。式の結果は ​[Target Variable (対象変数)]​ 項目に保存されます。

#[payload]

Reconnection Strategy (再接続戦略)

接続エラーが発生した場合の再試行戦略。

#### [](#出力-3)出力

型

Binary (バイナリ)

#### [](#関連する設定-5)関連する設定 - [Configuration (設定)](#sap) #### [](#スロー-3)スロー - SAP:CONNECTIVITY - SAP:INVALID\_CACHE - SAP:INVALID\_INPUT - SAP:METADATA\_UNAVAILABLE - SAP:NOT\_FOUND - SAP:NOT\_SUPPORTED - SAP:PARSING - SAP:RETRY\_EXHAUSTED - SAP:SYSTEM\_BUSY - SAP:TIMEOUT ### [](#retrieveIdoc)Retrieve IDoc `` キーに基づいて IDoc 構造を取得します。
Name (名前) 型 説明 デフォルト値 必須

Configuration (設定)

String (文字列)

使用する設定の名前。

x

IDoc Name (IDoc 名)

String (文字列)

IDoc を取得するために必要な情報が含まれるキー。

x

Transactional Action (トランザクションアクション)

Enumeration (列挙)。次のいずれかになります。

  • ALWAYS_JOIN​

  • JOIN_IF_POSSIBLE​

  • NOT_SUPPORTED

トランザクションに関して操作で実行する結合アクションの種別。

JOIN_IF_POSSIBLE

Streaming Strategy (ストリーミング戦略)

Mule によるストリームの処理方法を設定します。反復可能ストリームは、デフォルトの動作です。

Target Variable (対象変数)

String (文字列)

操作の出力を保存する変数の名前。

Target Value (対象値)

String (文字列)

操作の出力を評価する式。式の結果は ​[Target Variable (対象変数)]​ 項目に保存されます。

#[payload]

Reconnection Strategy (再接続戦略)

接続エラーが発生した場合の再試行戦略。

#### [](#出力-4)出力

型

Binary (バイナリ)

#### [](#関連する設定-6)関連する設定 - [Configuration (設定)](#sap) #### [](#スロー-4)スロー - SAP:CONNECTIVITY - SAP:INVALID\_CACHE - SAP:INVALID\_INPUT - SAP:METADATA\_UNAVAILABLE - SAP:NOT\_FOUND - SAP:NOT\_SUPPORTED - SAP:PARSING - SAP:RETRY\_EXHAUSTED - SAP:SYSTEM\_BUSY - SAP:TIMEOUT ### [](#send)Send IDoc `` RFC を介して IDoc を SAP に送信します。RFC は、IDoc の 2 つの種別のいずれかになります。 - トランザクション (tRFC) 非同期リモート関数コール (aRFC) の特殊な形式。 tRFC は、元々独立して処理されていた処理ステップをトランザクションのように処理します。 tRFC は、ネットワークの問題でデータが複数回送信されても、コールされた関数モジュールを RFC サーバーで 1 回のみ実行する非同期通信方法です。RFC クライアントプログラムが tRFC を実行しているときにリモートシステムが使用できる状態になっている必要はありません。tRFC コンポーネントは、コールされる RFC 関数および対応するデータを一意のトランザクション ID (TID) で SAP データベースに保存します。 tRFC は、対象システムで待機しないという点で aRFC に似ています (書留郵便に似ている)。システムが使用できる状態でない場合、スケジューラー RSARFCSE によって選択され、60 秒ごとに実行されるトランザクション ID (SM58) でデータが aRFC テーブルに書き込まれます。 tRFC は、非同期 RFC の拡張機能として、システム間の通信を保護するのに最適です。 - キュー (qRFC) tRFC の拡張機能。 qRFC では、個々のステップが順番に処理されることが保証されます。複数の LUW (作業論理単位トランザクション) がアプリケーションで指定された順序で処理されることを保証するには、qRFC を使用します。 インバウンドキューとアウトバウンドキューを使用して tRFC をシリアル化できるため、キュー RFC (qRFC) という名前になっています。 キュー (qRFC) は tRFC の拡張機能として、処理順序を定義するのに最適です。複数のトランザクションを定義済みの順序で処理する場合、qRFC を実装します。 tRFC と qRFC の両方に TID ハンドラーがあります。
Name (名前) 型 説明 デフォルト値 必須

Configuration (設定)

String (文字列)

使用する設定の名前。

x

IDoc Name (IDoc 名)

String (文字列)

実行する IDoc の名前。

x

Content (コンテンツ)

Binary (バイナリ)

実行する IDoc。

#[payload]

バージョン

String (文字列)

IDoc のバージョン。

Transaction Id (トランザクション ID)

String (文字列)

RFC が 1 回のみ実行されるように RFC を識別する ID。

Queue Name (キュー名)

String (文字列)

RFC が実行されるキューの名前。処理される各 tRFC コールにはアプリケーションによりキュー名が与えられるため、これは qRFC に適用されます。qRFC トランザクションごとにキュー名とバージョンが必要です。

IDoc Parsing Options (IDoc 解析オプション)

IDoc 解析オプション。

Transactional Action (トランザクションアクション)

Enumeration (列挙)。次のいずれかになります。

  • ALWAYS_JOIN​

  • JOIN_IF_POSSIBLE​

  • NOT_SUPPORTED

トランザクションに関して操作で実行する結合アクションの種別。

JOIN_IF_POSSIBLE

Reconnection Strategy (再接続戦略)

接続エラーが発生した場合の再試行戦略。

#### [](#関連する設定-7)関連する設定 - [Configuration (設定)](#sap) #### [](#スロー-5)スロー - SAP:CONNECTIVITY - SAP:INVALID\_CACHE - SAP:INVALID\_INPUT - SAP:METADATA\_UNAVAILABLE - SAP:NOT\_FOUND - SAP:NOT\_SUPPORTED - SAP:PARSING - SAP:RETRY\_EXHAUSTED - SAP:SYSTEM\_BUSY - SAP:TIMEOUT ### [](#startsaptransaction)Start SAP Transaction `` future コールの一部として使用するトランザクション ID を作成します。
Name (名前) 型 説明 デフォルト値 必須

Configuration (設定)

String (文字列)

使用する設定の名前。

x

Transactional Action (トランザクションアクション)

Enumeration (列挙)。次のいずれかになります。

  • ALWAYS_JOIN​

  • JOIN_IF_POSSIBLE​

  • NOT_SUPPORTED

トランザクションに関して操作で実行する結合アクションの種別。

JOIN_IF_POSSIBLE

Target Variable (対象変数)

String (文字列)

操作の出力を保存する変数の名前。

Target Value (対象値)

String (文字列)

操作の出力を評価する式。式の結果は ​[Target Variable (対象変数)]​ 項目に保存されます。

#[payload]

Reconnection Strategy (再接続戦略)

接続エラーが発生した場合の再試行戦略。

#### [](#出力-5)出力

型

String (文字列)

#### [](#関連する設定-8)関連する設定 - [Configuration (設定)](#sap) #### [](#スロー-6)スロー - SAP:CONNECTIVITY - SAP:INVALID\_CACHE - SAP:INVALID\_INPUT - SAP:METADATA\_UNAVAILABLE - SAP:NOT\_FOUND - SAP:NOT\_SUPPORTED - SAP:PARSING - SAP:RETRY\_EXHAUSTED - SAP:SYSTEM\_BUSY - SAP:TIMEOUT ### [](#syncRfc)Synchronous Remote Function Call `` 同期リモート関数コール (sRFC) を介して BAPIFunction を実行します。 sRFC では、通信またはデータ転送時に両方のシステム (クライアントとサーバー) が使用できる状態になっていることが必要です。 sRFC は、最も一般的な種別で、sRFC の実行直後に結果が求められる場合に使用されます。 sRFC は、肯定応答が必要なシステム間の通信手段です。 ソースシステムのリソースは、対象システムで待機して、ACKD でメッセージ/データが配信されることを確認します。通信データの整合性と信頼性は確保されます。対象システムが使用できる状態になっていない場合、ソースシステムのリソースは対象システムが使用できる状態になるまで待機します。これにより、ソースシステムのプロセスが対象システムでスリープ/RFC/CPIC モードになり、これらのリソースがブロックされる可能性があります。sRFC は、システム間の通信や、SAP Web アプリケーションサーバーと SAP GUI 間の通信で使用します。
Name (名前) 型 説明 デフォルト値 必須

Configuration (設定)

String (文字列)

使用する設定の名前。

x

Function Name (関数名)

String (文字列)

実行する関数の名前。

x

Content (コンテンツ)

Binary (バイナリ)

実行する BAPIFunction。

#[payload]

Transactional Action (トランザクションアクション)

Enumeration (列挙)。次のいずれかになります。

  • ALWAYS_JOIN​

  • JOIN_IF_POSSIBLE​

  • NOT_SUPPORTED

トランザクションに関して操作で実行する結合アクションの種別。

JOIN_IF_POSSIBLE

Streaming Strategy (ストリーミング戦略)

Mule によるストリームの処理方法を設定します。反復可能ストリームは、デフォルトの動作です。

Target Variable (対象変数)

String (文字列)

操作の出力を保存する変数の名前。

Target Value (対象値)

String (文字列)

操作の出力を評価する式。式の結果は ​[Target Variable (対象変数)]​ 項目に保存されます。

#[payload]

Reconnection Strategy (再接続戦略)

接続エラーが発生した場合の再試行戦略。

#### [](#出力-6)出力

型

Binary (バイナリ)

#### [](#関連する設定-9)関連する設定 - [Configuration (設定)](#sap) #### [](#スロー-7)スロー - SAP:CONNECTIVITY - SAP:INVALID\_CACHE - SAP:INVALID\_INPUT - SAP:METADATA\_UNAVAILABLE - SAP:NOT\_FOUND - SAP:NOT\_SUPPORTED - SAP:PARSING - SAP:RETRY\_EXHAUSTED - SAP:SYSTEM\_BUSY - SAP:TIMEOUT ## [](#object-types-オブジェクト種別)Object Types (オブジェクト種別) - [Expiration Policy (有効期限ポリシー)](#ExpirationPolicy) - [IDoc 解析パラメーターグループ](#IDocParseParameterGroup) - [IDoc 表示パラメーターグループ](#IDocRenderParameterGroup) - [Message Server (メッセージサーバー)](#MessageServer) - [Reconnect (再接続)](#reconnect) - [\[reconnect-forever\]](#reconnect-forever) - [Reconnection (再接続)](#Reconnection) - [Redelivery Policy (再配信ポリシー)](#RedeliveryPolicy) - [Repeatable File Store Stream (反復可能なファイルストアストリーム)](#repeatable-file-store-stream) - [Repeatable In Memory Stream (反復可能なメモリ内ストリーム)](#repeatable-in-memory-stream) - [SAP Attributes (SAP 属性)](#SapAttributes) ### [](#ExpirationPolicy)Expiration Policy (有効期限ポリシー) 有効期限ポリシー戦略を設定します。
項目 型 説明 デフォルト値 必須

Max Idle Time (最大アイドル時間)

Number (数値)

動的設定インスタンスがアイドル状態を続けられる最大時間を設定します。この時間が経過すると、Mule Runtime で期限切れに相当するとみなされます。

Time Unit (時間単位)

Enumeration (列挙)。次のいずれかになります。

  • NANOSECONDS (ナノ秒)

  • MICROSECONDS (マイクロ秒)

  • MILLISECONDS (ミリ秒)

  • SECONDS (秒)

  • MINUTES (分)

  • HOURS (時間)

  • DAYS (日)

[Max Idle Time (最大アイドル時間)]​ 項目の時間単位。

### [](#IDocParseParameterGroup)IDoc 解析パラメーターグループ IDoc 解析オプション。
項目 型 説明 デフォルト値 必須

Parse With Field Value Checking (解析 - 項目値チェックあり)

Boolean (ブール)

解析時に各 IDoc 項目メタデータに応じた項目値チェックメカニズムを有効にするかどうかを示します。

false

Parse Ignore Unknown Fields (解析 - 不明な項目を無視)

Boolean (ブール)

古い IDoc メタデータを使用して解析している場合など、解析時に不明な項目を無視するかどうかを示します。

false

Parse Ignore Invalid Char Errors (解析 - 無効文字エラーを無視)

Boolean (ブール)

解析時に、宣言されている XML 仕様バージョンに応じた文字範囲チェックのエラーを無視するかどうかを示します。 このオプションを使用すると、項目値内の無効な文字は受け入れられますが、解析する XML ドキュメントに、有効な文字範囲外の文字が含まれる可能性があります。

false

Parse Without Field Data Type Checking (解析 - 項目データ型チェックなし)

Boolean (ブール)

解析時に各 IDoc 項目メタデータに応じた項目データ型チェックメカニズムを無効にするかどうかを示します。

このオプションは慎重に使用してください。

項目の定義済みのデータ型に違反する不正な項目コンテンツが含まれる IDoc を送信すると、AS ABAP での処理時に ABAP システムダンプが発生し、認識されない部分的なデータの損失が発生する可能性があります。

false

Parse Refuse Unknown XML Version (解析 - 不明な XML バージョンを拒否)

Boolean (ブール)

考えられる将来の XML 仕様バージョン 1.2 または 2.0 など、不明な XML 仕様バージョンを宣言している XML ドキュメントを拒否するかどうかを示します。

false

Parse Refuse XML Version10 (解析 - XML バージョン 10 を拒否)

Boolean (ブール)

XML 仕様バージョン 1.0 を使用しないまたは XML 宣言ヘッダーを含まない XML ドキュメントを拒否するかどうかを示します。

false

Parse Refuse XML Version11 (解析 - XML バージョン 11 を拒否)

Boolean (ブール)

XML 仕様バージョン 1.1 を使用する XML ドキュメントを拒否するかどうかを示します。

false

Parse Accept Only Xml Version10 (解析 - XML バージョン 10 のみを受け入れ)

Boolean (ブール)

XML 仕様バージョン 1.0 を使用するまたは XML 宣言ヘッダーを含まない XML ドキュメントのみを受け入れるかどうかを示します。

false

Parse Accept Only Xml Version11 (解析 - XML バージョン 11 のみを受け入れ)

Boolean (ブール)

XML 仕様バージョン 1.1 を使用するまたは XML 宣言ヘッダーを含まない XML ドキュメントのみを受け入れるかどうかを示します。

false

Parse Accept Only Xml Version10 To11 (解析 - XML バージョン 10 ~ 11 のみを受け入れ)

Boolean (ブール)

XML 仕様バージョン 1.0 または 1.1 を使用するまたは XML 宣言ヘッダーを含まない XML ドキュメントのみを受け入れるかどうかを示します。

false

### [](#IDocRenderParameterGroup)IDoc 表示パラメーターグループ IDoc 表示オプション。
項目 型 説明 デフォルト値 必須

Render IDoc Empty Tags (IDoc 表示 - 空のタグ)

Boolean (ブール)

結果の XML ドキュメントに空のタグをすべて含めるかどうかを示します。

false

Render IDoc Ignore Invalid Char Errors (IDoc 表示 - 無効文字エラーを無視)

Boolean (ブール)

使用されている XML 仕様バージョンに応じた文字範囲チェックのエラーを無視するかどうかを示します。

false

Render IDoc Ignore Tag Escape Errors (IDoc 表示 - タグエスケープエラーを無視)

Boolean (ブール)

使用されている IDocXML 形式に応じた XML タグ内のエスケープ文字のエラーを無視するかどうかを示します。

false

Render IDoc Omit Xml Declaration (IDoc 表示 - XML 宣言を除外)

Boolean (ブール)

結果の XML ドキュメントで XML 宣言セクションを除外するかどうかを示します。

false

Render IDoc Optional Encoding Decl (IDoc 表示 - 省略可能なエンコード宣言)

Boolean (ブール)

結果の XML ドキュメントに省略可能な XML エンコード宣言属性を書き込むかどうかを示します。

false

Render IDoc Substitute Invalid Chars (IDoc 表示 - 無効な文字を置き換え)

Boolean (ブール)

IDoc 項目値内の無効な文字を番号記号 ​#​ (​U+0023​) に置き換えるかどうかを示します。

false

Render IDoc With CR (IDoc 表示 - CR を含む)

Boolean (ブール)

結果の XML ドキュメントに ​CR​ (キャリッジリターン) 文字を挿入するかどうかを示します。

false

Render IDoc With CRLF (IDoc 表示 - CRLF を含む)

Boolean (ブール)

結果の XML ドキュメントに ​CR+LF​ (キャリッジリターンとラインフィード) 文字を挿入するかどうかを示します。

false

Render IDoc With LF (IDoc 表示 - LF を含む)

Boolean (ブール)

結果の XML ドキュメントに ​LF​ (ラインフィード) 文字を挿入するかどうかを示します。

false

Render IDoc With Tabs And CR (IDoc 表示 - タブおよび CR を含む)

Boolean (ブール)

結果の XML ドキュメントに ​TAB​ および ​CR​ (タブおよびキャリッジリターン) 文字を挿入するかどうかを示します。

false

Render IDoc With Tabs And CRLF (IDoc 表示 - タブおよび CRLF を含む)

Boolean (ブール)

結果の XML ドキュメントに ​TAB​ および ​CR+LF​ (タブおよびキャリッジリターンとラインフィード) 文字を挿入するかどうかを示します。

false

Render IDoc With Tabs And LF (IDoc 表示 - タブおよび LF を含む)

Boolean (ブール)

結果の XML ドキュメントに ​TAB​ および ​LF​ (タブおよびラインフィード) 文字を挿入するかどうかを示します。

false

Render IDoc Xml10 (IDoc 表示 - Xml10)

Boolean (ブール)

XML 仕様バージョン 1.0 に準拠する XML ドキュメントを作成するかどうかを示します。

false

Render IDoc Xml11 (IDoc 表示 - Xml11)

Boolean (ブール)

XML 仕様バージョン 1.1 に準拠する XML ドキュメントを作成するかどうかを示します。

false

### [](#MessageServer)Message Server (メッセージサーバー) 複数のゲートウェイを使用してメッセージサーバーを設定でき、​**Document Listener**​ ソースに渡すことができるため、負荷分散やパフォーマンスの向上を実現できます。詳細は、​[「複数のゲートウェイの設定」](https://docs.mulesoft.com/jp/sap-connector/5.5/sap-connector-examples#configure-multiple-gateways)​を参照してください。
項目 型 説明 デフォルト値 必須

Host (ホスト)

String (文字列)

メッセージサーバーのホスト。

x

System Id (システム ID)

String (文字列)

SAP システムのシステム ID。

x

Port (ポート)

Number (数値)

コネクタがメッセージサーバーにログインするために使用するポート。

Group (グループ)

String (文字列)

SAP アプリケーションサーバーのグループ。

Router (ルーター)

String (文字列)

ファイアウォールによって保護されるシステムに使用する SAP ルーター文字列。

### [](#reconnect)Reconnect (再接続) 標準再接続戦略を設定し、再接続の頻度と、コネクタソースまたは操作で実行できる再接続の試行回数を指定します。
項目 型 説明 デフォルト値 必須

Frequency (頻度)

Number (数値)

再接続を試行する頻度 (ミリ秒)。

Count (数)

Number (数値)

Mule アプリケーションで実行できる再接続の試行回数。

### [](#reconnect-forever-繰り返し再接続)Reconnect Forever (繰り返し再接続) Mule アプリケーションが実行されている間はコネクタソースや操作によって指定された頻度で再接続が試行される Forever 再接続戦略を設定します。
項目 型 説明 デフォルト値 必須

Frequency (頻度)

Number (数値)

再接続を試行する頻度 (ミリ秒)。

### [](#Reconnection)Reconnection (再接続) 操作の再接続戦略を設定します。
項目 型 説明 デフォルト値 必須

Fails Deployment (デプロイメントに失敗)

Boolean (ブール)

アプリケーションのデプロイ時に、関連する再接続戦略をすべて実行した後、接続テストに合格しない場合の処理:

  • true​

    デプロイの失敗を許可します。

  • false​

    接続テストの結果を無視します。

Reconnection Strategy (再接続戦略)

使用する再接続戦略。

### [](#RedeliveryPolicy)Redelivery Policy (再配信ポリシー) エラーを生成する要求を実行するための再配信ポリシーを設定します。再配信ポリシーは、フロー内のあらゆる提供元に追加できます。
項目 型 説明 デフォルト値 必須

Max Redelivery Count (最大再配信数)

Number (数値)

再配信される要求の最大処理失敗回数。この回数を超えると、​REDELIVERY_EXHAUSTED​ エラーが返されます。

Use Secure Hash (セキュアハッシュを使用)

Boolean (ブール)

再配信されたメッセージの識別にセキュアハッシュアルゴリズムを使用するかどうか。

Message Digest Algorithm (メッセージダイジェストアルゴリズム)

String (文字列)

[Use Secure Hash (セキュアハッシュを使用)]​ 項目が ​true​ の場合に使用するセキュアハッシュアルゴリズム。メッセージのペイロードが Java オブジェクトの場合、Mule ではこの値が無視され、ペイロードの ​hashCode()​ が返した値が返されます。

Id Expression (ID 式)

String (文字列)

メッセージがいつ再配信されたのかを判断する 1 つ以上の式。このプロパティは、​[Use Secure Hash (セキュアハッシュを使用)]​ 項目が ​false​ の場合にのみ設定できます。

Object Store (オブジェクトストア)

Object Store (オブジェクトストア)

各メッセージの再配信カウンターが保存されるオブジェクトストアを設定します。

### [](#repeatable-file-store-stream)Repeatable File Store Stream (反復可能なファイルストアストリーム) 反復可能なファイルストアストリーミング戦略を設定します。この戦略では、ストリームコンテンツの一部がメモリ内に格納されます。ストリームのコンテンツが、設定されたバッファサイズよりも大きい場合、Mule はバッファのコンテンツをディスクにバックアップしてからメモリをクリアします。
項目 型 説明 デフォルト値 必須

In Memory Size (メモリ内サイズ)

Number (数値)

ストリームのデータで使用できるメモリの最大量。メモリ量がこの値を超えると、コンテンツはディスクにバッファされます。パフォーマンスを最適化する方法は、次のとおりです。

  • バッファサイズを大きくすると、Mule がバッファをディスクに書き込む回数を減らせます。これによってパフォーマンスが高まりますが、より多くのメモリが必要になるため、アプリケーションが処理できる同時要求数が制限されます。

  • バッファサイズを小さくすると、メモリの負荷は低減しますが、応答時間が長くなります。

Buffer Unit (バッファ単位)

Enumeration (列挙)。次のいずれかになります。

  • BYTE (バイト)

  • KB

  • MB

  • GB

[In Memory Size (メモリ内サイズ)]​ 項目の単位。

### [](#repeatable-in-memory-stream)Repeatable In Memory Stream (反復可能なメモリ内ストリーム) データが最大バッファサイズを超えた場合に要求が失敗するメモリ内ストリーミング戦略を設定します。ユースケースで最適なバッファサイズは、必ずパフォーマンステストを実施して決めてください。
項目 型 説明 デフォルト値 必須

Initial Buffer Size (初期バッファサイズ)

Number (数値)

データストリームに割り当てるメモリの初期容量。ストリーミングされたデータがこの値を超える場合は、​[Buffer Size Increment (バッファサイズ増分)]​ の単位で ​[Max In Memory Size (最大メモリ内サイズ)]​ 値を上限としてバッファが拡張されます。

Buffer Size Increment (バッファサイズ増分)

Number (数値)

バッファサイズが初期サイズを超えた場合に、拡張する量。値を ​0​ またはそれ以下に設定すると、バッファは拡張されません。

Max Buffer Size (最大バッファサイズ)

Number (数値)

使用するメモリの最大量。これを超えると、​STREAM_MAXIMUM_SIZE_EXCEEDED​ エラーが発生します。0 以下の値は無制限を意味します。

Buffer Unit (バッファ単位)

Enumeration (列挙)。次のいずれかになります。

  • BYTE (バイト)

  • KB

  • MB

  • GB

[Initial Buffer Size (初期バッファサイズ)]​ 項目、​[Buffer Size Increment (バッファサイズ増分)]​ 項目、​[Buffer Unit (バッファ単位)]​ 項目の単位。

### [](#SapAttributes)SAP Attributes (SAP 属性) SAP ペイロードの属性。
項目 型 説明 デフォルト値 必須

Transaction Id (トランザクション ID)

String (文字列)

トランザクション ID の値。

## [](#関連情報)関連情報 - [Anypoint Connector の概要](https://docs.mulesoft.com/connectors/introduction/introduction-to-anypoint-connectors) - [MuleSoft ヘルプセンター](https://help.mulesoft.com) # SAP Connector 5.6 SAP 用 Anypoint Connector (SAP Connector) を使用すると、SAP NetWeaver に基づいてデータを外部システムと統合できます。 このコネクタを使用するには、個別のライセンスが必要です。このコネクタを評価したり、本番環境で使用したりするには、MuleSoft にお問い合わせください。 Mule Runtime Engine (Mule) では、SAP 用 Anypoint Connector (SAP Java Connector (JCo) ライブラリを利用する SAP 認定 Java Connector) を介した SAP インテグレーションがサポートされます。SAP JCo により、SAP バックエンドシステムと Java アプリケーション間の通信が促進されます。Java プログラムは、SAP システムに接続して、Remote Function Module を起動できるようになります。また、オブジェクト型が異なっていても IDoc (SAP 中間ドキュメント) を解析できるようになります。SAP 設定では、インバウンド通信とアウトバウンド通信の両方がサポートされます。 SAP JCo ライブラリを使用すると、Mule アプリケーションで次のことができます。 - 次の種別の RFC プロトコルを介して BAPI 関数を実行する。 - Synchronous Remote Function Call RFC (sRFC) - Asynchronous Remote Function Call RFC (aRFC) - sRFC および aRFC を介して BAPI としてコールされる JCo サーバーとして動作する。 - tRFC および qRFC を介して IDoc を送信する。 - tRFC および qRFC を介して IDoc を受信する。 - SAP オブジェクト (BAPI および IDoc では JCo 関数) と XML 間の変換を行う。 SAP の頭字語については、​[「SAP 用語」](https://docs.mulesoft.com/jp/sap-connector/5.6/sap-connector-terminology)​を参照してください。 ## [](#始める前に)始める前に このコネクタを使用するには、以下に精通している必要があります。 - SAP Connector の API - Anypoint Connector - Mule Runtime Engine (Mule) - Mule フローの要素とグローバル要素 - Anypoint Studio (Studio) を使用した Mule アプリケーションの作成 アプリケーションを作成する前に、以下が必要です。 - SAP の対象リソースにアクセスするためのログイン情報 - 必要な RFC、BAPI、および IDoc を使用できるロールまたはプロファイルを持つサービスユーザー。 - SAP ビジネスコンテキスト (特に SAP R/3 ビジネススイート) の実践的な知識 - 管理的な観点からの SAP NetWeaver プラットフォームの基本的な理解 - ABAP 言語の知識 - 必要な SAP ライブラリをダウンロードするための SAP ID - NetWeaver アプリケーションサーバー (NWAS) に接続するための RFC プロトコルの使用 [ECC](http://www.cipherbsc.com/solutions/sap-erp-central-component-erp-ecc/)​ および [CRM](https://help.sap.com/viewer/p/SAP_CUSTOMER_RELATIONSHIP_MANAGEMENT)​ は、他の SAP ソリューションと同様に NWAS 上で実行されるため、コネクタを使用するユーザーはこれらのシステムにアクセスできます。 - Anypoint Studio を使用した Mule アプリケーションの作成方法に関する知識 アプリケーションを作成する前に、SAP Web サイトにアクセスし、IDoc、JCO、JCO Native のバージョン 3.1.x ライブラリを、使用するコンピューターのフォルダーにダウンロードします。 Studio 7 では、変換することなくライブラリ形式を直接使用できます。 ## [](#コネクタの一般的なユースケース)コネクタの一般的なユースケース SAP Connector の一般的なユースケースを次に挙げます。 - **エンタープライズリソースの統一されたビュー** 財務会計、資材管理、販売と流通、顧客サービスのビジネスでデジタル情報のリアルタイムインテグレーションを有効にして、コアビジネスプロセスを最適化するデータ主導の意思決定を行います。 - **データ同期** SAP データを Salesforce、Workday、Marketo などのビジネスアプリケーションと同期します。たとえば、SAP の多数のアカウントを Salesforce に移行したり、SAP の組織の変更をリアルタイムに Workday にブロードキャストしたりできます。 - **販売注文の自動化** SAP ERP と CRM (Salesforce など) 間の販売注文プロセスを自動化します。 - **BAPI のサポート** BAPI の検出、BAPI/RFM 対応の関数モジュールの照会、BAPI 関数の実行などを行います。 - **IDoc インテグレーション** SAP の IDoc の送受信、IDoc のインポート、SAP オブジェクトと XML の変換を行います。 これらのユースケースの例については、​[「SAP Connector の例」](https://docs.mulesoft.com/jp/sap-connector/5.6/sap-connector-examples)​を参照してください。 ## [](#認証種別)認証種別 SAP Connector 接続では、次の認証種別を使用します。 - Certificate (証明書) X509 証明書を使用してユーザーを認証する接続プロバイダー。 - Simple Connection Provider ユーザー名とパスワードを使用して接続する接続プロバイダー。 ## [](#exchange-テンプレートおよび例)Exchange テンプレートおよび例 [Anypoint Exchange](https://www.mulesoft.com/exchange/)​ は、アプリケーションのスタートポイントとして使用できるテンプレートと、完全なソリューションを具体的に示した例を提供しています。 - **一般:**​ [「Account System API - SAP Implementation Template (アカウントシステム API - SAP 実装テンプレート)」](https://www.mulesoft.com/exchange/org.mule.templates/template-apiled-system-account-sap/)​、 [「Salesforce to Salesforce, Workday, SAP, and Database Account Broadcast (Salesforce to Salesforce、Workday、SAP、データベースアカウントのブロードキャスト)」](https://www.mulesoft.com/exchange/org.mule.templates/template-sfdc2sfdc.wday.sap.db-account-broadcast/) - **Salesforce と SAP:**​ [「Account Aggregation (取引先の集計)」](https://www.mulesoft.com/exchange/org.mule.templates/template-sap2sfdc-account-aggregation/)​、 [「Account Customer Bidirectional Sync (取引先の顧客の双方向同期)」](https://www.mulesoft.com/exchange/org.mule.templates/template-sap2sfdc-customer-bidirectional-sync/)​、 [「Opportunity Aggregation (商談の集計)」](https://www.mulesoft.com/exchange/org.mule.templates/template-sfdc2sap-opportunity-aggregation/)​、 [「Product Aggregation (商品の集計)」](https://www.mulesoft.com/exchange/org.mule.templates/template-sfdc2sap-product-aggregation/)​、 [「Product Bidirectional Sync (商品の双方向同期)」](https://www.mulesoft.com/exchange/org.mule.templates/template-sfdc2sap-product-bidirectional-sync/) - **Salesforce から SAP:**​ [「Account Broadcast (取引先のブロードキャスト)」](https://www.mulesoft.com/exchange/org.mule.templates/template-sfdc2sap-account-broadcast/)​、 [「Account Migration (取引先の移行)」](https://www.mulesoft.com/exchange/org.mule.templates/template-sfdc2sap-account-migration/)​、 [「Opportunity Broadcast (商談のブロードキャスト)」](https://www.mulesoft.com/exchange/org.mule.templates/template-sfdc2sap-opportunity-broadcast/)​、 [「Opportunity Migration (商談の移行)」](https://www.mulesoft.com/exchange/org.mule.templates/template-sfdc2sap-opportunity-migration/)​、 [「Product Broadcast (商品のブロードキャスト)」](https://www.mulesoft.com/exchange/org.mule.templates/template-sfdc2sap-product-broadcast/) - **SAP から Salesforce:**​ [「Contact Broadcast (取引先責任者のブロードキャスト)」](https://www.mulesoft.com/exchange/org.mule.templates/template-sap2sfdc-contact-broadcast/)​、 [「Contact Migration (取引先責任者の移行)」](https://www.mulesoft.com/exchange/org.mule.templates/template-sap2sfdc-contact-migration/)​、 [「Customer Broadcast (顧客のブロードキャスト)」](https://www.mulesoft.com/exchange/org.mule.templates/template-sap2sfdc-customer-broadcast/)​、 [「Customer Migration (顧客の移行)」](https://www.mulesoft.com/exchange/org.mule.templates/template-sap2sfdc-customer-migration/)​、 [「Product Material Broadcast (商品材料のブロードキャスト)」](https://www.mulesoft.com/exchange/org.mule.templates/template-sap2sfdc-product-broadcast/)​、 [「Product Material Migration (商品材料の移行)」](https://www.mulesoft.com/exchange/org.mule.templates/template-sap2sfdc-material-migration/) - **SAP から Workday:**​ [「Employee Migration (従業員の移行)」](https://www.mulesoft.com/exchange/org.mule.templates/template-sap2wday-employee-migration/)​、 [「Organization Broadcast (組織のブロードキャスト)」](https://www.mulesoft.com/exchange/org.mule.templates/template-sap2wday-organization-broadcast/)​、 [「Organization Migration (組織の移行)」](https://www.mulesoft.com/exchange/org.mule.templates/template-sap2wday-organization-migration/) - **Workday と SAP:**​ [「Organization Aggregation (組織の集計)」](https://www.mulesoft.com/exchange/org.mule.templates/template-wday2sap-organization-aggregation/)​、 [「Worker (Employee) Aggregation (作業員 (従業員) の集計)」](https://www.mulesoft.com/exchange/org.mule.templates/template-wday2sap-worker-aggregation/) - **Workday から SAP:**​ [「Worker (Employee) Migration (作業員 (従業員) の移行)」](https://www.mulesoft.com/exchange/org.mule.templates/template-wday2sap-worker2employee-migration/)​、 [「Worker Broadcast (作業員のブロードキャスト)」](https://www.mulesoft.com/exchange/org.mule.templates/template-wday2sap-worker-broadcast/) ## [](#次のステップ)次のステップ 前提条件を満たし、テンプレートおよびサンプルを試したら、​[Anypoint Studio](https://docs.mulesoft.com/jp/sap-connector/5.6/sap-connector-studio)​ でアプリケーションを作成できます。 ## [](#関連情報)関連情報 - [Anypoint Connector の概要](https://docs.mulesoft.com/connectors/introduction/introduction-to-anypoint-connectors) - [Anypoint Exchange の SAP Connector](https://www.mulesoft.com/exchange/com.mulesoft.connectors/mule-sap-connector/) - [MuleSoft ヘルプセンター](https://help.mulesoft.com) # SAP Connector 5.6 の Studio 設定 SAP Connector をインストールし、Anypoint Studio でコネクタを設定します。 まず、SAP から取得した SAP Java Connector (JCo) ライブラリをインストールします。これで、1 つ以上の SAP Connector 操作を含むアプリケーションを作成できます。Studio を使用すると、アプリケーションを作成して、そのアプリケーションにブラウザーからアクセスできます。 Anypoint Studio で SAP Connector を設定する手順は、次のとおりです。 1. コネクタを Mule プロジェクトに追加します。 2. SAP Connector を設定します。 3. コネクタの入力元を設定します。 ## [](#add-connector-to-project)コネクタを Mule プロジェクトに追加する SAP Connector を Mule プロジェクトに追加して、XML コードにコネクタの名前空間およびスキーマの場所を自動的に入力し、プロジェクトの ​`pom.xml`​ ファイルに必須の連動関係を追加します。 1. **\[Mule Palette (Mule パレット)\]**​ ビューで、​**\[(X) Search in Exchange ((X) Exchange 内を検索)\]**​ をクリックします。 2. **\[Add Dependencies to Project (連動関係をプロジェクトに追加)\]**​ ウィンドウで、検索項目に「​`sap`​」と入力します。 3. **\[Available modules (使用可能なモジュール)\]**​ で ​**\[SP Connector\]**​ をクリックします。 4. **\[Add (追加)\]**​ をクリックします。 5. **\[Finish (完了)\]**​ をクリックします。 Studio でコネクタを Mule プロジェクトに追加しても、Studio ワークスペースの他のプロジェクトはそのコネクタを使用できません。 ## [](#ソース操作を選択する)ソース操作を選択する 1. Anypoint Studio で ​**\[Mule Palette (Mule パレット)\]**​ をクリックして、「​`sap`​」と入力します。 2. 操作を選択します。 SAP からオブジェクトが送信されたときにアプリケーションを開始する場合、次のいずれかの操作を選択し、操作を Studio キャンバスの ​**\[Source (ソース)\]**​ 領域にドラッグします。 - **Document source**​ は IDoc の変更をリスンします。IDoc が変更されると、アプリケーションが実行されます。 - **Function source**​ は SAP 関数モジュールの変更をリスンします。対象の関数モジュールが変更されると、アプリケーションが実行されます。 項目値については、​[「SAP Connector リファレンス」](https://docs.mulesoft.com/jp/sap-connector/5.6/sap-connector-reference)​を参照してください。 **Document source**​ 操作または ​**Function source**​ 操作を選択した場合は、次のセクションに進んで SAP ライブラリをインストールします。 3. 代わりに、​**HTTP リスナー**​や​**スケジューラー**​など、このコネクタの入力元を設定して、操作を Studio キャンバスにドラッグすることもできます。 HTTP リスナーを使用すると、ブラウザーからアプリケーションを開始できます。スケジューラーは特定の時間にアプリケーションを開始します。 4. SAP ライブラリをインストールします。 ## [](#sap-ライブラリをインストールする)SAP ライブラリをインストールする Mule プロジェクトで SAP ライブラリを使用するには、まずライブラリをコンピューターにダウンロードする必要があります。Anypoint Studio では 3 つのライブラリを変換せずに直接使用できます。ライブラリをダウンロードするには、SAP ID が必要です。 各ライブラリのファイル種別は、オペレーティングシステムによって異なります。
OS ファイル種別

Windows

  • sapidoc3.jar

  • sapjco3.jar

  • sapjco3.dll

Mac OS

  • sapidoc3.jar

  • sapjco3.jar

  • libsapjco3.jnilib

Linux

  • sapidoc3.jar

  • sapjco3.jar

  • libsapjco3.so

SAP Connector では、SAP JCo ライブラリバージョン 3.0.x および 3.1.x がサポートされています。
ライブラリをインストールしたら、グローバル要素プロパティをカスタマイズして、接続をテストできます。 ## [](#anypoint-studio-でライブラリを設定する)Anypoint Studio でライブラリを設定する SAP Connector を Studio にインストールして、コネクタを Mule プロジェクトに追加したら、ライブラリを設定します。 1. フローでコネクタをダブルクリックします。 2. **\[Connector Configuration (コネクタ設定)\]**​ 項目の右にあるプラス記号 (​**+**​) をクリックします。 次の画面が表示されます。 ![sap connector configuration 01](/mulesoft/current/ja-jp/sap-connector/5.6/_images/sap-connector-configuration-01.png) ### [](#idoc-ライブラリをインストールする)IDOC ライブラリをインストールする 1. **\[Add Dependency (連動関係を追加)\]**​ をクリックします。 2. **\[Install (インストール)\]**​ をクリックします。 ![sap connector configuration 02](/mulesoft/current/ja-jp/sap-connector/5.6/_images/sap-connector-configuration-02.png) 3. **\[Install (インストール)\]**​ メニューで、​**\[Browse (参照)\]**​ をクリックして、ライブラリファイルを見つけます。 4. 一意のグループ ID、アーティファクト ID、バージョンを指定します。 ![sap connector configuration 02 in](/mulesoft/current/ja-jp/sap-connector/5.6/_images/sap-connector-configuration-02-in.png) 5. **\[Finish (完了)\]**​ をクリックするか、キャンセルする場合は、​**\[Remove Dependency (連動関係を削除)\]**​ をクリックします。 ![sap connector configuration 02 finish](/mulesoft/current/ja-jp/sap-connector/5.6/_images/sap-connector-configuration-02-finish.png) ### [](#jco-ライブラリをインストールする)JCO ライブラリをインストールする 1. **\[Add Dependency (連動関係を追加)\]**​ をクリックします。 2. **\[Install (インストール)\]**​ をクリックします。 ![sap connector configuration 02](/mulesoft/current/ja-jp/sap-connector/5.6/_images/sap-connector-configuration-02.png) 3. **\[Install (インストール)\]**​ メニューで、​**\[Browse (参照)\]**​ をクリックして、ライブラリファイルを見つけます。 4. 一意のグループ ID、アーティファクト ID、バージョンを指定します。 ![sap connector configuration 03 in](/mulesoft/current/ja-jp/sap-connector/5.6/_images/sap-connector-configuration-03-in.png) 5. **\[Finish (完了)\]**​ をクリックするか、キャンセルする場合は、​**\[Remove Dependency (連動関係を削除)\]**​ をクリックします。 ![sap connector configuration 03 finish](/mulesoft/current/ja-jp/sap-connector/5.6/_images/sap-connector-configuration-03-finish.png) ### [](#jco-native-ライブラリをインストールする)JCO Native ライブラリをインストールする 1. **\[Add Dependency (連動関係を追加)\]**​ をクリックします。 2. **\[Install (インストール)\]**​ をクリックします。 ![sap connector configuration 02](/mulesoft/current/ja-jp/sap-connector/5.6/_images/sap-connector-configuration-02.png) 3. **\[Install (インストール)\]**​ メニューで、​**\[Browse (参照)\]**​ をクリックして、ライブラリファイルを見つけます。 MacOS では、JCO バージョン 3.1.2 以降、ネイティブライブラリの拡張子が ​`jnilib`​ から ​`dylib`​ に変更されました。 1. ローカルマシンからライブラリをインストールした後: 2. **\[Shared Folder (共有フォルダー)\]**​ ウィンドウの一番下に移動します。 3. **\[Any (任意)\]**​ を選択して、​`dylib`​ ネイティブライブラリを選択します。 4. **\[Install file into local repository (ローカルリポジトリにファイルをインストール)\]**​ ウィンドウで、次の項目の値を入力します。 - **Group ID (グループ ID)** - **Artifact ID (アーティファクト ID)** - **Version (バージョン)** 4. 一意のグループ ID、アーティファクト ID、バージョンを指定します。 ![sap connector configuration 04 in](/mulesoft/current/ja-jp/sap-connector/5.6/_images/sap-connector-configuration-04-in.png) 5. **\[Finish (完了)\]**​ をクリックするか、キャンセルする場合は、​**\[Remove Dependency (連動関係を削除)\]**​ をクリックします。 ![sap connector configuration 04 finish](/mulesoft/current/ja-jp/sap-connector/5.6/_images/sap-connector-configuration-04-finish.png) ライブラリのインストールが終了したら、正常にインストールされた各ライブラリに緑色のチェックマークが付いた次のような設定画面が表示されます。 ![sap connector libraries installed](/mulesoft/current/ja-jp/sap-connector/5.6/_images/sap-connector-libraries-installed.png) ## [](#接続をテストする)接続をテストする 1. SAP ログインにサインインして必要な情報を取得し、​[Studio での設定](#gepparms)​の説明に従って、残りの ​**\[Global Element Properties (グローバル要素プロパティ)\]**​ 項目を設定します。 2. **\[Test Connection (接続をテスト)\]**​ をクリックして、ログイン情報が正しいことを確認します。 ## [](#コネクタの設定)コネクタの設定 Mule プロジェクトに複数の SAP Connector インスタンスがある場合、グローバル SAP 要素を作成できます。SAP Connector オブジェクトには、SAP サーバーに接続できるようにする設定プロパティが保持されています。 SAP Connector の設定を作成する手順は、次のとおりです。 1. **\[Global Elements (グローバル要素)\]**​ セクションに移動し、​**\[Create (作成)\]**​ をクリックします。 2. **\[Connector Configuration (コネクタ設定)\]**​ セクションで ​**\[SAP Inbound (SAP インバウンド)\]**​ または ​**\[SAP Outbound (SAP アウトバウンド)\]**​ のいずれかを選択します。 3. **\[General (一般)\]**​ タブペインで、SAP 接続を定義するのに必要なパラメーターを入力します。これは、SAP システム管理者が提供できます。 SAP グローバル要素プロパティにより、接続プロパティを定義したり、必要な SAP 連動関係をプロジェクトに追加したりできます。 SAP Connector では、使いやすいように最も一般的なプロパティのみがコネクタパラメーターとして表示されます。​**\[Properties (プロパティ)\]**​ パネルにリストされていないプロパティを設定するには、​[「拡張プロパティの定義」](https://docs.mulesoft.com/jp/sap-connector/5.6/sap-connector-config-topics)​トピックを参照してください。 最低限定義する必要のある属性は次のとおりです。
項目 説明

Application Server Host (アプリケーションサーバーホスト)

SAP エンドポイント。

Username (ユーザー名)

認証された SAP ユーザーのユーザー名。

Password (パスワード)

認証された SAP ユーザーのパスワードログイン情報。

System Number (システム番号)

SAP システムに接続するために使用されるシステム番号。

Client (クライアント)

SAP システムに接続するために使用される SAP クライアント ID (通常は数値)。

Login Language (ログイン言語)

SAP 接続で使用される言語。たとえば、英語の場合は ​EN​ になります。

プロパティプレースホルダー構文は簡単かつ再利用可能な方法であるため、この方法を使用してログイン情報を読み込むことをお勧めします。 SAP インスタンスへの接続が正しいことを確認するには、​**\[Test Connection (接続をテスト)\]**​ をクリックします。ログイン情報が正しければ、​`Test Connection Successful`​ というメッセージが表示されます。 ## [](#view-app-log)アプリケーションログの表示 問題を確認するため、アプリケーションログを次の方法で表示できます。 - アプリケーションを Anypoint Platform から実行している場合、出力は Anypoint Studio のコンソールウィンドウに表示される。 - コマンドラインから Mule を使用してアプリケーションを実行している場合、アプリケーションログは OS コンソールに表示される。 アプリケーションのログファイル (​`log4j2.xml`​) でログファイルパスがカスタマイズされていない場合、デフォルトの場所 ​`MULE_HOME/logs/.log`​ でアプリケーションログを表示することもできます。 ## [](#次のステップ)次のステップ Studio でこのコネクタを設定したら、​[「追加設定情報」](https://docs.mulesoft.com/jp/sap-connector/5.6/sap-connector-config-topics)​トピックで設定に関する他のトピックを参照してください。 ## [](#関連情報)関連情報 - [Anypoint Connector の概要](https://docs.mulesoft.com/connectors/introduction/introduction-to-anypoint-connectors) - [MuleSoft ヘルプセンター](https://help.mulesoft.com) # SAP Connector 5.6 の XML と Maven のサポート XML で Mule アプリケーションを手動でコーディングすることもできますが、Anypoint Studio を使用した方が効率的です。 Anypoint Studio の XML エディターまたはテキストエディターから Mule Runtime Engine (Mule) アプリケーションを手動でコーディングする場合、参照ステートメントを XML Mule フローと Apache Maven ​`pom.xml`​ ファイルの両方に追加することで、アプリケーションからコネクタにアクセスできます。 Studio でコネクタを追加すると、Studio は自動的に XML コードにコネクタの名前空間およびスキーマの場所を入力し、​`pom.xml`​ ファイルに連動関係を追加します。 ## [](#コネクタの名前空間の追加)コネクタの名前空間の追加 次のコードを設定 XML のヘッダーの ​``​ タグ内に貼り付けます。 ```xml http://www.mulesoft.org/schema/mule/sap http://www.mulesoft.org/schema/mule/sap/current/mule-sap.xsd ``` 次の例は、​``​ XML ブロック内に名前空間ステートメントが配置される方法を示しています。 ```xml ="http://www.mulesoft.org/schema/mule/" xmlns:ee="http://www.mulesoft.org/schema/mule/ee/core" xmlns:http="http://www.mulesoft.org/schema/mule/http" xmlns:file="http://www.mulesoft.org/schema/mule/file" 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/file http://www.mulesoft.org/schema/mule/file/current/mule-file.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"> ``` ## [](#pom-ファイルの連動関係の追加)POM ファイルの連動関係の追加 Apache Maven ​`pom.xml`​ ファイルは Anypoint Studio によって生成され、Mule アプリケーションの連動関係が含まれます。Mule アプリケーションを手動でコーディングする場合、次の XML スニペットを ​`pom.xml`​ ファイルに含めてこのコネクタにアクセスできるようにします: ```xml com.mulesoft.connectors mule-sap-connector x.x.x mule-plugin ``` `x.x.x`​ を使用しているコネクタに対応するバージョンに置き換えます。 JCo ライブラリをサポートするために、次の連動関係を追加します。 ```xml org.mule.tools.maven mule-maven-plugin ${mule.maven.plugin.version} true com.sap.conn.jco com.sap.conn.jco.sapjco3 com.sap.conn.idoc com.sap.conn.idoc.sapidoc3 com.sap.conn.jco com.sap.conn.jco.libsapjco3 ``` 最新の ​`pom.xml`​ ファイル情報を取得する手順は、次のとおりです。 1. [Anypoint Exchange](https://www.mulesoft.com/exchange/)​ に移動します。 2. Exchange で、​**\[Login (ログイン)\]**​ をクリックし、Anypoint Platform のユーザー名とパスワードを指定します。 3. Exchange で、「​`sap`​」を検索します。 4. コネクタを選択します。 5. 画面の右上付近にある ​**\[Dependency Snippets (連動関係スニペット)\]**​ をクリックします。 ## [](#次のステップ)次のステップ 名前空間および ​`pom.xml`​ ファイルを完了したら、SAP の​[例](https://docs.mulesoft.com/jp/sap-connector/5.6/sap-connector-examples)​を試すことができます。 ## [](#関連情報)関連情報 - [Anypoint Connector の概要](https://docs.mulesoft.com/connectors/introduction/introduction-to-anypoint-connectors) - [MuleSoft ヘルプセンター](https://help.mulesoft.com) # SAP Connector 5.6 のトラブルシューティング SAP 用 Anypoint Connector (SAP Connector) をトラブルシューティングするには、全般的なトラブルシューティングの実行、一般的な特定エラーへの対応、そして一般的にスローされる例外メッセージの解釈について理解しておく必要があります。 Unresolved include directive in modules/ROOT/pages/sap-connector-troubleshooting.adoc - include::connectors::partial$verbose-exception-logs.adoc\[\] Unresolved include directive in modules/ROOT/pages/sap-connector-troubleshooting.adoc - include::connectors::partial$verbose-logs-com.adoc\[\] ## [](#全般的なトラブルシューティングの実行)全般的なトラブルシューティングの実行 SAP Connector の全般的なトラブルシューティングガイドラインは次のとおりです。 - [ログファイルを確認する](#check-log-files) - [JCo トレースを有効にする](#enable-jco-trace) ### [](#check-log-files)ログファイルを確認する Mule では (アプリケーションごとに) ログファイルが ​`$MULE_HOME\logs`​ ディレクトリに保存されます。 - `mule.log` デフォルトの Mule ログファイル - `mule-app-YOUR_APP_NAME.log` アプリケーションごとのログファイル ### [](#enable-jco-trace)JCo トレースを有効にする JCo トレースは Mule の外部から有効にできます。JCo トレースは次の Java 起動環境プロパティを受け入れます。 - `-Djco.trace_level=N` `N`​ は ​`0`​ ~ ​`10`​ で、​`10`​ は最も詳細なトレース - `-Djco.trace_path=` 省略可能 JCo は ​`0`​ (デフォルト) ~ ​`10`​ のトレースレベルをサポートします。 トレースレベルが高いほど、トレースデータの量が増加します。各トレースレベルには、下位のトレースレベルのすべてのトレースデータも含まれます。多くの JCo コールと転送されるコンテンツで高い JCo トレースレベルを使用する場合は、十分なディスク容量が使用可能であることを確認してください。 コネクタレベルでトレースを有効にする手順は、次のとおりです。 1. 属性 ​`jcoTrace`​ を ​`true`​ に設定するか、値 ​`1`​ の拡張 JCo プロパティ ​`jco.client.trace`​ または ​`jco.server.trace`​ を指定します。 2. Mule の起動時に ​`-Djco.trace_level=N`​ の値を指定します。
トレースレベル AS Java セキュリティレベル JCo 3 トレースコンテンツ

0

NONE

トレースなし

1

ERROR

JCo バージョンとランタイム環境情報、およびアプリケーションエラーを含まない JCo 内部エラーと例外

2

WARNING

JCo 警告メッセージ (ABAP 以外のシステム例外など)

3

INFO

JCo 情報メッセージ (ABAP 例外など)

4

PATH

RFC コールおよび重要な公開 API コール

5

DEBUG

重要な内部ミドルウェアコール
コードページ情報

6

DEBUG

接続属性
ASCII コンテンツデータ (構造の最初の 1000 文字またはテーブルの最初の 5 行)

7

DEBUG

RFC メタデータ (名前、型、オフセット、長さ、インポートおよびエクスポートオプション、およびコンテンツデータのその他の 16 進数値を含む)

8

DEBUG

完全なコンテンツデータダンプ (文字または行の制限なし)
コール元のスタックトレース情報 (たとえば、​getClient()​ はアプリケーションを識別します)

9

DEBUG

追加情報なし (将来の使用のために予約済み)

10

DEBUG

追加情報なし (将来の使用のために予約済み)

3. 必要に応じて、​`-Djco.trace_path=`​ の値を指定します。通常、これは、トレースファイルが保存されている既存のディレクトリへの完全パスですが、他の特別な値を適用できます。 - `stdout` JCo トレース情報は標準​**出力**​ストリームに送信されます。 - `stderr` JCo トレース情報は標準​**エラー**​ストリームに送信されます。 `-Djco.trace_path`​ を設定しない場合、トレースファイルは作業ディレクトリに保存されます。Mule スタンドアロンインスタンスの場合、通常は ​`$MULE_HOME/bin`​ フォルダーになります。 ## [](#一般的なエラーのトラブルシューティング)一般的なエラーのトラブルシューティング SAP Connector の一般的なエラーとその解決方法のリストを次に示します。 - [JCo ライブラリの欠落](#missing-jco-libraries) - [JCo クラスローダーの競合](#jco-classloader-conflicts) - [JCo バージョンの競合](#jco-version-conflicts) - [JCo 名前変更の競合](#jco-renaming-conflicts) - [メッセージが SAP オブジェクトではない](#message-not-an-sap-object) - [IDoc メタデータを使用できない](#idoc-metadata-unavailable) - [TID ハンドラーの欠落](#missing-tid-handler) - [パラメーターがサポートされていない](#parameter-not-supported) - [複数の JCo サーバーが実行されている](#multiple-jco-servers-running) ### [](#missing-jco-libraries)JCo ライブラリの欠落 通常、1 つ以上の必須の SAP JCo 連動関係を読み込まずに接続のテストや Mule アプリケーションのデプロイを実行した場合にこのエラーが発生します。 - JCo ネイティブライブラリの欠落 ```text java.lang.ExceptionInInitializerError: JCo initialization failed with java.lang.UnsatisfiedLinkError: no sapjco3 in java.library.path ``` - JCo JAR の欠落 java.lang.NoClassDefFoundError: com/sap/conn/jco/JCoTraceListener - IDoc JAR の欠落 java.lang.NoClassDefFoundError: com/sap/conn/idoc/IDocMetaDataUnavailableException ![ライブラリが欠落している SAP 設定タブ](/mulesoft/current/ja-jp/sap-connector/5.6/_images/sap-connector-missing-libraries.png) このエラーを解決する手順は、次のとおりです。 1. **\[Required Libraries (必須ライブラリ)\]**​ セクションで、赤い感嘆符アイコンが付いている連動関係の横にある ​**\[Configure (設定)\]**​ をクリックします。 2. 連動関係を参照し、適切なファイルを選択します。 欠落している連動関係がプロジェクトのクラスパスに自動的に追加されます。
Package Explorer​ で、プロジェクトを右クリックし、​[Build Path (ビルドパス)] > [Configure Build Path (ビルドパスを設定)]​ に移動すると、プロジェクトのビルドパス内のライブラリが表示されます。
### [](#jco-classloader-conflicts)JCo クラスローダーの競合 ネイティブライブラリをグローバル設定から読み込むと、ファイルのコピーが ​`$YOUR_APP/src/main/app/lib`​ 内に配置されますが、ソースファイルは削除されません。そのため、接続のテストやアプリケーションのデプロイを実行するときに、ネイティブライブラリが JCo JAR ファイルと同じディレクトリを共有していると、次のエラーが発生します。 ```text java.lang.ExceptionInInitializerError: JCo initialization failed with java.lang.UnsatisfiedLinkError: Native Library /home/mule/sap-errors/lib/jco/libsapjco3.so already loaded in another classloader ``` ![SAP エラー、JCo クラスローダーフォルダー](/mulesoft/current/ja-jp/sap-connector/5.6/_images/sap-error-jco-classloader-folder.png) このエラーを解決する手順は、次のとおりです。 次のいずれかの解決策を選択します。最初の解決策は最も簡単ですが、2 番目の解決策をベストプラクティスとしてお勧めします。 - JCo JAR ファイルが存在するディレクトリから​_重複する_​ネイティブライブラリファイルを削除します。 ![SAP エラー、JCo クラスローダーの修正](/mulesoft/current/ja-jp/sap-connector/5.6/_images/sap-error-jco-classloader-fix.png) - ダイナミックリンクライブラリを保持するように環境変数 ​`LD_LIBRARY_PATH`​ を設定し、同じ Mule Runtime サーバー内にデプロイされている複数のアプリケーションでその環境変数を共有します。 ### [](#jco-version-conflicts)JCo バージョンの競合 次のエラーの最も多い原因は、異なるバージョンのネイティブライブラリと JCo JAR ファイルが使用されていることです。 ```text java.lang.ExceptionInInitializerError: Native library sapjco3 is too old. Found library System-defined path to libsapjco3.so has version "720.612", but required is at least version "720.713". ``` このエラーを解決するには、次の要件が満たされていることを確認します。 - 64 ビットモードで動作する JVM では 64 ビット JCo が必要で、32 ビットモードで動作する JVM では 32 ビット JCo が必要です。 - Microsoft Windows では、JCo には Microsoft Visual Studio 2005 C/C++ ランタイムライブラリが必要です。 - `sapjco.jar`​ と、​`sapjco3.dll`​、​`sapjco3.so`​、および ​`sapjco3.jnilib`​ のいずれかの両方が​**同じ JCo パッケージ**​から取得されている必要があります。 使用している JCo ライブラリのバージョンを確認するには、次のいずれかを実行します。 - Windows (UI): 1. `sapjco3.jar`​ ファイルが配置されているディレクトリに移動します。 2. `sapjco3.jar`​ ファイルを右クリックします。 3. コンテキストメニューから ​**\[プログラムから開く\]**​ を選択します。 4. **\[Java 2 Platform Standard Edition\]**​ バイナリをクリックします。 5. 表示された JCo ダイアログに表示されている情報を確認します。 - Mac: 1. ターミナルウィンドウを開きます。 2. `sapjco3.jar`​ ファイルが配置されているディレクトリに移動します。 3. コマンド ​`java -jar sapjco3.jar -version`​ を実行します。 4. 表示された JCo ダイアログに表示されている情報を確認します。 ### [](#jco-renaming-conflicts)JCo 名前変更の競合 JCo 3.0.11 以降では、SAP JCo ライブラリファイルは JCo により認識されないため、名前変更できず、次のエラーが表示されます。 ```text java.lang.ExceptionInInitializerError: Illegal JCo archive "sapjco3-3.0.11.jar". It is not allowed to rename or repackage the original archive "sapjco3.jar" ``` このエラーを解決する手順は、次のとおりです。 Apache Maven を使用している場合は、属性 ​`true`​ を持つ ​**maven-dependency-plugin**​ を設定します。これを設定し、JCo アーティファクトを削除すると、すべての連動関係ライブラリのバージョン番号が削除されます。 詳細は、 [「Apache Maven Dependency Plugin (Apache Maven Dependency プラグイン)」](http://maven.apache.org/plugins/maven-dependency-plugin/usage.html)​を参照してください。 ### [](#message-not-an-sap-object)メッセージが SAP オブジェクトではない エンドポイントは、BAPI または IDoc を実行するために必要な入力パラメーターを含む SAP オブジェクトを想定します。 以下のメッセージが表示された場合、次のいずれかが考えられます。 - 必要な入力パラメーターが指定されていない。 - 入力パラメーターは指定されているが、SAP オブジェクトが無効である。 ```text org.mule.api.transport.DispatchException: Message is not a SAP object, it is of type "byte[]". Check the transformer for this Connector "SapConnector". Failed to route event via endpoint: SapOutboundEndpoint{endpointUri=sap://function, connector=SapConnector { name=SapConnector lifecycle=start this=4571cebe numberOfConcurrentTransactedReceivers=4 createMultipleTransactedReceivers=true connected=true supportedProtocols=[sap] serviceOverrides= } , name='endpoint.sap.function', mep=ONE_WAY, properties={evaluateFunctionResponse=false, bapiTransaction=false, functionName=BAPI_MATERIAL_AVAILABILITY, rfcType=srfc, outputXml=true}, transactionConfig=Transaction{factory=null, action=INDIFFERENT, timeout=0}, deleteUnacceptedMessages=false, initialState=started, responseTimeout=10000, endpointEncoding=UTF-8, disableTransportTransformer=false}. Message payload is of type: byte[] ``` このエラーを解決する手順は、次のとおりです。 次の 2 つのいずれかの操作を実行して、BAPI または IDoc へのコールを表す SAP オブジェクトを作成します。 - BAPI コールを含む SAP オブジェクトが含まれる XML を作成します。 - 実際の SAP コールを作成するための入力が含まれる XML 定義を指定します。 ### [](#idoc-metadata-unavailable)IDoc メタデータを使用できない 次のエラーが発生した場合、RFC 宛先が Unicode をサポートしていないことを意味します。 ```text RfcException: [mc-vmware|a_rfc] message: (3) IDOC_ERROR_METADATA_UNAVAILABLE: The meta data for the IDoc type "??????????????????????????å å" with extension " ORDSAPB6L B60CL ???" is unavailable. Return code: RFC_FAILURE(1) error group: 104 key: RFC_ERROR_SYSTEM_FAILURE ``` このエラーを解決する手順は、次のとおりです。 トランザクション ​**SM59**​ を使用して、SAP インスタンスでの Unicode サポートを設定します。 ### [](#missing-tid-handler)TID ハンドラーの欠落 TID ハンドラーが定義されていないため、次のエラーが表示されます。 ```text RfcException: [mule.local|MULESOFT_IDOC_SEND_TEST] message: check TID fault: No transaction handler is installed. Unable to process tRFC/qRFC requests. Return code: RFC_FAILURE(1) error group: 104 key: RFC_ERROR_SYSTEM_FAILURE Exception raised by myhost.com.ar|MULESOFT_IDOC_SEND_TEST at com.sap.conn.jco.rt.MiddlewareJavaRfc$JavaRfcServer.playbackTRfc(MiddlewareJavaRfc.java:2625) at com.sap.conn.jco.rt.MiddlewareJavaRfc$JavaRfcServer.handletRfcRequest(MiddlewareJavaRfc.java:2546) at com.sap.conn.jco.rt.MiddlewareJavaRfc$JavaRfcServer.listen(MiddlewareJavaRfc.java:2367) at com.sap.conn.jco.rt.DefaultServerWorker.dispatch(DefaultServerWorker.java:284) at com.sap.conn.jco.rt.DefaultServerWorker.loop(DefaultServerWorker.java:369) at com.sap.conn.jco.rt.DefaultServerWorker.run(DefaultServerWorker.java:245) at java.lang.Thread.run(Thread.java:680) ``` このエラーを解決する手順は、次のとおりです。 ``​ で ​`rfcType`​ を ​`trfc`​ または ​`qrfc`​ に設定します。 ### [](#parameter-not-supported)パラメーターがサポートされていない SAP 拡張プロパティには有効な名前が必要です。このため、無効なプロパティ名を指定すると、次のようなエラーメッセージが表示されます。 ```text Root Exception stack trace: RfcException: [null] message: Parameter 'type' not supported: 'f' Return code: RFC_INVALID_PARAMETER(19) error group: 101 key: RFC_ERROR_PROGRAM at com.sap.conn.rfc.api.RfcOptions.checkParameters(RfcOptions.java:182) at com.sap.conn.jco.rt.MiddlewareJavaRfc$JavaRfcClient.connect(MiddlewareJavaRfc.java:1328) at com.sap.conn.jco.rt.ClientConnection.connect(ClientConnection.java:731) + 3 more (set debug level logging or '-Dmule.verbose.exceptions=true' for everything) ``` この例では、​`type`​ という名前のパラメーターが無効であることが JCo ライブラリにより報告されています。 このエラーを解決する手順は、次のとおりです。 JCo 拡張プロパティの有効なプロパティ名を指定します。 ### [](#multiple-jco-servers-running)複数の JCo サーバーが実行されている 2 つ以上の JCo サーバーには、設定名が異なっていても同じ設定パラメーターセットを含めることはできないため、次のエラーが表示されます。 ```text ERROR 2012-07-05 10:11:30,525 [WrapperListener_start_runner] com.mulesoft.mule.transport.sap.SapMessageReceiver: Error connecting to server com.sap.conn.jco.JCoException: (101) JCO_ERROR_CONFIGURATION: Server configuration for sapavalara-1.0-SNAPSHOT-gettax is already used for a running server at com.sap.conn.jco.rt.StandaloneServerFactory.update(StandaloneServerFactory.java:358) at com.sap.conn.jco.rt.StandaloneServerFactory.getServerInstance(StandaloneServerFactory.java:176) at com.sap.conn.jco.server.JCoServerFactory.getServer(JCoServerFactory.java:74) at com.mulesoft.mule.transport.sap.jco3.SapJcoRfcServer.initialise(SapJcoRfcServer.java:46) at com.mulesoft.mule.transport.sap.jco3.SapJcoServerFactory.create(SapJcoServerFactory.java:60) at com.mulesoft.mule.transport.sap.SapMessageReceiver.doConnect(SapMessageReceiver.java:56) at org.mule.transport.AbstractTransportMessageHandler.connect(AbstractTransportMessageHandler.java:218) at org.mule.transport.AbstractConnector.registerListener(AbstractConnector.java:1254) ```
これは、同じ Mule サーバーで実行されている Mule アプリケーションにのみ適用されます。Mule サーバーグループのノードにこの制限はありません。
このエラーを解決する手順は、次のとおりです。 次の属性を使用して、サーバーグループキーを作成します (サーバーグループキーは JCo サーバー接続のユニーク性を決定します)。 - `jco.server.gwhost` - `jco.server.gwserv` - `jco.server.progid` 2 つのサーバーで ​`gwhost`​、​`gwserv`​、および ​`progid`​ の値が異なる場合のみ、2 つのサーバーを同じ Mule インスタンスで開始できます (JCo はこの情報をシングルトンクラスで保持します)。 ## [](#スローされる一般的な例外メッセージの理解)スローされる一般的な例外メッセージの理解 スローされる一般的な例外メッセージとその解釈方法のリストを次に示します。 - SAP:CONNECTIVITY A connection cannot be established. (接続を確立できません。) - SAP:INVALID\_CACHE The cache used internally by the JCo library is corrupted or can’t be read. (JCo ライブラリで内部的に使用されているキャッシュが破損しているか、読み取ることができません。) - SAP:INVALID\_INPUT User input cannot be parsed or is incorrect. (ユーザー入力を解析できないか、ユーザー入力が正しくありません。) - SAP:METADATA\_UNAVAILABLE The metadata for an IDoc segment is unavailable. (IDoc セグメントのメタデータを利用できません。) - SAP:NOT\_FOUND A function or IDoc template cannot be found or retrieved. (関数または IDoc テンプレートが見つからないか、取得できません。) - SAP:NOT\_SUPPORTED An action occurs that is not supported by any JCo handler. (JCo ハンドラーでサポートされていないアクションが実行されました。) - SAP:PARSING The JCo library has a parsing issue or the connector cannot convert XML to a BAPI function or an IDoc. (JCo ライブラリに解析の問題があるか、コネクタが XML を BAPI 関数または IDoc に変換できません。) - SAP:RETRY\_EXHAUSTED Execution block retries are exhausted. (実行ブロックの再試行が終了しました。) - SAP:SYSTEM\_BUSY The remote ABAP system is too busy to handle a request. (リモートの ABAP システムが混雑しているため要求を処理できません。) - SAP:TIMEOUT A timeout exception happens inside the JCo library. (JCo ライブラリ内でタイムアウト例外が発生しました。) ## [](#関連情報)関連情報 - [Anypoint Connector の概要](https://docs.mulesoft.com/connectors/introduction/introduction-to-anypoint-connectors) - [SAP Connector リファレンス](https://docs.mulesoft.com/jp/sap-connector/5.6/sap-connector-reference) - [MuleSoft ヘルプセンター](https://help.mulesoft.com) # SAP Connector 5.6 の例 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.6/_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 EDI_DC40 800 0000000003519646 740 30 1 2 MATMAS01 MATMAS SAPIDE LS T90CLNT090 MULE01_TP LS MULE01_LS 20180606 133420 20180606133420 005 000000000000000088 19970527 MORLEY 20030122 I021066 KVB X FERT M 02004 PCE 000 0.200 0.200 KGM 0.000 0001 09 0.000 0.000 0.000 0.000 0.000 0.000 0.0 0.0 0 0 0 0 0 KVB 00000000 00000000 00 0.0 0.0 000000000 005 1 AS-100 T-shirt ZH 005 4 AS-100 T-shirt RO 005 5 AS-100 T-shirt SL 005 6 AS-100 T-shirt HR 005 E AS-100 T-shirt EN 005 F AS-100 T-shirt FR 005 G AS-100 T-shirt EL 005 J AS-100 T ??? JA 005 W AS-100 T-shirt BG 005 d AS-100 T-shirt SH 005 1000 V X 0 0 M 0.00 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0 00000000 0.00 0.00 0.00 0.000 0 0 0.0 0.0 0 0.00 0.000 0.0 00000000 01 0.00 0.000 0.00 0.000 000 000 000 0.000 0.00 0 00000000 0.00 00000000 00000000 0 00 00000000 0 0.000 0.000 0.000 0.000 00 0.000 005 2300 VB X 0 0 M 0.00 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0 00000000 0.00 0.00 0.00 0.000 0 0 0.0 0.0 0 0.00 0.000 0001 0.0 00000000 01 0.00 0.000 0.00 0.000 000 000 000 0.000 0.00 0 00000000 0.00 00000000 00000000 00000000 0 00 00000000 0 0.000 0.000 0.000 0.000 00 0.000 005 PCE 1 1 0.000 0.000 0.000 0.000 0.200 KGM 0 0 0.000 005 2300 X S 0 0.3 1 7920 S 0 0.3 1 7920 S 0 0.3 1998 09 0 00000000 0 0 0 0 0.000 0.000 0 0 0 0 0 00000000 00000000 00000000 0 0 00 B 000100014878 000100014879 00 00 00 000 000 000 0000 0000 0000 0 7920 1 X 0 005 ES MWST 0 ',"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\]**​ のプロパティに次の値を設定します。
項目 値

IDoc Name (IDoc 名)

MATMAS01

Content (コンテンツ)

#[payload]

### [](#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 EDI_DC40 800 0000000003519646 740 30 1 2 MATMAS01 MATMAS SAPIDE LS T90CLNT090 MULE01_TP LS MULE01_LS 20180606 133420 20180606133420
',"application/xml") ]]>
``` ## [](#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.6/_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\]**​ のプロパティに次の値を設定します。
項目 値

Gateway host (ゲートウェイホスト)

ゲートウェイサーバーを実行するホスト

Gateway service (ゲートウェイサービス)

3200

Program id (プログラム ID)

MULE01_PID

Connection count (接続数)

1

Idoc type filter regex (Idoc 種別検索条件の正規表現)

MATMAS01

[Gateway host (ゲートウェイホスト)]​、​[Gateway service (ゲートウェイサービス)]​、​[Program id (プログラム ID)]​ は、顧客の SAP チームから取得する必要があります。

SAP インスタンスに関連するすべての情報 (設定やログイン情報など) を顧客の SAP チームから取得する必要があります。

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 --- ``` Studio コンソールでの応答例 ```dataweave EDI_DC40 800 0000000003572826 740 30 1 2 MATMAS01 MATMAS SAPIDE LS T90CLNT090 MULE11_TP LS MULE11_LS 20191004 050305 20191004050305 ... ``` ## [](#receive-an-sap-function)SAP 関数を受信する この例は、SAP 関数を受信する Mule アプリケーションを作成する方法を示しています。この例では、関数が別の Mule フローまたは SAP の GUI からトリガーされたときに結果を表示します。次のスクリーンショットは、この例の Studio フローを示しています。 ![SAP 接続を確立するための Studio フロー](/mulesoft/current/ja-jp/sap-connector/5.6/_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.6/_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 --- ``` ## [](#manage-transactions)トランザクションの管理 この例では、銀行レコードを処理する標準 BAPI で 2 つのコールを実行し、それらのトランザクションを管理します。 次のスクリーンショットは、この例の Studio フローを示しています。 ![トランザクションを管理する最初の Studio フロー](/mulesoft/current/ja-jp/sap-connector/5.6/_images/managetransactions-flow1.png) ![トランザクションを管理する 2 番目の Studio フロー](/mulesoft/current/ja-jp/sap-connector/5.6/_images/managetransactions-flow2.png) ![トランザクションを管理する 3 番目の Studio フロー](/mulesoft/current/ja-jp/sap-connector/5.6/_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 US 021000089 Citibank NY Park Avenue New York CITIUSXX 021000089 Manhattan 2005-03-11 C5031845 0 0 0 000 000000 0 ``` 3. Web ブラウザーから次の URL を入力して 2 番目のフローをテストします。 `http://localhost:8081/sync-mule-transaction` 次のような要求の XML 出力が表示されます。 ```dataweave TA 3000 10 00 .................... S V1 311 Standard Order 23669 has been saved 000000 Standard Order 23669 SALES_HEADER_IN 0 T90CLNT090 ``` 4. Web ブラウザーから次の URL を入力して 3 番目のフローをテストします。 `http://localhost:8081/async-rfc` 次のような要求の XML 出力が表示されます。 ```dataweave US 0 ``` ### [](#トランザクションを管理するための-xml)トランザクションを管理するための XML トランザクションの管理の例のフローをすばやく読み込むには、Studio で次のコードを新しい Mule アプリケーションに貼り付けます。環境に合わせて値を変更してください。 ```xml ``` ## [](#configure-multiple-gateways)複数のゲートウェイの設定 この例では、1 つのゲートウェイ接続ではなく、負荷を分散してパフォーマンスを向上させるために複数のゲートウェイ接続を使用して、メッセージサーバーを設定する Mule アプリケーションを作成する方法を示します。 次のスクリーンショットは、この例の Studio フローを示しています。 ![複数のゲートウェイを使用してメッセージサーバーを設定するための Studio フロー](/mulesoft/current/ja-jp/sap-connector/5.6/_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\]**​ プロパティタブで、次の項目を設定します。
項目 値

Gateway host (ゲートウェイホスト)

54.160.77.19

Gateway service (ゲートウェイサービス)

3300

Program id (プログラム ID)

MULE11_IDOC_PID

Connection count (接続数)

1

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\]**​ プロパティタブで、次の項目を設定します。
項目 値

Function Name (関数名)

"ZMMFM_TRIGGER_IDOC_MATMAS"

Content (コンテンツ)

payload

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\]**​ プロパティタブで、次の項目を設定します。
項目 値

Function Name (関数名)

"ZMMFM_TRIGGER_IDOC_MATMAS"

Content (コンテンツ)

payload

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 ``` ## [](#関連情報)関連情報 - [Anypoint Connector の概要](https://docs.mulesoft.com/connectors/introduction/introduction-to-anypoint-connectors) - [MuleSoft ヘルプセンター](https://help.mulesoft.com) # SAP Connector 5.6 の用語

可能な場合は、Equality の会社の値に一致するように、含めない用語を変更しました。顧客の実装に対する影響を回避するために、一部の用語は変更されていません。

次に、一般的に要される SAP システムの頭字語を示します。 ABAP (アドバンスドビジネスアプリケーションプログラミング) SAP の独自プログラミング言語であり、ビジネスアプリケーションをビルドするための NetWeaver プラットフォームの一部。 ALE (アプリケーションリンクイネーブリング) SAP システムの分散アプリケーションおよび統合インストールをセットアップします。これには、緩やかにリンクしている SAP アプリケーション間で整合性が確保されたデータを使用するビジネス駆動型メッセージエクスチェンジが含まれます。アプリケーションは、中央データベースを使用せずに、同期通信および非同期通信で統合されます。 BAPI (ビジネスアプリケーションプログラミングインターフェース) 設計条件を満たし、次のような機能を提供する関数モジュール。 - SAP ビジネスオブジェクトのメソッドを実装する。 - さまざまなバージョンの SAP システムで静的インターフェースを維持する。 - リモートで有効にする。 - ユーザー操作の有無に関係なく実行が完了する。 - エラーを処理する。 FM (関数モジュール) SAP の ABAP 言語で定義された手順。これにより、SAP でグローバル関数をカプセル化および再利用できます。 IDoc (中間ドキュメント) SAP システム間で電子データを交換するための標準 SAP 形式。通常、メッセージ種別 (納品書や発注書など) ごとに異なる特殊な形式 (IDoc 種別と呼ばれる) に対応しています。ただし、関連するコンテンツが含まれる複数のメッセージ種別を 1 つの IDoc 種別に割り当てることもできます。 Java API 動的なメタデータルックアップおよびキャッシュを処理します。Java API は、SAP BAPI 関数モジュールのパラメーターおよびテーブルで使用する ​`JCO.Function`​ コンテナを Java で実装します。Java アプリケーションは、Java API 上に構築されます。 JNI (Java ネイティブインターフェース) JNI は、SAP Connector ライブラリのレイヤーです。JCo は、Java で C ライブラリをラップして、SAP システムへのプラットフォームネイティブなアクセスを提供します。RFC ミドルウェアは、JNI レイヤーを介して RFC ライブラリを使用します。 RFC (リモート関数コール) SAP システムとの通信は、RFC プロトコルを介して行われます。リモート関数コールは、BAPI をコールするか、コール元プログラムとして別のシステムで実行される IDoc 処理をトリガーします。RFC インターフェースにより、2 つの SAP システム間または SAP と外部システム間の関数コールが可能になります。 RFC レイヤー リモート関数コールを処理する SAP コンポーネント。 RFC ライブラリ SAP システムにアクセスするための C 言語ベースの関数のライブラリ。RFC ライブラリの対応は、JNI によって行われます。 SAP Java IDoc クラスライブラリ SAP IDoc の構造化された高レベルの解析とナビゲーションを Java で提供し、次のアドオンパッケージで構成されます。 - SAP Java ベース IDoc クラスライブラリ: ミドルウェアに依存する Java IDoc クラスライブラリの実装の一般的な基本クラスとインターフェースのセットを提供する、ミドルウェアに依存しないライブラリ。 - SAP Java Connector IDoc クラスライブラリ: IDoc を作成、送信、受信するためのミドルウェアに依存しないライブラリ。 SAP NetWeaver SAP ソリューションで使用される主要なテクノロジーおよびアプリケーションプラットフォームの 1 つ。NetWeaver の主要なコンポーネントは、ERP、CRM、SCM、PLM、SRM、BI などの SAP アプリケーションのランタイム環境を提供する SAP Web アプリケーションサーバー (WebAS) です。その他に、エンタープライズポータル、エクスチェンジインフラストラクチャ、マスターデータ管理、モバイルインフラストラクチャなどのコンポーネントもあります。SAP NetWeaver は、これらの技術的なコンポーネントの総称です。SAP NetWeaver は、Java スタックと ABAP スタックの両方で実行されます。 SNC (セキュアネットワークコミュニケーション) SAP NetWeaver のシングルサインオンや、SAP システムと連携する外部セキュリティ製品と統合します。SNC は、SAP システムでは直接使用できないセキュリティ関数を提供します。
SAP Connector を Runtime Manager (CloudHub)、Anypoint Runtime Fabric、または Anypoint Platform Private Cloud Edition にデプロイするアプリケーションで、SNC を使用することはできません。
## [](#関連情報)関連情報 - [Anypoint Connector の概要](https://docs.mulesoft.com/connectors/introduction/introduction-to-anypoint-connectors) - [MuleSoft ヘルプセンター](https://help.mulesoft.com) # SAP Connector 5.6 の追加設定 SAP Connector の基本設定を完了したら、詳細設定の変更や拡張プロパティの定義など、追加の設定タスクを実行できます。 ## [](#一般設定)一般設定 1. キャンバスの下部にある ​**\[Global Elements (グローバル要素)\]**​ タブをクリックします。 2. **\[Create (作成)\]**​ をクリックします。 3. **\[Connector Configuration (コネクタ設定)\]**​ を展開し、​**\[SAP Inbound (SAP インバウンド)\]**​ または ​**\[SAP Outbound (SAP アウトバウンド)\]**​ を選択して、​**\[OK\]**​ をクリックします。 4. **\[Global Element Properties (グローバル要素のプロパティ)\]**​ 画面の上部にある ​**\[Advanced (詳細)\]**​ タブをクリックします。 ![sap connector config adv](/mulesoft/current/ja-jp/sap-connector/5.6/_images/sap-connector-config-adv.png) 5. **\[General (一般)\]**​ セクションで、​**\[Max Idle time (最大アイドル時間)\]**​ を設定します。 1. **\[Expiration policy (有効期限ポリシー)\]**​ を選択します。 2. **\[Max Idle time (最大アイドル時間)\]**​ に値を入力し、​**\[Time Unit (時間単位)\]**​ を追加します。 3. **\[OK\]**​ をクリックします。
項目 型 説明 デフォルト値

Expiration Policy (有効期限ポリシー)

ExpirationPolicy

動的設定インスタンスがアイドル状態を続けられる最小時間を設定します。この時間が経過すると、Runtime で期限切れに相当するとみなされます。これは、インスタンスが有効期限の対象となった瞬間にプラットフォームでそのインスタンスが期限切れになるということではありません。必要に応じて、Runtime がインスタンスをパージします。

Max Idle time (最大アイドル時間)

Number (数値)

有効期限の対象とみなされるまで、動的設定インスタンスがアイドル状態を維持できる最大時間のスカラー時間値。

Time unit (時間単位)

Enumeration (列挙)。次のいずれかになります。

  • DAYS

  • HOURS

  • MICROSECONDS

  • MILLISECONDS

  • MINUTES

  • NANOSECONDS (ナノ秒) SECONDS (秒)

## [](#詳細設定)詳細設定 ![sap advanced](/mulesoft/current/ja-jp/sap-connector/5.6/_images/sap-advanced.png) \[Advanced (詳細)\] 設定では、エンコード、バージョン、フラグ、形式、およびタイムアウトの各パラメーターを設定できます。 これらの項目値を変更するには、​**\[Global Element Properties (グローバル要素のプロパティ)\]**​ 画面の上部にある ​**\[Advanced (詳細)\]**​ タブをクリックします。
項目 XML 属性 説明 デフォルト値

Display Name (表示名)

name (名前)

Mule 設定で内部的に使用されるエンドポイントの参照名を設定します。

Encoding (エンコード)

encoding

エンコードの正規名を設定します。 Oracle のサポートされるエンコード​を参照してください。

Default IDocument Version (デフォルトの IDoc バージョン)

defaultIdocumentVersion

中間ドキュメント (IDoc) を送信する場合、バージョンを設定します。IDoc バージョンの値は、​com.sap.conn.idoc.IDocFactory​ の ​IDOC_VERSION_xxxx​ 定数に対応しています。

Disable Function template cache flag ([関数テンプレートキャッシュを無効化] フラグ)

disableFunctionTemplateCacheFlag

関数テンプレートキャッシュを無効化するには、これを設定します。

false

Evaluate response flag ([応答を評価] フラグ)

evaluateResponseFlag

エラー応答で例外を発生させるのか、ユーザーが別の結果を使用してエラー応答を処理できるようにするのかを設定します。

false

Log trace flag ([トレースを記録] フラグ)

logTraceFlag

トレースを Mule サーバーに記録するかどうかを設定します。

false

Use SAP format (SAP 形式の使用)

useSAPFormat

同期リモート関数コール (sRFC) を使用してビジネスアプリケーションプログラミングインターフェース (BAPI) 関数を操作するときに SAP デフォルト形式を使用するには、これを設定します。

false

## [](#拡張プロパティの定義)拡張プロパティの定義 拡張プロパティを使用すると、SAP アウトバウンド設定パラメーターを調整できます。 SAP Connector のグローバル要素の拡張プロパティを定義する手順は、次のとおりです。 1. **\[General (一般)\]**​ ペインの ​**\[Advanced (詳細)\]**​ タブに移動します。 ![下部の \[Advanced (詳細)\] タブ](_images/sap-connector-advanced-tab.png) 2. ウィンドウの上部にある ​**\[Extended Properties (拡張プロパティ)\]**​ セクションを見つけます。 3. **\[Edit inline (インライン編集)\]**​ オプションを選択します。 4. **\[+\]**​ をクリックして、新しい拡張プロパティを追加します。 SAP で使用しているものと同じプロパティ名を使用します。 1. [Pooling Config (プーリング設定)](https://help.sap.com/viewer/b865ed651e414196b39f8922db2122c7/Cloud/en-US/8278bed44893498f95d5d6d5f0a47f35.html) 2. [Target System configuration (対象システム設定)](https://help.sap.com/viewer/b865ed651e414196b39f8922db2122c7/Cloud/en-US/f8fac995b0144a0b8ec0801b8f7bab3e.html) ### [](#クライアント環境の設定)クライアント環境の設定 使用しているオペレーティングシステムに依存するシステム変数を設定し、PSE (パーソナルセキュリティ環境) を生成します。 1. 次のコマンドを使用して cmd またはターミナルを開き、SAPCAR および SAP 暗号ライブラリを展開します。 \`SAPCAR -xvf これによりフォルダー​​からファイルが抽出されます。 2. 次の環境変数を設定します。​ **この例では、ライブラリへのパスは「C:\\Users\\Administrator\\Desktop\\SNC」です。** - SNC\_LIB - SECUDIR = ​`` - LD\_LIBRARY\_PATH​ = ​`\sapcrypto.dll` - SSF\_LIBRARY\_PATH​ = ​`\sapcrypto.dll` Windows の場合、​`sapcrypto.dll`​ の 64 ビットバージョンは別のパスにあり、​SNC\_LIB\_64​ という新しい変数に追加されています。 cmd またはターミナルで次のコマンドを使用して PSE を作成します。 `sapgenpse gen_pse -v -p RFC.pse` このコマンドを実行する場合、後で使用するパスワードまたは PIN と、一意である必要がある識別名を入力する必要があります。STRUST ですでに使用されている名前があるかどうかを確認できます。 3. セッションユーザーが PSE にアクセスするために必要とするログイン情報を追加します。PSE は「sapgenpse seclogin -p RFC -O you\_user」コマンドを使用して cred\_v2 ファイルを作成します。 ## [](#次のステップ)次のステップ これで設定が完了したので、SAP の​[例](https://docs.mulesoft.com/jp/sap-connector/5.6/sap-connector-examples)​を試すことができます。 ## [](#関連情報)関連情報 - [Anypoint Connector の概要](https://docs.mulesoft.com/connectors/introduction/introduction-to-anypoint-connectors) - [MuleSoft ヘルプセンター](https://help.mulesoft.com) # SAP Connector 5.6 リファレンス SAP 用 Anypoint Connector (SAP Connector) を使用すると、SAP NetWeaver に基づいてデータを外部システムと統合できます。
バージョン 5.0 以降、SAP Connector では、SAP S/4HANA のオンプレミスインスタンスへの接続もサポートされるようになりました。
## [](#制限事項)制限事項 - SAP Connector を CloudHub および Anypoint Runtime Fabric にデプロイする Mule アプリケーションで、SNC を使用することはできません。 - バージョン 5.4.0 以前の SAP Connector では、同じ ​PROGRAM\_ID​、​GATEWAY\_SERVICE​、​GATEWAY\_HOST​ を持つ同じ Mule Runtime Engine にデプロイされた複数のサーバーを JCo ライブラリによって作成することはできません。同じ ​PROGRAM\_ID​、​GATEWAY\_SERVICE​、および ​GATEWAY\_HOST​ を持つ 2 つのサーバーを作成しようとすると、1 つのサーバーのみが作成されます。この問題を回避するには、2 つの異なる Mule Runtime Engine を使用するか、2 つの異なる ​GATEWAY\_HOST​ を持つ同じ ​PROGRAM\_ID​ を使用します。 - SAP Connector では Bitronix トランザクションマネージャーはサポートされていません。 - **Document Listener**​ および ​**Function Listener**​ ソースでは、Mule トランザクションはサポートされていません。(​**\[Advanced (詳細)\] タブ**​の) ​**\[Transactional action (トランザクションアクション)\]**​ および ​**\[Transaction type (トランザクション種別)\]**​ パラメーターは両方のソースで使用できますが、トランザクション機能は実装されていません。 - SAP リスナー (​**\[Document Listener\]**​ と ​**\[Function Listener\]**​) の再接続戦略では JCo ライブラリのみに依存しています。つまり、Mule の再接続メカニズムは再接続に影響しません。 - 接続に問題がある場合、バックグラウンドで実行される JCO サーバーによって再接続が管理されます。JCo RFC プロバイダーにより、Java サーバーと ABAP ゲートウェイ間の通信エラーが認識され、再接続が再試行されます。最初の再接続に失敗すると、1 秒待機して次の再接続試行が行われます。再度再接続に失敗すると、再接続の待機時間は 1 秒から 2 秒と 2 倍になり、最終的にデフォルトの最大待機期間である 3600 秒 (1 時間) になるまで続きます。​`-Djco.server.max_startup_delay=`​ JMV パラメーターを使用して最大再接続タイムアウトを設定します。 ## [](#sap)Configuration (設定) SAP Connector のデフォルト設定。
名前 型 説明 デフォルト値 必須

Name (名前)

String (文字列)

この設定の名前。コネクタはこの名前の設定を参照します。

x

Connection (接続)

この設定の接続種別。

x

Expiration Policy (有効期限ポリシー)

動的設定インスタンスがアイドル状態を続けられる最小時間を設定します。この時間が経過すると、Mule Runtime で期限切れに相当するとみなされます。

Encoding (エンコード)

String (文字列)

エンコードの正規名。 Oracle のサポートされるエンコード​を参照してください。

Default Idocument Version (デフォルトの IDoc バージョン)

String (文字列)

デフォルトの IDoc バージョン。

0

Disable Jco Internal Cache (Jco 内部キャッシュを無効化)

Boolean (ブール)

JCo 内部キャッシュを使用するかどうかを示すフラグ。SAP JCo 内部キャッシュを無効にするには、このフラグを ​true​ に設定します。デフォルトでは、JCo は最初のコールの後にメタデータを保存し、後続のコールでそのテンプレートを入力します。このフラグは関数とソースの両方に適用されます。

false

Evaluate Response Flag ([応答を評価] フラグ)

Boolean (ブール)

エラー応答で例外をスローするか、ユーザーがエラー応答を別の結果として処理できるようにするのかを示すフラグ。このフラグは、メッセージで例外 (E) をスローするのか、警告 (W) 付きの結果として処理するのかを指定するために使用される例外またはログメカニズムです。

フラグを ​true​ に設定した場合、例外 (E) メッセージが返されると、そのメッセージと共に例外がスローされます。

フラグを ​true​ に設定した場合、警告 (W) メッセージが返されると、警告メッセージが記録されます。

false

Log Trace Flag ([トレースを記録] フラグ)

Boolean (ブール)

トレースを Mule サーバーに記録するかどうかを示すフラグ。トレースを記録するには、このフラグを ​true​ に設定します。

false

Use SAP Format (SAP 形式の使用)

Boolean (ブール)

SAP 値を返すための Mule 3 形式をサポートするかどうかを決定します。​JCoField​ を解析するときに ​JCoToBusinessObjectParser​ クラスで使用されます。BAPIFunctions over sRFC を使用する場合にのみ SAP デフォルト形式を使用します。

  • true​

    値は元の SAP 形式の文字列として返されます。

  • false​

    元の値が対応する Java オブジェクトに変換され、シリアル化されて返されます。

false

Use SAP Format On Function Listener (関数リスナーでの SAP 形式の使用)

Boolean (ブール)

SAP 値を返すための Mule 3 形式をサポートするかどうかを決定します。​JCoField​ を解析するために使用されます。BAPI 関数リスナーを使用する場合にのみ SAP デフォルト形式を使用します。

  • true​

    値は元の SAP 形式の文字列として返されます。

  • false​

    元の値が対応する Java オブジェクトに変換され、シリアル化されて返されます。

false

### [](#sap_certificate)\[Certificate (証明書)\] 接続種別 X509 証明書を使用してユーザーを認証します。
名前 型 説明 デフォルト値 必須

SAP system number (SAP システム番号)

String (文字列)

SAP システムの 2 桁のシステム番号 (sysnr)。

x

SAP client ID (SAP クライアント ID)

String (文字列)

3 桁のクライアント番号。数値で表示する場合は先行ゼロを保持します。

x

Destination Name (宛先名)

String (文字列)

このコネクタによって生成される宛先の識別子。設定されていない場合、ランダムな値が作成されます。

Login language (ログイン言語)

String (文字列)

コネクタで使用される言語コード。言語によって、SAP アダプターとアプリケーションサーバー間の通信に使用されるコードページが決定されます。

EN

Extended Properties (拡張プロパティ)

Object (オブジェクト)

データベースサーバー固有のすべての接続パラメーターを渡すために使用されます。

X.509 Certificate (X.509 証明書)

String (文字列)

X.509 証明書へのパス。これは、コネクタがクライアントとして機能する場合に必要です。

Application server host (アプリケーションサーバーホスト)

String (文字列)

SAP アプリケーションサーバーのホスト。

Message server configuration (メッセージサーバーの設定)

メッセージサーバーの使用の設定。

Enable RFC tracing on server (サーバーでの RFC トレースの有効化)

Boolean (ブール)

サーバーで RFC トレースを有効または無効にします。

false

Enable CPIC tracing on server (サーバーでの CPIC トレースの有効化)

Enumeration (列挙)。次のいずれかになります。

  • INHERIT

  • NO_TRACING​

  • LEVEL_1​

  • LEVEL_2​

  • LEVEL_3

サーバーで CPIC トレースを有効または無効にします。

Reconnection (再接続)

コネクタ操作で外部サーバーへの接続に失敗した場合に使用する再接続戦略を設定します。

### [](#sap_simple-connection-provider)Simple Connection Provider Connection Type ユーザー名とパスワードを使用して接続します。
名前 型 説明 デフォルト値 必須

SAP system number (SAP システム番号)

String (文字列)

SAP システムの 2 桁のシステム番号 (sysnr)。

x

SAP client ID (SAP クライアント ID)

String (文字列)

3 桁のクライアント番号。数値で表示する場合は先行ゼロを保持します。

x

Destination Name (宛先名)

String (文字列)

このコネクタによって生成される宛先の識別子。設定されていない場合、ランダムな値が作成されます。

Login language (ログイン言語)

String (文字列)

コネクタで使用される言語コード。言語によって、SAP アダプターとアプリケーションサーバー間の通信に使用されるコードページが決定されます。

EN

Extended Properties (拡張プロパティ)

Object (オブジェクト)

データベースサーバー固有のすべての接続パラメーターを渡すために使用されます。

Username (ユーザー名)

String (文字列)

コネクタが SAP にログインするために使用するユーザー名。

x

Password (パスワード)

String (文字列)

ログインユーザー名に関連付けられているパスワード。

x

Application server host (アプリケーションサーバーホスト)

String (文字列)

SAP アプリケーションサーバーのホスト。

Message server configuration (メッセージサーバーの設定)

メッセージサーバーの使用の設定。

Enable RFC tracing on server (サーバーでの RFC トレースの有効化)

Boolean (ブール)

サーバーで RFC トレースを有効または無効にします。

false

Enable CPIC tracing on server (サーバーでの CPIC トレースの有効化)

Enumeration (列挙)。次のいずれかになります。

  • INHERIT

  • NO_TRACING​

  • LEVEL_1​

  • LEVEL_2​

  • LEVEL_3

サーバーで CPIC トレースを有効または無効にします。

Reconnection (再接続)

アプリケーションがデプロイされると、すべてのコネクタで接続テストが実行されます。​true​ に設定されている場合、関連する再接続戦略をすべて実行した後にテストに合格しないと、デプロイメントが失敗します。

## [](#ソース)ソース - [Document Listener](#document-listener) - [Function Listener](#function-listener) ### [](#document-listener)Document Listener `` 受信 IDoc をリスンします。
名前 型 説明 デフォルト値 必須

Configuration (設定)

String (文字列)

使用する設定の名前。

x

Gateway Host (ゲートウェイホスト)

String (文字列)

ゲートウェイサーバーを実行するホストの名前。これは、ゲートウェイハンドラーを実行するホストの名前です。SAP ゲートウェイは、SAP 以外のアプリケーションを SAP アプリケーションに接続するために使用される開発フレームワークです。RFC 宛先を使用して、信頼されるシステムとして SAP ゲートウェイホストを設定できます。

x

Gateway Service (ゲートウェイサービス)

String (文字列)

SAP システムのゲートウェイサービスの名前またはサービスポート。

x

Program ID (プログラム ID)

String (文字列)

ゲートウェイに登録されている SAP システムプログラム ID。特定のゲートウェイで一意である必要があります。

x

Connection Count (接続数)

Number (数値)

ゲートウェイに登録する接続の数。複数の接続がある場合、ハンドラー要求は並列処理されます。たとえば、2 つの接続が設定されている場合、これにより、要求を並列処理する 2 つのハンドラーワーカーまたはスレッドが作成されます。これらは、一緒に開始する 2 つのソースのように機能します。

1

Idoc Type Filter Regex (Idoc 種別検索条件の正規表現)

String (文字列)

受信したすべての IDoc を種別で絞り込むための式。

Message server host (メッセージサーバーホスト)

String (文字列)

メッセージサーバーのホスト。

Message server port (メッセージサーバーポート)

String (文字列)

メッセージサーバー名またはポート番号。

System ID (システム ID)

String (文字列)

メッセージサーバーが属するシステムのシステム ID。

Group (グループ)

String (文字列)

ABAP で定義され、アプリケーションサーバーセットを識別するログオングループ。

Update interval (更新間隔)

String (文字列)

メッセージサーバーがアプリケーションサーバーのリストを取得する頻度。

IDoc Render Options (IDoc 表示オプション)

IDoc 表示オプション。

Transactional Action (トランザクションアクション)

Enumeration (列挙)。次のいずれかになります。

  • ALWAYS_BEGIN​

  • NONE

トランザクションに関してソースで実行する開始アクションの種別。

NONE

Transaction Type (トランザクション種別)

Enumeration (列挙)。次のいずれかになります。

  • LOCAL

  • XA

作成するトランザクションの種別。使用できるかどうかは、Mule バージョンによって決まります。

LOCAL

Primary Node Only (プライマリノードのみ)

Boolean (ブール)

クラスターでの Mule インスタンスの実行時、このソースをプライマリノード上でのみ実行するかどうかを決定します。

Streaming Strategy (ストリーミング戦略)

Mule によるストリームの処理方法を設定します。反復可能ストリームは、デフォルトの動作です。

Redelivery Policy (再配信ポリシー)

同じメッセージの再配信を処理するためのポリシーを定義します。

Reconnection Strategy (再接続戦略)

接続エラーが発生した場合の再試行戦略。

#### [](#出力)出力

型

Binary (バイナリ)

Attributes Type (属性型)

#### [](#関連する設定)関連する設定 - [Configuration (設定)](#sap) ### [](#function-listener)Function Listener `` 受信した BAPI 関数をリスンします。
名前 型 説明 デフォルト値 必須

Configuration (設定)

String (文字列)

使用する設定の名前。

x

Gateway Host (ゲートウェイホスト)

String (文字列)

ゲートウェイサーバーを実行するホストの名前。これは、ゲートウェイハンドラーを実行するホストの名前です。SAP ゲートウェイは、SAP 以外のアプリケーションを SAP アプリケーションに接続するために使用される開発フレームワークです。RFC 宛先を使用して、信頼されるシステムとして SAP ゲートウェイホストを設定できます。

x

Gateway Service (ゲートウェイサービス)

String (文字列)

SAP システムのゲートウェイサービスの名前またはサービスポート。

x

Program ID (プログラム ID)

String (文字列)

ゲートウェイに登録されている SAP システムプログラム ID。特定のゲートウェイで一意である必要があります。

x

Connection Count (接続数)

Number (数値)

ゲートウェイに登録する接続の数。複数の接続がある場合、ハンドラー要求は並列処理されます。たとえば、2 つの接続が設定されている場合、これにより、要求を並列処理する 2 つのハンドラーワーカーまたはスレッドが作成されます。これらは、一緒に開始する 2 つのソースのように機能します。

1

Targeted Function (対象関数)

String (文字列)

取得する関数の名前。受信した BAPI 関数を名前で絞り込みます。

Message server host (メッセージサーバーホスト)

String (文字列)

メッセージサーバーのホスト。

Message server port (メッセージサーバーポート)

String (文字列)

メッセージサーバー名またはポート番号。

System ID (システム ID)

String (文字列)

メッセージサーバーが属するシステムのシステム ID。

Group (グループ)

String (文字列)

ABAP で定義され、アプリケーションサーバーセットを識別するログオングループ。

Update interval (更新間隔)

String (文字列)

メッセージサーバーがアプリケーションサーバーのリストを取得する頻度。

Transactional Action (トランザクションアクション)

Enumeration (列挙)。次のいずれかになります。

  • ALWAYS_BEGIN​

  • NONE

トランザクションに関してソースで実行する開始アクションの種別。

NONE

Transaction Type (トランザクション種別)

Enumeration (列挙)。次のいずれかになります。

  • LOCAL

  • XA

作成するトランザクションの種別。使用できるかどうかは、Mule バージョンによって決まります。

LOCAL

Primary Node Only (プライマリノードのみ)

Boolean (ブール)

クラスターでの Mule インスタンスの実行時、このソースをプライマリノード上でのみ実行するかどうかを決定します。

Streaming Strategy (ストリーミング戦略)

Mule によるストリームの処理方法を設定します。反復可能ストリームは、デフォルトの動作です。

Redelivery Policy (再配信ポリシー)

同じメッセージの再配信を処理するためのポリシーを定義します。

Reconnection Strategy (再接続戦略)

接続エラーが発生した場合の再試行戦略。

Response (応答)

Binary (バイナリ)

ソース応答。

SAP 5.6 以降では、​Function Listener​ がトリガーされて、応答が SAP に戻されたときにテーブルの特定の行を更新できます。特定の行を更新するには、更新する行のインデックスを使用して、​INDEX_ROW_UPDATE​ パラメーターをペイロードに追加します。

#[payload]

#### [](#出力-2)出力

型

Binary (バイナリ)

Attributes Type (属性型)

#### [](#関連する設定-2)関連する設定 - [Configuration (設定)](#sap) ## [](#操作)操作 - [Asynchronous Remote Function Call](#asyncRfc) - [Confirm Transaction](#confirmTransactionId) - [Get Function](#getFunction) - [Retrieve IDoc](#retrieveIdoc) - [Send IDoc](#send) - [Start SAP Transaction](#startsaptransaction) - [Synchronous Remote Function Call](#syncRfc) ### [](#asyncRfc)Asynchronous Remote Function Call `` キューリモート関数コール (qRFC) を介して BAPIFunction を実行します。 qRFC はトランザクション RFC (tRFC) の拡張機能であり、個々のステップが順番に処理されることを保証します。これにより、複数の作業論理単位 (LUW) トランザクションがアプリケーションで指定された順序で処理されます。 インバウンドキューとアウトバウンドキューを使用して tRFC をシリアル化できるため、キュー RFC という名前になっています。 キュー (qRFC) は tRFC の拡張機能として、処理順序を定義するのに最適です。qRFC を使用して、複数のトランザクションを定義済みの順序で処理することを保証します。
名前 型 説明 デフォルト値 必須

Configuration (設定)

String (文字列)

使用する設定の名前。

x

Function Name (関数名)

String (文字列)

実行する関数の名前。

x

Content (コンテンツ)

Binary (バイナリ)

実行する BAPIFunction。

#[payload]

Transaction Id (トランザクション ID)

String (文字列)

RFC が 1 回のみ実行されるように RFC を識別する ID。

x

Queue Name (キュー名)

String (文字列)

RFC が実行されるキューの名前。処理される各 tRFC コールにはアプリケーションによりキュー名が与えられるため、これは qRFC に適用されます。qRFC トランザクションごとにキュー名とバージョンが必要です。

Transactional Action (トランザクションアクション)

Enumeration (列挙)。次のいずれかになります。

  • ALWAYS_JOIN​

  • JOIN_IF_POSSIBLE​

  • NOT_SUPPORTED

トランザクションに関して操作で実行する結合アクションの種別。

JOIN_IF_POSSIBLE

Reconnection Strategy (再接続戦略)

接続エラーが発生した場合の再試行戦略。

#### [](#関連する設定-3)関連する設定 - [Configuration (設定)](#sap) #### [](#スロー)スロー - SAP:CONNECTIVITY - SAP:INVALID\_CACHE - SAP:INVALID\_INPUT - SAP:METADATA\_UNAVAILABLE - SAP:NOT\_FOUND - SAP:NOT\_SUPPORTED - SAP:PARSING - SAP:RETRY\_EXHAUSTED - SAP:SYSTEM\_BUSY - SAP:TIMEOUT ### [](#confirmTransactionId)Confirm Transaction `` サーバーに対してトランザクションが成功したことを確認します。
名前 型 説明 デフォルト値 必須

Configuration (設定)

String (文字列)

使用する設定の名前。

x

Transaction ID (TID) (トランザクション ID (TID))

String (文字列)

確認するトランザクションの ID。

x

Transactional Action (トランザクションアクション)

Enumeration (列挙)。次のいずれかになります。

  • ALWAYS_JOIN​

  • JOIN_IF_POSSIBLE​

  • NOT_SUPPORTED

トランザクションに関して操作で実行する結合アクションの種別。

JOIN_IF_POSSIBLE

Reconnection Strategy (再接続戦略)

接続エラーが発生した場合の再試行戦略。

#### [](#関連する設定-4)関連する設定 - [Configuration (設定)](#sap) #### [](#スロー-2)スロー - SAP:CONNECTIVITY - SAP:RETRY\_EXHAUSTED ### [](#getFunction)Get Function `` 名前に基づいて BAPIFunction を取得します。
名前 型 説明 デフォルト値 必須

Configuration (設定)

String (文字列)

使用する設定の名前。

x

Function Name (関数名)

String (文字列)

取得する関数の名前。

x

Transactional Action (トランザクションアクション)

Enumeration (列挙)。次のいずれかになります。

  • ALWAYS_JOIN​

  • JOIN_IF_POSSIBLE​

  • NOT_SUPPORTED

トランザクションに関して操作で実行する結合アクションの種別。

JOIN_IF_POSSIBLE

Streaming Strategy (ストリーミング戦略)

Mule によるストリームの処理方法を設定します。反復可能ストリームは、デフォルトの動作です。

Target Variable (対象変数)

String (文字列)

操作の出力を保存する変数の名前。

Target Value (対象値)

String (文字列)

操作の出力を評価する式。式の結果は ​[Target Variable (対象変数)]​ 項目に保存されます。

#[payload]

Reconnection Strategy (再接続戦略)

接続エラーが発生した場合の再試行戦略。

#### [](#出力-3)出力

型

Binary (バイナリ)

#### [](#関連する設定-5)関連する設定 - [Configuration (設定)](#sap) #### [](#スロー-3)スロー - SAP:CONNECTIVITY - SAP:INVALID\_CACHE - SAP:INVALID\_INPUT - SAP:METADATA\_UNAVAILABLE - SAP:NOT\_FOUND - SAP:NOT\_SUPPORTED - SAP:PARSING - SAP:RETRY\_EXHAUSTED - SAP:SYSTEM\_BUSY - SAP:TIMEOUT ### [](#retrieveIdoc)Retrieve IDoc `` キーに基づいて IDoc 構造を取得します。
名前 型 説明 デフォルト値 必須

Configuration (設定)

String (文字列)

使用する設定の名前。

x

IDoc Name (IDoc 名)

String (文字列)

IDoc を取得するために必要な情報が含まれるキー。

x

Transactional Action (トランザクションアクション)

Enumeration (列挙)。次のいずれかになります。

  • ALWAYS_JOIN​

  • JOIN_IF_POSSIBLE​

  • NOT_SUPPORTED

トランザクションに関して操作で実行する結合アクションの種別。

JOIN_IF_POSSIBLE

Streaming Strategy (ストリーミング戦略)

Mule によるストリームの処理方法を設定します。反復可能ストリームは、デフォルトの動作です。

Target Variable (対象変数)

String (文字列)

操作の出力を保存する変数の名前。

Target Value (対象値)

String (文字列)

操作の出力を評価する式。式の結果は ​[Target Variable (対象変数)]​ 項目に保存されます。

#[payload]

Reconnection Strategy (再接続戦略)

接続エラーが発生した場合の再試行戦略。

#### [](#出力-4)出力

型

Binary (バイナリ)

#### [](#関連する設定-6)関連する設定 - [Configuration (設定)](#sap) #### [](#スロー-4)スロー - SAP:CONNECTIVITY - SAP:INVALID\_CACHE - SAP:INVALID\_INPUT - SAP:METADATA\_UNAVAILABLE - SAP:NOT\_FOUND - SAP:NOT\_SUPPORTED - SAP:PARSING - SAP:RETRY\_EXHAUSTED - SAP:SYSTEM\_BUSY - SAP:TIMEOUT ### [](#send)Send IDoc `` RFC を介して IDoc を SAP に送信します。RFC は、IDoc の 2 つの種別のいずれかになります。 - トランザクション (tRFC) 非同期リモート関数コール (aRFC) の特殊な形式。 tRFC は、元々独立して処理されていた処理ステップをトランザクションのように処理します。 tRFC は、ネットワークの問題でデータが複数回送信されても、コールされた関数モジュールを RFC サーバーで 1 回のみ実行する非同期通信方法です。RFC クライアントプログラムが tRFC を実行しているときにリモートシステムが使用できる状態になっている必要はありません。tRFC コンポーネントは、コールされる RFC 関数および対応するデータを一意のトランザクション ID (TID) で SAP データベースに保存します。 tRFC は、対象システムで待機しないという点で aRFC に似ています (書留郵便に似ている)。システムが使用できる状態でない場合、スケジューラー RSARFCSE によって選択され、60 秒ごとに実行されるトランザクション ID (SM58) でデータが aRFC テーブルに書き込まれます。 tRFC は、非同期 RFC の拡張機能として、システム間の通信を保護するのに最適です。 - キュー (qRFC) tRFC の拡張機能。 qRFC では、個々のステップが順番に処理されることも保証されます。複数の LUW (作業論理単位トランザクション) がアプリケーションで指定された順序で処理されることを保証するには、qRFC を使用します。 インバウンドキューとアウトバウンドキューを使用して tRFC をシリアル化できるため、キュー RFC (qRFC) という名前になっています。 キュー (qRFC) は tRFC の拡張機能として、処理順序を定義するのに最適です。複数のトランザクションを定義済みの順序で処理する場合、qRFC を実装します。 tRFC と qRFC の両方に TID ハンドラーがあります。
名前 型 説明 デフォルト値 必須

Configuration (設定)

String (文字列)

使用する設定の名前。

x

IDoc Name (IDoc 名)

String (文字列)

実行する IDoc の名前。

x

Content (コンテンツ)

Binary (バイナリ)

実行する IDoc。

#[payload]

バージョン

String (文字列)

IDoc のバージョン。

Transaction Id (トランザクション ID)

String (文字列)

RFC が 1 回のみ実行されるように RFC を識別する ID。

Queue Name (キュー名)

String (文字列)

RFC が実行されるキューの名前。処理される各 tRFC コールにはアプリケーションによりキュー名が与えられるため、これは qRFC に適用されます。qRFC トランザクションごとにキュー名とバージョンが必要です。

IDoc Parsing Options (IDoc 解析オプション)

IDoc 解析オプション。

Transactional Action (トランザクションアクション)

Enumeration (列挙)。次のいずれかになります。

  • ALWAYS_JOIN​

  • JOIN_IF_POSSIBLE​

  • NOT_SUPPORTED

トランザクションに関して操作で実行する結合アクションの種別。

JOIN_IF_POSSIBLE

Reconnection Strategy (再接続戦略)

接続エラーが発生した場合の再試行戦略。

#### [](#関連する設定-7)関連する設定 - [Configuration (設定)](#sap) #### [](#スロー-5)スロー - SAP:CONNECTIVITY - SAP:INVALID\_CACHE - SAP:INVALID\_INPUT - SAP:METADATA\_UNAVAILABLE - SAP:NOT\_FOUND - SAP:NOT\_SUPPORTED - SAP:PARSING - SAP:RETRY\_EXHAUSTED - SAP:SYSTEM\_BUSY - SAP:TIMEOUT ### [](#startsaptransaction)Start SAP Transaction `` future コールの一部として使用するトランザクション ID を作成します。
名前 型 説明 デフォルト値 必須

Configuration (設定)

String (文字列)

使用する設定の名前。

x

Transactional Action (トランザクションアクション)

Enumeration (列挙)。次のいずれかになります。

  • ALWAYS_JOIN​

  • JOIN_IF_POSSIBLE​

  • NOT_SUPPORTED

トランザクションに関して操作で実行する結合アクションの種別。

JOIN_IF_POSSIBLE

Target Variable (対象変数)

String (文字列)

操作の出力を保存する変数の名前。

Target Value (対象値)

String (文字列)

操作の出力を評価する式。式の結果は ​[Target Variable (対象変数)]​ 項目に保存されます。

#[payload]

Reconnection Strategy (再接続戦略)

接続エラーが発生した場合の再試行戦略。

#### [](#出力-5)出力

型

String (文字列)

#### [](#関連する設定-8)関連する設定 - [Configuration (設定)](#sap) #### [](#スロー-6)スロー - SAP:CONNECTIVITY - SAP:INVALID\_CACHE - SAP:INVALID\_INPUT - SAP:METADATA\_UNAVAILABLE - SAP:NOT\_FOUND - SAP:NOT\_SUPPORTED - SAP:PARSING - SAP:RETRY\_EXHAUSTED - SAP:SYSTEM\_BUSY - SAP:TIMEOUT ### [](#syncRfc)Synchronous Remote Function Call `` 同期リモート関数コール (sRFC) を介して BAPIFunction を実行します。 sRFC では、通信またはデータ転送時に両方のシステム (クライアントとサーバー) が使用できる状態になっていることが必要です。 sRFC は、最も一般的な種別で、sRFC の実行直後に結果が求められる場合に使用されます。 sRFC は、肯定応答が必要なシステム間の通信手段です。 ソースシステムのリソースは、対象システムで待機して、ACKD でメッセージ/データが配信されることを確認します。通信データの整合性と信頼性は確保されます。対象システムが使用できる状態になっていない場合、ソースシステムのリソースは対象システムが使用できる状態になるまで待機します。これにより、ソースシステムのプロセスが対象システムでスリープ/RFC/CPIC モードになり、これらのリソースがブロックされる可能性があります。sRFC は、システム間の通信や、SAP Web アプリケーションサーバーと SAP GUI 間の通信で使用します。
名前 型 説明 デフォルト値 必須

Configuration (設定)

String (文字列)

使用する設定の名前。

x

Function Name (関数名)

String (文字列)

実行する関数の名前。

x

Content (コンテンツ)

Binary (バイナリ)

実行する BAPIFunction。

#[payload]

Transactional Action (トランザクションアクション)

Enumeration (列挙)。次のいずれかになります。

  • ALWAYS_JOIN​

  • JOIN_IF_POSSIBLE​

  • NOT_SUPPORTED

トランザクションに関して操作で実行する結合アクションの種別。

JOIN_IF_POSSIBLE

Streaming Strategy (ストリーミング戦略)

Mule によるストリームの処理方法を設定します。反復可能ストリームは、デフォルトの動作です。

Target Variable (対象変数)

String (文字列)

操作の出力を保存する変数の名前。

Target Value (対象値)

String (文字列)

操作の出力を評価する式。式の結果は ​[Target Variable (対象変数)]​ 項目に保存されます。

#[payload]

Reconnection Strategy (再接続戦略)

接続エラーが発生した場合の再試行戦略。

#### [](#出力-6)出力

型

Binary (バイナリ)

#### [](#関連する設定-9)関連する設定 - [Configuration (設定)](#sap) #### [](#スロー-7)スロー - SAP:CONNECTIVITY - SAP:INVALID\_CACHE - SAP:INVALID\_INPUT - SAP:METADATA\_UNAVAILABLE - SAP:NOT\_FOUND - SAP:NOT\_SUPPORTED - SAP:PARSING - SAP:RETRY\_EXHAUSTED - SAP:SYSTEM\_BUSY - SAP:TIMEOUT ## [](#object-types-オブジェクト種別)Object Types (オブジェクト種別) - [Expiration Policy (有効期限ポリシー)](#ExpirationPolicy) - [IDoc 解析パラメーターグループ](#IDocParseParameterGroup) - [IDoc 表示パラメーターグループ](#IDocRenderParameterGroup) - [Message Server (メッセージサーバー)](#MessageServer) - [Reconnect (再接続)](#reconnect) - [\[reconnect-forever\]](#reconnect-forever) - [Reconnection (再接続)](#Reconnection) - [Redelivery Policy (再配信ポリシー)](#RedeliveryPolicy) - [Repeatable File Store Stream (反復可能なファイルストアストリーム)](#repeatable-file-store-stream) - [Repeatable In Memory Stream (反復可能なメモリ内ストリーム)](#repeatable-in-memory-stream) - [SAP Attributes (SAP 属性)](#SapAttributes) ### [](#ExpirationPolicy)Expiration Policy (有効期限ポリシー) 有効期限ポリシー戦略を設定します。
項目 型 説明 デフォルト値 必須

Max Idle Time (最大アイドル時間)

Number (数値)

動的設定インスタンスがアイドル状態を続けられる最大時間を設定します。この時間が経過すると、Mule Runtime で期限切れに相当するとみなされます。

Time Unit (時間単位)

Enumeration (列挙)。次のいずれかになります。

  • NANOSECONDS

  • MICROSECONDS

  • MILLISECONDS

  • SECONDS

  • MINUTES

  • HOURS

  • DAYS

[Max Idle Time (最大アイドル時間)]​ 項目の時間単位。

### [](#IDocParseParameterGroup)IDoc 解析パラメーターグループ IDoc 解析オプション。
項目 型 説明 デフォルト値 必須

Parse With Field Value Checking (解析 - 項目値チェックあり)

Boolean (ブール)

解析時に各 IDoc 項目メタデータに応じた項目値チェックメカニズムを有効にするかどうかを示します。

false

Parse Ignore Unknown Fields (解析 - 不明な項目を無視)

Boolean (ブール)

古い IDoc メタデータを使用して解析している場合など、解析時に不明な項目を無視するかどうかを示します。

false

Parse Ignore Invalid Char Errors (解析 - 無効文字エラーを無視)

Boolean (ブール)

解析時に、宣言されている XML 仕様バージョンに応じた文字範囲チェックのエラーを無視するかどうかを示します。 このオプションを使用すると、項目値内の無効な文字は受け入れられますが、解析する XML ドキュメントに、有効な文字範囲外の文字が含まれる可能性があります。

false

Parse Without Field Data Type Checking (解析 - 項目データ型チェックなし)

Boolean (ブール)

解析時に各 IDoc 項目メタデータに応じた項目データ型チェックメカニズムを無効にするかどうかを示します。

このオプションは慎重に使用してください。

項目の定義済みのデータ型に違反する不正な項目コンテンツが含まれる IDoc を送信すると、AS ABAP での処理時に ABAP システムダンプが発生し、認識されない部分的なデータの損失が発生する可能性があります。

false

Parse Refuse Unknown XML Version (解析 - 不明な XML バージョンを拒否)

Boolean (ブール)

考えられる将来の XML 仕様バージョン 1.2 または 2.0 など、不明な XML 仕様バージョンを宣言している XML ドキュメントを拒否するかどうかを示します。

false

Parse Refuse XML Version10 (解析 - XML バージョン 10 を拒否)

Boolean (ブール)

XML 仕様バージョン 1.0 を使用しないまたは XML 宣言ヘッダーを含まない XML ドキュメントを拒否するかどうかを示します。

false

Parse Refuse XML Version11 (解析 - XML バージョン 11 を拒否)

Boolean (ブール)

XML 仕様バージョン 1.1 を使用する XML ドキュメントを拒否するかどうかを示します。

false

Parse Accept Only Xml Version10 (解析 - XML バージョン 10 のみを受け入れ)

Boolean (ブール)

XML 仕様バージョン 1.0 を使用するまたは XML 宣言ヘッダーを含まない XML ドキュメントのみを受け入れるかどうかを示します。

false

Parse Accept Only Xml Version11 (解析 - XML バージョン 11 のみを受け入れ)

Boolean (ブール)

XML 仕様バージョン 1.1 を使用するまたは XML 宣言ヘッダーを含まない XML ドキュメントのみを受け入れるかどうかを示します。

false

Parse Accept Only Xml Version10 To11 (解析 - XML バージョン 10 ~ 11 のみを受け入れ)

Boolean (ブール)

XML 仕様バージョン 1.0 または 1.1 を使用するまたは XML 宣言ヘッダーを含まない XML ドキュメントのみを受け入れるかどうかを示します。

false

### [](#IDocRenderParameterGroup)IDoc 表示パラメーターグループ IDoc 表示オプション。
項目 型 説明 デフォルト値 必須

Render IDoc Empty Tags (IDoc 表示 - 空のタグ)

Boolean (ブール)

結果の XML ドキュメントに空のタグをすべて含めるかどうかを示します。

false

Render IDoc Ignore Invalid Char Errors (IDoc 表示 - 無効文字エラーを無視)

Boolean (ブール)

使用されている XML 仕様バージョンに応じた文字範囲チェックのエラーを無視するかどうかを示します。

false

Render IDoc Ignore Tag Escape Errors (IDoc 表示 - タグエスケープエラーを無視)

Boolean (ブール)

使用されている IDocXML 形式に応じた XML タグ内のエスケープ文字のエラーを無視するかどうかを示します。

false

Render IDoc Omit Xml Declaration (IDoc 表示 - XML 宣言を除外)

Boolean (ブール)

結果の XML ドキュメントで XML 宣言セクションを除外するかどうかを示します。

false

Render IDoc Optional Encoding Decl (IDoc 表示 - 省略可能なエンコード宣言)

Boolean (ブール)

結果の XML ドキュメントに省略可能な XML エンコード宣言属性を書き込むかどうかを示します。

false

Render IDoc Substitute Invalid Chars (IDoc 表示 - 無効な文字を置き換え)

Boolean (ブール)

IDoc 項目値内の無効な文字を番号記号 ​#​ (​U+0023​) に置き換えるかどうかを示します。

false

Render IDoc With CR (IDoc 表示 - CR を含む)

Boolean (ブール)

結果の XML ドキュメントに ​CR​ (キャリッジリターン) 文字を挿入するかどうかを示します。

false

Render IDoc With CRLF (IDoc 表示 - CRLF を含む)

Boolean (ブール)

結果の XML ドキュメントに ​CR+LF​ (キャリッジリターンとラインフィード) 文字を挿入するかどうかを示します。

false

Render IDoc With LF (IDoc 表示 - LF を含む)

Boolean (ブール)

結果の XML ドキュメントに ​LF​ (ラインフィード) 文字を挿入するかどうかを示します。

false

Render IDoc With Tabs And CR (IDoc 表示 - タブおよび CR を含む)

Boolean (ブール)

結果の XML ドキュメントに ​TAB​ および ​CR​ (タブおよびキャリッジリターン) 文字を挿入するかどうかを示します。

false

Render IDoc With Tabs And CRLF (IDoc 表示 - タブおよび CRLF を含む)

Boolean (ブール)

結果の XML ドキュメントに ​TAB​ および ​CR+LF​ (タブおよびキャリッジリターンとラインフィード) 文字を挿入するかどうかを示します。

false

Render IDoc With Tabs And LF (IDoc 表示 - タブおよび LF を含む)

Boolean (ブール)

結果の XML ドキュメントに ​TAB​ および ​LF​ (タブおよびラインフィード) 文字を挿入するかどうかを示します。

false

Render IDoc Xml10 (IDoc 表示 - Xml10)

Boolean (ブール)

XML 仕様バージョン 1.0 に準拠する XML ドキュメントを作成するかどうかを示します。

false

Render IDoc Xml11 (IDoc 表示 - Xml11)

Boolean (ブール)

XML 仕様バージョン 1.1 に準拠する XML ドキュメントを作成するかどうかを示します。

false

### [](#MessageServer)Message Server (メッセージサーバー) 複数のゲートウェイを使用してメッセージサーバーを設定でき、​**Document Listener**​ ソースに渡すことができるため、負荷分散やパフォーマンスの向上を実現できます。詳細は、​[「複数のゲートウェイの設定」](https://docs.mulesoft.com/jp/sap-connector/5.6/sap-connector-examples#configure-multiple-gateways)​を参照してください。
項目 型 説明 デフォルト値 必須

Host (ホスト)

String (文字列)

メッセージサーバーのホスト。

x

System Id (システム ID)

String (文字列)

SAP システムのシステム ID。

x

Port (ポート)

Number (数値)

コネクタがメッセージサーバーにログインするために使用するポート。

Group (グループ)

String (文字列)

SAP アプリケーションサーバーのグループ。

Router (ルーター)

String (文字列)

ファイアウォールによって保護されるシステムに使用する SAP ルーター文字列。

### [](#reconnect)Reconnect (再接続) 標準再接続戦略を設定し、再接続の頻度と、コネクタソースまたは操作で実行できる再接続の試行回数を指定します。
項目 型 説明 デフォルト値 必須

Frequency (頻度)

Number (数値)

再接続を試行する頻度 (ミリ秒)。

Count (数)

Number (数値)

Mule アプリケーションで実行できる再接続の試行回数。

### [](#reconnect-forever-繰り返し再接続)Reconnect Forever (繰り返し再接続) Mule アプリケーションが実行されている間はコネクタソースや操作によって指定された頻度で再接続が試行される Forever 再接続戦略を設定します。
項目 型 説明 デフォルト値 必須

Frequency (頻度)

Number (数値)

再接続を試行する頻度 (ミリ秒)。

### [](#Reconnection)Reconnection (再接続) 操作の再接続戦略を設定します。
項目 型 説明 デフォルト値 必須

Fails Deployment (デプロイメントに失敗)

Boolean (ブール)

アプリケーションのデプロイ時に、関連する再接続戦略をすべて実行した後、接続テストに合格しない場合の処理:

  • true​

    デプロイの失敗を許可します。

  • false​

    接続テストの結果を無視します。

Reconnection Strategy (再接続戦略)

使用する再接続戦略。

### [](#RedeliveryPolicy)Redelivery Policy (再配信ポリシー) エラーを生成する要求を実行するための再配信ポリシーを設定します。再配信ポリシーは、フロー内のあらゆる提供元に追加できます。
項目 型 説明 デフォルト値 必須

Max Redelivery Count (最大再配信数)

Number (数値)

再配信される要求の最大処理失敗回数。この回数を超えると、​REDELIVERY_EXHAUSTED​ エラーが返されます。

Use Secure Hash (セキュアハッシュを使用)

Boolean (ブール)

再配信されたメッセージの識別にセキュアハッシュアルゴリズムを使用するかどうか。

Message Digest Algorithm (メッセージダイジェストアルゴリズム)

String (文字列)

[Use Secure Hash (セキュアハッシュを使用)]​ 項目が ​true​ の場合に使用するセキュアハッシュアルゴリズム。メッセージのペイロードが Java オブジェクトの場合、Mule ではこの値が無視され、ペイロードの ​hashCode()​ が返した値が返されます。

Id Expression (ID 式)

String (文字列)

メッセージがいつ再配信されたのかを判断する 1 つ以上の式。このプロパティは、​[Use Secure Hash (セキュアハッシュを使用)]​ 項目が ​false​ の場合にのみ設定できます。

Object Store (オブジェクトストア)

Object Store (オブジェクトストア)

各メッセージの再配信カウンターが保存されるオブジェクトストアを設定します。

### [](#repeatable-file-store-stream)Repeatable File Store Stream (反復可能なファイルストアストリーム) 反復可能なファイルストアストリーミング戦略を設定します。この戦略では、ストリームコンテンツの一部がメモリ内に格納されます。ストリームのコンテンツが、設定されたバッファサイズよりも大きい場合、Mule はバッファのコンテンツをディスクにバックアップしてからメモリをクリアします。
項目 型 説明 デフォルト値 必須

In Memory Size (メモリ内サイズ)

Number (数値)

ストリームのデータで使用できるメモリの最大量。メモリ量がこの値を超えると、コンテンツはディスクにバッファされます。パフォーマンスを最適化する方法は、次のとおりです。

  • バッファサイズを大きくすると、Mule がバッファをディスクに書き込む回数を減らせます。これによってパフォーマンスが高まりますが、より多くのメモリが必要になるため、アプリケーションが処理できる同時要求数が制限されます。

  • バッファサイズを小さくすると、メモリの負荷は低減しますが、応答時間が長くなります。

Buffer Unit (バッファ単位)

Enumeration (列挙)。次のいずれかになります。

  • BYTE (バイト)

  • KB

  • MB

  • GB

[In Memory Size (メモリ内サイズ)]​ 項目の単位。

### [](#repeatable-in-memory-stream)Repeatable In Memory Stream (反復可能なメモリ内ストリーム) データが最大バッファサイズを超えた場合に要求が失敗するメモリ内ストリーミング戦略を設定します。ユースケースで最適なバッファサイズは、必ずパフォーマンステストを実施して決めてください。
項目 型 説明 デフォルト値 必須

Initial Buffer Size (初期バッファサイズ)

Number (数値)

データストリームに割り当てるメモリの初期容量。ストリーミングされたデータがこの値を超える場合は、​[Buffer Size Increment (バッファサイズ増分)]​ の単位で ​[Max In Memory Size (最大メモリ内サイズ)]​ 値を上限としてバッファが拡張されます。

Buffer Size Increment (バッファサイズ増分)

Number (数値)

バッファサイズが初期サイズを超えた場合に、拡張する量。値を ​0​ またはそれ以下に設定すると、バッファは拡張されません。

Max Buffer Size (最大バッファサイズ)

Number (数値)

使用するメモリの最大量。これを超えると、​STREAM_MAXIMUM_SIZE_EXCEEDED​ エラーが発生します。0 以下の値は無制限を意味します。

Buffer Unit (バッファ単位)

Enumeration (列挙)。次のいずれかになります。

  • BYTE (バイト)

  • KB

  • MB

  • GB

[Initial Buffer Size (初期バッファサイズ)]​ 項目、​[Buffer Size Increment (バッファサイズ増分)]​ 項目、​[Buffer Unit (バッファ単位)]​ 項目の単位。

### [](#SapAttributes)SAP Attributes (SAP 属性) SAP ペイロードの属性。
項目 型 説明 デフォルト値 必須

Transaction Id (トランザクション ID)

String (文字列)

トランザクション ID の値。

## [](#関連情報)関連情報 - [Anypoint Connector の概要](https://docs.mulesoft.com/connectors/introduction/introduction-to-anypoint-connectors) - [MuleSoft ヘルプセンター](https://help.mulesoft.com) # SAP Connector 5.7 SAP 用 Anypoint Connector (SAP Connector) を使用すると、SAP NetWeaver に基づいてデータを外部システムと統合できます。 このコネクタを使用するには、個別のライセンスが必要です。このコネクタを評価したり、本番環境で使用したりするには、MuleSoft にお問い合わせください。 Mule Runtime Engine (Mule) では、SAP 用 Anypoint Connector (SAP Java Connector (JCo) ライブラリを利用する SAP 認定 Java Connector) を介した SAP インテグレーションがサポートされます。SAP JCo により、SAP バックエンドシステムと Java アプリケーション間の通信が促進されます。Java プログラムは、SAP システムに接続して、Remote Function Module を起動できるようになります。また、オブジェクト型が異なっていても IDoc (SAP 中間ドキュメント) を解析できるようになります。SAP 設定では、インバウンド通信とアウトバウンド通信の両方がサポートされます。 SAP JCo ライブラリを使用すると、Mule アプリケーションで次のことができます。 - 次の種別の RFC プロトコルを介して BAPI 関数を実行する。 - Synchronous Remote Function Call RFC (sRFC) - Asynchronous Remote Function Call RFC (aRFC) - sRFC および aRFC を介して BAPI としてコールされる JCo サーバーとして動作する。 - tRFC および qRFC を介して IDoc を送信する。 - tRFC および qRFC を介して IDoc を受信する。 - SAP オブジェクト (BAPI および IDoc では JCo 関数) と XML 間の変換を行う。 SAP の頭字語については、​[「SAP 用語」](https://docs.mulesoft.com/jp/sap-connector/5.7/sap-connector-terminology)​を参照してください。 ## [](#始める前に)始める前に このコネクタを使用するには、以下に精通している必要があります。 - SAP Connector の API - Anypoint Connector - Mule Runtime Engine (Mule) - Mule フローの要素とグローバル要素 - Anypoint Studio (Studio) を使用した Mule アプリケーションの作成 アプリケーションを作成する前に、以下が必要です。 - SAP の対象リソースにアクセスするためのログイン情報 - 必要な RFC、BAPI、および IDoc を使用できるロールまたはプロファイルを持つサービスユーザー。 - SAP ビジネスコンテキスト (特に SAP R/3 ビジネススイート) の実践的な知識 - 管理的な観点からの SAP NetWeaver プラットフォームの基本的な理解 - ABAP 言語の知識 - 必要な SAP ライブラリをダウンロードするための SAP ID - NetWeaver アプリケーションサーバー (NWAS) に接続するための RFC プロトコルの使用 [ECC](http://www.cipherbsc.com/solutions/sap-erp-central-component-erp-ecc/)​ および [CRM](https://help.sap.com/viewer/p/SAP_CUSTOMER_RELATIONSHIP_MANAGEMENT)​ は、他の SAP ソリューションと同様に NWAS 上で実行されるため、コネクタを使用するユーザーはこれらのシステムにアクセスできます。 - Anypoint Studio を使用した Mule アプリケーションの作成方法に関する知識 アプリケーションを作成する前に、SAP Web サイトにアクセスし、IDoc、JCO、JCO Native のバージョン 3.1.x ライブラリを、使用するコンピューターのフォルダーにダウンロードします。 Studio 7 では、変換することなくライブラリ形式を直接使用できます。 ## [](#コネクタの一般的なユースケース)コネクタの一般的なユースケース SAP Connector の一般的なユースケースを次に挙げます。 - **エンタープライズリソースの統一されたビュー** 財務会計、資材管理、販売と流通、顧客サービスのビジネスでデジタル情報のリアルタイムインテグレーションを有効にして、コアビジネスプロセスを最適化するデータ主導の意思決定を行います。 - **データ同期** SAP データを Salesforce、Workday、Marketo などのビジネスアプリケーションと同期します。たとえば、SAP の多数のアカウントを Salesforce に移行したり、SAP の組織の変更をリアルタイムに Workday にブロードキャストしたりできます。 - **販売注文の自動化** SAP ERP と CRM (Salesforce など) 間の販売注文プロセスを自動化します。 - **BAPI のサポート** BAPI の検出、BAPI/RFM 対応の関数モジュールの照会、BAPI 関数の実行などを行います。 - **IDoc インテグレーション** SAP の IDoc の送受信、IDoc のインポート、SAP オブジェクトと XML の変換を行います。 これらのユースケースの例については、​[「SAP Connector の例」](https://docs.mulesoft.com/jp/sap-connector/5.7/sap-connector-examples)​を参照してください。 ## [](#認証種別)認証種別 SAP Connector 接続では、次の認証種別を使用します。 - Certificate (証明書) X509 証明書を使用してユーザーを認証する接続プロバイダー。 - Kerberos Kerberos プロトコルを実装してユーザーを認証および承認する接続プロバイダー。 - Simple Connection Provider ユーザー名とパスワードを使用して接続する接続プロバイダー。 ## [](#exchange-テンプレートおよび例)Exchange テンプレートおよび例 [Anypoint Exchange](https://www.mulesoft.com/exchange/)​ は、アプリケーションのスタートポイントとして使用できるテンプレートと、完全なソリューションを具体的に示した例を提供しています。 - **一般:**​ [「Account System API - SAP Implementation Template (アカウントシステム API - SAP 実装テンプレート)」](https://www.mulesoft.com/exchange/org.mule.templates/template-apiled-system-account-sap/)​、 [「Salesforce to Salesforce, Workday, SAP, and Database Account Broadcast (Salesforce to Salesforce、Workday、SAP、データベースアカウントのブロードキャスト)」](https://www.mulesoft.com/exchange/org.mule.templates/template-sfdc2sfdc.wday.sap.db-account-broadcast/) - **Salesforce と SAP:**​ [「Account Aggregation (取引先の集計)」](https://www.mulesoft.com/exchange/org.mule.templates/template-sap2sfdc-account-aggregation/)​、 [「Account Customer Bidirectional Sync (取引先の顧客の双方向同期)」](https://www.mulesoft.com/exchange/org.mule.templates/template-sap2sfdc-customer-bidirectional-sync/)​、 [「Opportunity Aggregation (商談の集計)」](https://www.mulesoft.com/exchange/org.mule.templates/template-sfdc2sap-opportunity-aggregation/)​、 [「Product Aggregation (商品の集計)」](https://www.mulesoft.com/exchange/org.mule.templates/template-sfdc2sap-product-aggregation/)​、 [「Product Bidirectional Sync (商品の双方向同期)」](https://www.mulesoft.com/exchange/org.mule.templates/template-sfdc2sap-product-bidirectional-sync/) - **Salesforce から SAP:**​ [「Account Broadcast (取引先のブロードキャスト)」](https://www.mulesoft.com/exchange/org.mule.templates/template-sfdc2sap-account-broadcast/)​、 [「Account Migration (取引先の移行)」](https://www.mulesoft.com/exchange/org.mule.templates/template-sfdc2sap-account-migration/)​、 [「Opportunity Broadcast (商談のブロードキャスト)」](https://www.mulesoft.com/exchange/org.mule.templates/template-sfdc2sap-opportunity-broadcast/)​、 [「Opportunity Migration (商談の移行)」](https://www.mulesoft.com/exchange/org.mule.templates/template-sfdc2sap-opportunity-migration/)​、 [「Product Broadcast (商品のブロードキャスト)」](https://www.mulesoft.com/exchange/org.mule.templates/template-sfdc2sap-product-broadcast/) - **SAP から Salesforce:**​ [「Contact Broadcast (取引先責任者のブロードキャスト)」](https://www.mulesoft.com/exchange/org.mule.templates/template-sap2sfdc-contact-broadcast/)​、 [「Contact Migration (取引先責任者の移行)」](https://www.mulesoft.com/exchange/org.mule.templates/template-sap2sfdc-contact-migration/)​、 [「Customer Broadcast (顧客のブロードキャスト)」](https://www.mulesoft.com/exchange/org.mule.templates/template-sap2sfdc-customer-broadcast/)​、 [「Customer Migration (顧客の移行)」](https://www.mulesoft.com/exchange/org.mule.templates/template-sap2sfdc-customer-migration/)​、 [「Product Material Broadcast (商品材料のブロードキャスト)」](https://www.mulesoft.com/exchange/org.mule.templates/template-sap2sfdc-product-broadcast/)​、 [「Product Material Migration (商品材料の移行)」](https://www.mulesoft.com/exchange/org.mule.templates/template-sap2sfdc-material-migration/) - **SAP から Workday:**​ [「Employee Migration (従業員の移行)」](https://www.mulesoft.com/exchange/org.mule.templates/template-sap2wday-employee-migration/)​、 [「Organization Broadcast (組織のブロードキャスト)」](https://www.mulesoft.com/exchange/org.mule.templates/template-sap2wday-organization-broadcast/)​、 [「Organization Migration (組織の移行)」](https://www.mulesoft.com/exchange/org.mule.templates/template-sap2wday-organization-migration/) - **Workday と SAP:**​ [「Organization Aggregation (組織の集計)」](https://www.mulesoft.com/exchange/org.mule.templates/template-wday2sap-organization-aggregation/)​、 [「Worker (Employee) Aggregation (作業員 (従業員) の集計)」](https://www.mulesoft.com/exchange/org.mule.templates/template-wday2sap-worker-aggregation/) - **Workday から SAP:**​ [「Worker (Employee) Migration (作業員 (従業員) の移行)」](https://www.mulesoft.com/exchange/org.mule.templates/template-wday2sap-worker2employee-migration/)​、 [「Worker Broadcast (作業員のブロードキャスト)」](https://www.mulesoft.com/exchange/org.mule.templates/template-wday2sap-worker-broadcast/) ## [](#次のステップ)次のステップ 前提条件を満たし、テンプレートおよびサンプルを試したら、​[Anypoint Studio](https://docs.mulesoft.com/jp/sap-connector/5.7/sap-connector-studio)​ でアプリケーションを作成できます。 ## [](#関連情報)関連情報 - [Anypoint Connector の概要](https://docs.mulesoft.com/connectors/introduction/introduction-to-anypoint-connectors) - [Anypoint Exchange の SAP Connector](https://www.mulesoft.com/exchange/com.mulesoft.connectors/mule-sap-connector/) - [MuleSoft ヘルプセンター](https://help.mulesoft.com) # SAP Connector 5.7 の Studio 設定 SAP Connector をインストールし、Anypoint Studio でコネクタを設定します。 まず、SAP から取得した SAP Java Connector (JCo) ライブラリをインストールします。これで、1 つ以上の SAP Connector 操作を含むアプリケーションを作成できます。Studio を使用すると、アプリケーションを作成して、そのアプリケーションにブラウザーからアクセスできます。 Anypoint Studio で SAP Connector を設定する手順は、次のとおりです。 1. コネクタを Mule プロジェクトに追加します。 2. SAP Connector を設定します。 3. コネクタの入力元を設定します。 ## [](#add-connector-to-project)コネクタを Mule プロジェクトに追加する SAP Connector を Mule プロジェクトに追加して、XML コードにコネクタの名前空間およびスキーマの場所を自動的に入力し、プロジェクトの ​`pom.xml`​ ファイルに必須の連動関係を追加します。 1. **\[Mule Palette (Mule パレット)\]**​ ビューで、​**\[(X) Search in Exchange ((X) Exchange 内を検索)\]**​ をクリックします。 2. **\[Add Dependencies to Project (連動関係をプロジェクトに追加)\]**​ ウィンドウで、検索項目に「​`sap`​」と入力します。 3. **\[Available modules (使用可能なモジュール)\]**​ で ​**\[SP Connector\]**​ をクリックします。 4. **\[Add (追加)\]**​ をクリックします。 5. **\[Finish (完了)\]**​ をクリックします。 Studio でコネクタを Mule プロジェクトに追加しても、Studio ワークスペースの他のプロジェクトはそのコネクタを使用できません。 ## [](#ソース操作を選択する)ソース操作を選択する 1. Anypoint Studio で ​**\[Mule Palette (Mule パレット)\]**​ をクリックして、「​`sap`​」と入力します。 2. 操作を選択します。 SAP からオブジェクトが送信されたときにアプリケーションを開始する場合、次のいずれかの操作を選択し、操作を Studio キャンバスの ​**\[Source (ソース)\]**​ 領域にドラッグします。 - **Document source**​ は IDoc の変更をリスンします。IDoc が変更されると、アプリケーションが実行されます。 - **Function source**​ は SAP 関数モジュールの変更をリスンします。対象の関数モジュールが変更されると、アプリケーションが実行されます。 項目値については、​[「SAP Connector リファレンス」](https://docs.mulesoft.com/jp/sap-connector/5.7/sap-connector-reference)​を参照してください。 **Document source**​ 操作または ​**Function source**​ 操作を選択した場合は、次のセクションに進んで SAP ライブラリをインストールします。 3. 代わりに、​**HTTP リスナー**​や​**スケジューラー**​など、このコネクタの入力元を設定して、操作を Studio キャンバスにドラッグすることもできます。 HTTP リスナーを使用すると、ブラウザーからアプリケーションを開始できます。スケジューラーは特定の時間にアプリケーションを開始します。 4. SAP ライブラリをインストールします。 ## [](#sap-ライブラリをインストールする)SAP ライブラリをインストールする Mule プロジェクトで SAP ライブラリを使用するには、まずライブラリをコンピューターにダウンロードする必要があります。Anypoint Studio では 3 つのライブラリを変換せずに直接使用できます。ライブラリをダウンロードするには、SAP ID が必要です。 各ライブラリのファイル種別は、オペレーティングシステムによって異なります。
OS ファイル種別

Windows

  • sapidoc3.jar

  • sapjco3.jar

  • sapjco3.dll

Mac OS

  • sapidoc3.jar

  • sapjco3.jar

  • libsapjco3.jnilib

Linux

  • sapidoc3.jar

  • sapjco3.jar

  • libsapjco3.so

SAP Connector では、SAP JCo ライブラリバージョン 3.0.x および 3.1.x がサポートされています。
ライブラリをインストールしたら、グローバル要素プロパティをカスタマイズして、接続をテストできます。 ## [](#anypoint-studio-でライブラリを設定する)Anypoint Studio でライブラリを設定する SAP Connector を Studio にインストールして、コネクタを Mule プロジェクトに追加したら、ライブラリを設定します。 1. フローでコネクタをダブルクリックします。 2. **\[Connector Configuration (コネクタ設定)\]**​ 項目の右にあるプラス記号 (​**+**​) をクリックします。 次の画面が表示されます。 ![sap connector configuration 01](/mulesoft/current/ja-jp/sap-connector/5.7/_images/sap-connector-configuration-01.png) ### [](#idoc-ライブラリをインストールする)IDOC ライブラリをインストールする 1. **\[Add Dependency (連動関係を追加)\]**​ をクリックします。 2. **\[Install (インストール)\]**​ をクリックします。 ![sap connector configuration 02](/mulesoft/current/ja-jp/sap-connector/5.7/_images/sap-connector-configuration-02.png) 3. **\[Install (インストール)\]**​ メニューで、​**\[Browse (参照)\]**​ をクリックして、ライブラリファイルを見つけます。 4. 一意のグループ ID、アーティファクト ID、バージョンを指定します。 ![sap connector configuration 02 in](/mulesoft/current/ja-jp/sap-connector/5.7/_images/sap-connector-configuration-02-in.png) 5. **\[Finish (完了)\]**​ をクリックするか、キャンセルする場合は、​**\[Remove Dependency (連動関係を削除)\]**​ をクリックします。 ![sap connector configuration 02 finish](/mulesoft/current/ja-jp/sap-connector/5.7/_images/sap-connector-configuration-02-finish.png) ### [](#jco-ライブラリをインストールする)JCO ライブラリをインストールする 1. **\[Add Dependency (連動関係を追加)\]**​ をクリックします。 2. **\[Install (インストール)\]**​ をクリックします。 ![sap connector configuration 02](/mulesoft/current/ja-jp/sap-connector/5.7/_images/sap-connector-configuration-02.png) 3. **\[Install (インストール)\]**​ メニューで、​**\[Browse (参照)\]**​ をクリックして、ライブラリファイルを見つけます。 4. 一意のグループ ID、アーティファクト ID、バージョンを指定します。 ![sap connector configuration 03 in](/mulesoft/current/ja-jp/sap-connector/5.7/_images/sap-connector-configuration-03-in.png) 5. **\[Finish (完了)\]**​ をクリックするか、キャンセルする場合は、​**\[Remove Dependency (連動関係を削除)\]**​ をクリックします。 ![sap connector configuration 03 finish](/mulesoft/current/ja-jp/sap-connector/5.7/_images/sap-connector-configuration-03-finish.png) ### [](#jco-native-ライブラリをインストールする)JCO Native ライブラリをインストールする 1. **\[Add Dependency (連動関係を追加)\]**​ をクリックします。 2. **\[Install (インストール)\]**​ をクリックします。 ![sap connector configuration 02](/mulesoft/current/ja-jp/sap-connector/5.7/_images/sap-connector-configuration-02.png) 3. **\[Install (インストール)\]**​ メニューで、​**\[Browse (参照)\]**​ をクリックして、ライブラリファイルを見つけます。 MacOS では、JCO バージョン 3.1.2 以降、ネイティブライブラリの拡張子が ​`jnilib`​ から ​`dylib`​ に変更されました。 1. ローカルマシンからライブラリをインストールした後: 2. **\[Shared Folder (共有フォルダー)\]**​ ウィンドウの一番下に移動します。 3. **\[Any (任意)\]**​ を選択して、​`dylib`​ ネイティブライブラリを選択します。 4. **\[Install file into local repository (ローカルリポジトリにファイルをインストール)\]**​ ウィンドウで、次の項目の値を入力します。 - **Group ID (グループ ID)** - **Artifact ID (アーティファクト ID)** - **Version (バージョン)** 4. 一意のグループ ID、アーティファクト ID、バージョンを指定します。 ![sap connector configuration 04 in](/mulesoft/current/ja-jp/sap-connector/5.7/_images/sap-connector-configuration-04-in.png) 5. **\[Finish (完了)\]**​ をクリックするか、キャンセルする場合は、​**\[Remove Dependency (連動関係を削除)\]**​ をクリックします。 ![sap connector configuration 04 finish](/mulesoft/current/ja-jp/sap-connector/5.7/_images/sap-connector-configuration-04-finish.png) ライブラリのインストールが終了したら、正常にインストールされた各ライブラリに緑色のチェックマークが付いた次のような設定画面が表示されます。 ![sap connector libraries installed](/mulesoft/current/ja-jp/sap-connector/5.7/_images/sap-connector-libraries-installed.png) ## [](#接続をテストする)接続をテストする 1. SAP ログインにサインインして必要な情報を取得し、​[Studio での設定](#gepparms)​の説明に従って、残りの ​**\[Global Element Properties (グローバル要素プロパティ)\]**​ 項目を設定します。 2. **\[Test Connection (接続をテスト)\]**​ をクリックして、ログイン情報が正しいことを確認します。 ## [](#コネクタの設定)コネクタの設定 Mule プロジェクトに複数の SAP Connector インスタンスがある場合、グローバル SAP 要素を作成できます。SAP Connector オブジェクトには、SAP サーバーに接続できるようにする設定プロパティが保持されています。 SAP Connector の設定を作成する手順は、次のとおりです。 1. **\[Global Elements (グローバル要素)\]**​ セクションに移動し、​**\[Create (作成)\]**​ をクリックします。 2. **\[Connector Configuration (コネクタ設定)\]**​ セクションで ​**\[SAP Inbound (SAP インバウンド)\]**​ または ​**\[SAP Outbound (SAP アウトバウンド)\]**​ のいずれかを選択します。 3. **\[General (一般)\]**​ タブペインで、SAP 接続を定義するのに必要なパラメーターを入力します。これは、SAP システム管理者が提供できます。 SAP グローバル要素プロパティにより、接続プロパティを定義したり、必要な SAP 連動関係をプロジェクトに追加したりできます。 SAP Connector では、使いやすいように最も一般的なプロパティのみがコネクタパラメーターとして表示されます。​**\[Properties (プロパティ)\]**​ パネルにリストされていないプロパティを設定するには、​[「拡張プロパティの定義」](https://docs.mulesoft.com/jp/sap-connector/5.7/sap-connector-config-topics)​トピックを参照してください。 最低限定義する必要のある属性は次のとおりです。
項目 説明

Application Server Host (アプリケーションサーバーホスト)

SAP エンドポイント。

Username (ユーザー名)

認証された SAP ユーザーのユーザー名。

Password (パスワード)

認証された SAP ユーザーのパスワードログイン情報。

System Number (システム番号)

SAP システムに接続するために使用されるシステム番号。

Client (クライアント)

SAP システムに接続するために使用される SAP クライアント ID (通常は数値)。

Login Language (ログイン言語)

SAP 接続で使用される言語。たとえば、英語の場合は ​EN​ になります。

プロパティプレースホルダー構文は簡単かつ再利用可能な方法であるため、この方法を使用してログイン情報を読み込むことをお勧めします。 SAP インスタンスへの接続が正しいことを確認するには、​**\[Test Connection (接続をテスト)\]**​ をクリックします。ログイン情報が正しければ、​`Test Connection Successful`​ というメッセージが表示されます。 ## [](#view-app-log)アプリケーションログの表示 問題を確認するため、アプリケーションログを次の方法で表示できます。 - アプリケーションを Anypoint Platform から実行している場合、出力は Anypoint Studio のコンソールウィンドウに表示される。 - コマンドラインから Mule を使用してアプリケーションを実行している場合、アプリケーションログは OS コンソールに表示される。 アプリケーションのログファイル (​`log4j2.xml`​) でログファイルパスがカスタマイズされていない場合、デフォルトの場所 ​`MULE_HOME/logs/.log`​ でアプリケーションログを表示することもできます。 ## [](#次のステップ)次のステップ Studio でこのコネクタを設定したら、​[「追加設定情報」](https://docs.mulesoft.com/jp/sap-connector/5.7/sap-connector-config-topics)​トピックで設定に関する他のトピックを参照してください。 ## [](#関連情報)関連情報 - [Anypoint Connector の概要](https://docs.mulesoft.com/connectors/introduction/introduction-to-anypoint-connectors) - [MuleSoft ヘルプセンター](https://help.mulesoft.com) # SAP Connector 5.7 の XML と Maven のサポート XML で Mule アプリケーションを手動でコーディングすることもできますが、Anypoint Studio を使用した方が効率的です。 Anypoint Studio の XML エディターまたはテキストエディターから Mule Runtime Engine (Mule) アプリケーションを手動でコーディングする場合、参照ステートメントを XML Mule フローと Apache Maven ​`pom.xml`​ ファイルの両方に追加することで、アプリケーションからコネクタにアクセスできます。 Studio でコネクタを追加すると、Studio は自動的に XML コードにコネクタの名前空間およびスキーマの場所を入力し、​`pom.xml`​ ファイルに連動関係を追加します。 ## [](#コネクタの名前空間の追加)コネクタの名前空間の追加 次のコードを設定 XML のヘッダーの ​``​ タグ内に貼り付けます。 ```xml http://www.mulesoft.org/schema/mule/sap http://www.mulesoft.org/schema/mule/sap/current/mule-sap.xsd ``` 次の例は、​``​ XML ブロック内に名前空間ステートメントが配置される方法を示しています。 ```xml ="http://www.mulesoft.org/schema/mule/" xmlns:ee="http://www.mulesoft.org/schema/mule/ee/core" xmlns:http="http://www.mulesoft.org/schema/mule/http" xmlns:file="http://www.mulesoft.org/schema/mule/file" 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/file http://www.mulesoft.org/schema/mule/file/current/mule-file.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"> ``` ## [](#pom-ファイルの連動関係の追加)POM ファイルの連動関係の追加 Apache Maven ​`pom.xml`​ ファイルは Anypoint Studio によって生成され、Mule アプリケーションの連動関係が含まれます。Mule アプリケーションを手動でコーディングする場合、次の XML スニペットを ​`pom.xml`​ ファイルに含めてこのコネクタにアクセスできるようにします: ```xml com.mulesoft.connectors mule-sap-connector x.x.x mule-plugin ``` `x.x.x`​ を使用しているコネクタに対応するバージョンに置き換えます。 JCo ライブラリをサポートするために、次の連動関係を追加します。 ```xml org.mule.tools.maven mule-maven-plugin ${mule.maven.plugin.version} true com.sap.conn.jco com.sap.conn.jco.sapjco3 com.sap.conn.idoc com.sap.conn.idoc.sapidoc3 com.sap.conn.jco com.sap.conn.jco.libsapjco3 ``` 最新の ​`pom.xml`​ ファイル情報を取得する手順は、次のとおりです。 1. [Anypoint Exchange](https://www.mulesoft.com/exchange/)​ に移動します。 2. Exchange で、​**\[Login (ログイン)\]**​ をクリックし、Anypoint Platform のユーザー名とパスワードを指定します。 3. Exchange で、「​`sap`​」を検索します。 4. コネクタを選択します。 5. 画面の右上付近にある ​**\[Dependency Snippets (連動関係スニペット)\]**​ をクリックします。 ## [](#次のステップ)次のステップ 名前空間および ​`pom.xml`​ ファイルを完了したら、SAP の​[例](https://docs.mulesoft.com/jp/sap-connector/5.7/sap-connector-examples)​を試すことができます。 ## [](#関連情報)関連情報 - [Anypoint Connector の概要](https://docs.mulesoft.com/connectors/introduction/introduction-to-anypoint-connectors) - [MuleSoft ヘルプセンター](https://help.mulesoft.com) # SAP Connector 5.7 のトラブルシューティング SAP 用 Anypoint Connector (SAP Connector) をトラブルシューティングするには、全般的なトラブルシューティングの実行、一般的な特定エラーへの対応、そして一般的にスローされる例外メッセージの解釈について理解しておく必要があります。 Unresolved include directive in modules/ROOT/pages/sap-connector-troubleshooting.adoc - include::connectors::partial$verbose-exception-logs.adoc\[\] Unresolved include directive in modules/ROOT/pages/sap-connector-troubleshooting.adoc - include::connectors::partial$verbose-logs-com.adoc\[\] ## [](#全般的なトラブルシューティングの実行)全般的なトラブルシューティングの実行 SAP Connector の全般的なトラブルシューティングガイドラインは次のとおりです。 - [ログファイルを確認する](#check-log-files) - [JCo トレースを有効にする](#enable-jco-trace) ### [](#check-log-files)ログファイルを確認する Mule では (アプリケーションごとに) ログファイルが ​`$MULE_HOME\logs`​ ディレクトリに保存されます。 - `mule.log` デフォルトの Mule ログファイル - `mule-app-YOUR_APP_NAME.log` アプリケーションごとのログファイル ### [](#enable-jco-trace)JCo トレースを有効にする JCo トレースは Mule の外部から有効にできます。JCo トレースは次の Java 起動環境プロパティを受け入れます。 - `-Djco.trace_level=N` `N`​ は ​`0`​ ~ ​`10`​ で、​`10`​ は最も詳細なトレース - `-Djco.trace_path=` 省略可能 JCo は ​`0`​ (デフォルト) ~ ​`10`​ のトレースレベルをサポートします。 トレースレベルが高いほど、トレースデータの量が増加します。各トレースレベルには、下位のトレースレベルのすべてのトレースデータも含まれます。多くの JCo コールと転送されるコンテンツで高い JCo トレースレベルを使用する場合は、十分なディスク容量が使用可能であることを確認してください。 コネクタレベルでトレースを有効にする手順は、次のとおりです。 1. 属性 ​`jcoTrace`​ を ​`true`​ に設定するか、値 ​`1`​ の拡張 JCo プロパティ ​`jco.client.trace`​ または ​`jco.server.trace`​ を指定します。 2. Mule の起動時に ​`-Djco.trace_level=N`​ の値を指定します。
トレースレベル AS Java セキュリティレベル JCo 3 トレースコンテンツ

0

NONE

トレースなし

1

ERROR

JCo バージョンとランタイム環境情報、およびアプリケーションエラーを含まない JCo 内部エラーと例外

2

WARNING

JCo 警告メッセージ (ABAP 以外のシステム例外など)

3

INFO

JCo 情報メッセージ (ABAP 例外など)

4

PATH

RFC コールおよび重要な公開 API コール

5

DEBUG

重要な内部ミドルウェアコール
コードページ情報

6

DEBUG

接続属性
ASCII コンテンツデータ (構造の最初の 1000 文字またはテーブルの最初の 5 行)

7

DEBUG

RFC メタデータ (名前、型、オフセット、長さ、インポートおよびエクスポートオプション、およびコンテンツデータのその他の 16 進数値を含む)

8

DEBUG

完全なコンテンツデータダンプ (文字または行の制限なし)
コール元のスタックトレース情報 (たとえば、​getClient()​ はアプリケーションを識別します)

9

DEBUG

追加情報なし (将来の使用のために予約済み)

10

DEBUG

追加情報なし (将来の使用のために予約済み)

3. 必要に応じて、​`-Djco.trace_path=`​ の値を指定します。通常、これは、トレースファイルが保存されている既存のディレクトリへの完全パスですが、他の特別な値を適用できます。 - `stdout` JCo トレース情報は標準​**出力**​ストリームに送信されます。 - `stderr` JCo トレース情報は標準​**エラー**​ストリームに送信されます。 `-Djco.trace_path`​ を設定しない場合、トレースファイルは作業ディレクトリに保存されます。Mule スタンドアロンインスタンスの場合、通常は ​`$MULE_HOME/bin`​ フォルダーになります。 ## [](#一般的なエラーのトラブルシューティング)一般的なエラーのトラブルシューティング SAP Connector の一般的なエラーとその解決方法のリストを次に示します。 - [JCo ライブラリの欠落](#missing-jco-libraries) - [JCo クラスローダーの競合](#jco-classloader-conflicts) - [JCo バージョンの競合](#jco-version-conflicts) - [JCo 名前変更の競合](#jco-renaming-conflicts) - [メッセージが SAP オブジェクトではない](#message-not-an-sap-object) - [IDoc メタデータを使用できない](#idoc-metadata-unavailable) - [TID ハンドラーの欠落](#missing-tid-handler) - [パラメーターがサポートされていない](#parameter-not-supported) - [複数の JCo サーバーが実行されている](#multiple-jco-servers-running) ### [](#missing-jco-libraries)JCo ライブラリの欠落 通常、1 つ以上の必須の SAP JCo 連動関係を読み込まずに接続のテストや Mule アプリケーションのデプロイを実行した場合にこのエラーが発生します。 - JCo ネイティブライブラリの欠落 ```text java.lang.ExceptionInInitializerError: JCo initialization failed with java.lang.UnsatisfiedLinkError: no sapjco3 in java.library.path ``` - JCo JAR の欠落 java.lang.NoClassDefFoundError: com/sap/conn/jco/JCoTraceListener - IDoc JAR の欠落 java.lang.NoClassDefFoundError: com/sap/conn/idoc/IDocMetaDataUnavailableException ![ライブラリが欠落している SAP 設定タブ](/mulesoft/current/ja-jp/sap-connector/5.7/_images/sap-connector-missing-libraries.png) このエラーを解決する手順は、次のとおりです。 1. **\[Required Libraries (必須ライブラリ)\]**​ セクションで、赤い感嘆符アイコンが付いている連動関係の横にある ​**\[Configure (設定)\]**​ をクリックします。 2. 連動関係を参照し、適切なファイルを選択します。 欠落している連動関係がプロジェクトのクラスパスに自動的に追加されます。
Package Explorer​ で、プロジェクトを右クリックし、​[Build Path (ビルドパス)] > [Configure Build Path (ビルドパスを設定)]​ に移動すると、プロジェクトのビルドパス内のライブラリが表示されます。
### [](#jco-classloader-conflicts)JCo クラスローダーの競合 ネイティブライブラリをグローバル設定から読み込むと、ファイルのコピーが ​`$YOUR_APP/src/main/app/lib`​ 内に配置されますが、ソースファイルは削除されません。そのため、接続のテストやアプリケーションのデプロイを実行するときに、ネイティブライブラリが JCo JAR ファイルと同じディレクトリを共有していると、次のエラーが発生します。 ```text java.lang.ExceptionInInitializerError: JCo initialization failed with java.lang.UnsatisfiedLinkError: Native Library /home/mule/sap-errors/lib/jco/libsapjco3.so already loaded in another classloader ``` ![SAP エラー、JCo クラスローダーフォルダー](/mulesoft/current/ja-jp/sap-connector/5.7/_images/sap-error-jco-classloader-folder.png) このエラーを解決する手順は、次のとおりです。 次のいずれかの解決策を選択します。最初の解決策は最も簡単ですが、2 番目の解決策をベストプラクティスとしてお勧めします。 - JCo JAR ファイルが存在するディレクトリから​_重複する_​ネイティブライブラリファイルを削除します。 ![SAP エラー、JCo クラスローダーの修正](/mulesoft/current/ja-jp/sap-connector/5.7/_images/sap-error-jco-classloader-fix.png) - ダイナミックリンクライブラリを保持するように環境変数 ​`LD_LIBRARY_PATH`​ を設定し、同じ Mule Runtime サーバー内にデプロイされている複数のアプリケーションでその環境変数を共有します。 ### [](#jco-version-conflicts)JCo バージョンの競合 次のエラーの最も多い原因は、異なるバージョンのネイティブライブラリと JCo JAR ファイルが使用されていることです。 ```text java.lang.ExceptionInInitializerError: Native library sapjco3 is too old. Found library System-defined path to libsapjco3.so has version "720.612", but required is at least version "720.713". ``` このエラーを解決するには、次の要件が満たされていることを確認します。 - 64 ビットモードで動作する JVM では 64 ビット JCo が必要で、32 ビットモードで動作する JVM では 32 ビット JCo が必要です。 - Microsoft Windows では、JCo には Microsoft Visual Studio 2005 C/C++ ランタイムライブラリが必要です。 - `sapjco.jar`​ と、​`sapjco3.dll`​、​`sapjco3.so`​、および ​`sapjco3.jnilib`​ のいずれかの両方が​**同じ JCo パッケージ**​から取得されている必要があります。 使用している JCo ライブラリのバージョンを確認するには、次のいずれかを実行します。 - Windows (UI): 1. `sapjco3.jar`​ ファイルが配置されているディレクトリに移動します。 2. `sapjco3.jar`​ ファイルを右クリックします。 3. コンテキストメニューから ​**\[プログラムから開く\]**​ を選択します。 4. **\[Java 2 Platform Standard Edition\]**​ バイナリをクリックします。 5. 表示された JCo ダイアログに表示されている情報を確認します。 - Mac: 1. ターミナルウィンドウを開きます。 2. `sapjco3.jar`​ ファイルが配置されているディレクトリに移動します。 3. コマンド ​`java -jar sapjco3.jar -version`​ を実行します。 4. 表示された JCo ダイアログに表示されている情報を確認します。 ### [](#jco-renaming-conflicts)JCo 名前変更の競合 JCo 3.0.11 以降では、SAP JCo ライブラリファイルは JCo により認識されないため、名前変更できず、次のエラーが表示されます。 ```text java.lang.ExceptionInInitializerError: Illegal JCo archive "sapjco3-3.0.11.jar". It is not allowed to rename or repackage the original archive "sapjco3.jar" ``` このエラーを解決する手順は、次のとおりです。 Apache Maven を使用している場合は、属性 ​`true`​ を持つ ​**maven-dependency-plugin**​ を設定します。これを設定し、JCo アーティファクトを削除すると、すべての連動関係ライブラリのバージョン番号が削除されます。 詳細は、 [「Apache Maven Dependency Plugin (Apache Maven Dependency プラグイン)」](http://maven.apache.org/plugins/maven-dependency-plugin/usage.html)​を参照してください。 ### [](#message-not-an-sap-object)メッセージが SAP オブジェクトではない エンドポイントは、BAPI または IDoc を実行するために必要な入力パラメーターを含む SAP オブジェクトを想定します。 以下のメッセージが表示された場合、次のいずれかが考えられます。 - 必要な入力パラメーターが指定されていない。 - 入力パラメーターは指定されているが、SAP オブジェクトが無効である。 ```text org.mule.api.transport.DispatchException: Message is not a SAP object, it is of type "byte[]". Check the transformer for this Connector "SapConnector". Failed to route event via endpoint: SapOutboundEndpoint{endpointUri=sap://function, connector=SapConnector { name=SapConnector lifecycle=start this=4571cebe numberOfConcurrentTransactedReceivers=4 createMultipleTransactedReceivers=true connected=true supportedProtocols=[sap] serviceOverrides= } , name='endpoint.sap.function', mep=ONE_WAY, properties={evaluateFunctionResponse=false, bapiTransaction=false, functionName=BAPI_MATERIAL_AVAILABILITY, rfcType=srfc, outputXml=true}, transactionConfig=Transaction{factory=null, action=INDIFFERENT, timeout=0}, deleteUnacceptedMessages=false, initialState=started, responseTimeout=10000, endpointEncoding=UTF-8, disableTransportTransformer=false}. Message payload is of type: byte[] ``` このエラーを解決する手順は、次のとおりです。 次の 2 つのいずれかの操作を実行して、BAPI または IDoc へのコールを表す SAP オブジェクトを作成します。 - BAPI コールを含む SAP オブジェクトが含まれる XML を作成します。 - 実際の SAP コールを作成するための入力が含まれる XML 定義を指定します。 ### [](#idoc-metadata-unavailable)IDoc メタデータを使用できない 次のエラーが発生した場合、RFC 宛先が Unicode をサポートしていないことを意味します。 ```text RfcException: [mc-vmware|a_rfc] message: (3) IDOC_ERROR_METADATA_UNAVAILABLE: The meta data for the IDoc type "??????????????????????????å å" with extension " ORDSAPB6L B60CL ???" is unavailable. Return code: RFC_FAILURE(1) error group: 104 key: RFC_ERROR_SYSTEM_FAILURE ``` このエラーを解決する手順は、次のとおりです。 トランザクション ​**SM59**​ を使用して、SAP インスタンスでの Unicode サポートを設定します。 ### [](#missing-tid-handler)TID ハンドラーの欠落 TID ハンドラーが定義されていないため、次のエラーが表示されます。 ```text RfcException: [mule.local|MULESOFT_IDOC_SEND_TEST] message: check TID fault: No transaction handler is installed. Unable to process tRFC/qRFC requests. Return code: RFC_FAILURE(1) error group: 104 key: RFC_ERROR_SYSTEM_FAILURE Exception raised by myhost.com.ar|MULESOFT_IDOC_SEND_TEST at com.sap.conn.jco.rt.MiddlewareJavaRfc$JavaRfcServer.playbackTRfc(MiddlewareJavaRfc.java:2625) at com.sap.conn.jco.rt.MiddlewareJavaRfc$JavaRfcServer.handletRfcRequest(MiddlewareJavaRfc.java:2546) at com.sap.conn.jco.rt.MiddlewareJavaRfc$JavaRfcServer.listen(MiddlewareJavaRfc.java:2367) at com.sap.conn.jco.rt.DefaultServerWorker.dispatch(DefaultServerWorker.java:284) at com.sap.conn.jco.rt.DefaultServerWorker.loop(DefaultServerWorker.java:369) at com.sap.conn.jco.rt.DefaultServerWorker.run(DefaultServerWorker.java:245) at java.lang.Thread.run(Thread.java:680) ``` このエラーを解決する手順は、次のとおりです。 ``​ で ​`rfcType`​ を ​`trfc`​ または ​`qrfc`​ に設定します。 ### [](#parameter-not-supported)パラメーターがサポートされていない SAP 拡張プロパティには有効な名前が必要です。このため、無効なプロパティ名を指定すると、次のようなエラーメッセージが表示されます。 ```text Root Exception stack trace: RfcException: [null] message: Parameter 'type' not supported: 'f' Return code: RFC_INVALID_PARAMETER(19) error group: 101 key: RFC_ERROR_PROGRAM at com.sap.conn.rfc.api.RfcOptions.checkParameters(RfcOptions.java:182) at com.sap.conn.jco.rt.MiddlewareJavaRfc$JavaRfcClient.connect(MiddlewareJavaRfc.java:1328) at com.sap.conn.jco.rt.ClientConnection.connect(ClientConnection.java:731) + 3 more (set debug level logging or '-Dmule.verbose.exceptions=true' for everything) ``` この例では、​`type`​ という名前のパラメーターが無効であることが JCo ライブラリにより報告されています。 このエラーを解決する手順は、次のとおりです。 JCo 拡張プロパティの有効なプロパティ名を指定します。 ### [](#multiple-jco-servers-running)複数の JCo サーバーが実行されている 2 つ以上の JCo サーバーには、設定名が異なっていても同じ設定パラメーターセットを含めることはできないため、次のエラーが表示されます。 ```text ERROR 2012-07-05 10:11:30,525 [WrapperListener_start_runner] com.mulesoft.mule.transport.sap.SapMessageReceiver: Error connecting to server com.sap.conn.jco.JCoException: (101) JCO_ERROR_CONFIGURATION: Server configuration for sapavalara-1.0-SNAPSHOT-gettax is already used for a running server at com.sap.conn.jco.rt.StandaloneServerFactory.update(StandaloneServerFactory.java:358) at com.sap.conn.jco.rt.StandaloneServerFactory.getServerInstance(StandaloneServerFactory.java:176) at com.sap.conn.jco.server.JCoServerFactory.getServer(JCoServerFactory.java:74) at com.mulesoft.mule.transport.sap.jco3.SapJcoRfcServer.initialise(SapJcoRfcServer.java:46) at com.mulesoft.mule.transport.sap.jco3.SapJcoServerFactory.create(SapJcoServerFactory.java:60) at com.mulesoft.mule.transport.sap.SapMessageReceiver.doConnect(SapMessageReceiver.java:56) at org.mule.transport.AbstractTransportMessageHandler.connect(AbstractTransportMessageHandler.java:218) at org.mule.transport.AbstractConnector.registerListener(AbstractConnector.java:1254) ```
これは、同じ Mule サーバーで実行されている Mule アプリケーションにのみ適用されます。Mule サーバーグループのノードにこの制限はありません。
このエラーを解決する手順は、次のとおりです。 次の属性を使用して、サーバーグループキーを作成します (サーバーグループキーは JCo サーバー接続のユニーク性を決定します)。 - `jco.server.gwhost` - `jco.server.gwserv` - `jco.server.progid` 2 つのサーバーで ​`gwhost`​、​`gwserv`​、および ​`progid`​ の値が異なる場合のみ、2 つのサーバーを同じ Mule インスタンスで開始できます (JCo はこの情報をシングルトンクラスで保持します)。 ## [](#スローされる一般的な例外メッセージの理解)スローされる一般的な例外メッセージの理解 スローされる一般的な例外メッセージとその解釈方法のリストを次に示します。 - SAP:CONNECTIVITY A connection cannot be established. (接続を確立できません。) - SAP:INVALID\_CACHE The cache used internally by the JCo library is corrupted or can’t be read. (JCo ライブラリで内部的に使用されているキャッシュが破損しているか、読み取ることができません。) - SAP:INVALID\_INPUT User input cannot be parsed or is incorrect. (ユーザー入力を解析できないか、ユーザー入力が正しくありません。) - SAP:METADATA\_UNAVAILABLE The metadata for an IDoc segment is unavailable. (IDoc セグメントのメタデータを利用できません。) - SAP:NOT\_FOUND A function or IDoc template cannot be found or retrieved. (関数または IDoc テンプレートが見つからないか、取得できません。) - SAP:NOT\_SUPPORTED An action occurs that is not supported by any JCo handler. (JCo ハンドラーでサポートされていないアクションが実行されました。) - SAP:PARSING The JCo library has a parsing issue or the connector cannot convert XML to a BAPI function or an IDoc. (JCo ライブラリに解析の問題があるか、コネクタが XML を BAPI 関数または IDoc に変換できません。) - SAP:RETRY\_EXHAUSTED Execution block retries are exhausted. (実行ブロックの再試行が終了しました。) - SAP:SYSTEM\_BUSY The remote ABAP system is too busy to handle a request. (リモートの ABAP システムが混雑しているため要求を処理できません。) - SAP:TIMEOUT A timeout exception happens inside the JCo library. (JCo ライブラリ内でタイムアウト例外が発生しました。) ## [](#関連情報)関連情報 - [Anypoint Connector の概要](https://docs.mulesoft.com/connectors/introduction/introduction-to-anypoint-connectors) - [SAP Connector リファレンス](https://docs.mulesoft.com/jp/sap-connector/5.7/sap-connector-reference) - [MuleSoft ヘルプセンター](https://help.mulesoft.com) # SAP Connector 5.7 の例 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.7/_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 EDI_DC40 800 0000000003519646 740 30 1 2 MATMAS01 MATMAS SAPIDE LS T90CLNT090 MULE01_TP LS MULE01_LS 20180606 133420 20180606133420 005 000000000000000088 19970527 MORLEY 20030122 I021066 KVB X FERT M 02004 PCE 000 0.200 0.200 KGM 0.000 0001 09 0.000 0.000 0.000 0.000 0.000 0.000 0.0 0.0 0 0 0 0 0 KVB 00000000 00000000 00 0.0 0.0 000000000 005 1 AS-100 T-shirt ZH 005 4 AS-100 T-shirt RO 005 5 AS-100 T-shirt SL 005 6 AS-100 T-shirt HR 005 E AS-100 T-shirt EN 005 F AS-100 T-shirt FR 005 G AS-100 T-shirt EL 005 J AS-100 T ??? JA 005 W AS-100 T-shirt BG 005 d AS-100 T-shirt SH 005 1000 V X 0 0 M 0.00 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0 00000000 0.00 0.00 0.00 0.000 0 0 0.0 0.0 0 0.00 0.000 0.0 00000000 01 0.00 0.000 0.00 0.000 000 000 000 0.000 0.00 0 00000000 0.00 00000000 00000000 0 00 00000000 0 0.000 0.000 0.000 0.000 00 0.000 005 2300 VB X 0 0 M 0.00 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0 00000000 0.00 0.00 0.00 0.000 0 0 0.0 0.0 0 0.00 0.000 0001 0.0 00000000 01 0.00 0.000 0.00 0.000 000 000 000 0.000 0.00 0 00000000 0.00 00000000 00000000 00000000 0 00 00000000 0 0.000 0.000 0.000 0.000 00 0.000 005 PCE 1 1 0.000 0.000 0.000 0.000 0.200 KGM 0 0 0.000 005 2300 X S 0 0.3 1 7920 S 0 0.3 1 7920 S 0 0.3 1998 09 0 00000000 0 0 0 0 0.000 0.000 0 0 0 0 0 00000000 00000000 00000000 0 0 00 B 000100014878 000100014879 00 00 00 000 000 000 0000 0000 0000 0 7920 1 X 0 005 ES MWST 0 ',"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\]**​ のプロパティに次の値を設定します。
項目 値

IDoc Name (IDoc 名)

MATMAS01

Content (コンテンツ)

#[payload]

### [](#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 EDI_DC40 800 0000000003519646 740 30 1 2 MATMAS01 MATMAS SAPIDE LS T90CLNT090 MULE01_TP LS MULE01_LS 20180606 133420 20180606133420
',"application/xml") ]]>
``` ## [](#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.7/_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\]**​ のプロパティに次の値を設定します。
項目 値

Gateway host (ゲートウェイホスト)

ゲートウェイサーバーを実行するホスト

Gateway service (ゲートウェイサービス)

3200

Program id (プログラム ID)

MULE01_PID

Connection count (接続数)

1

Idoc type filter regex (Idoc 種別検索条件の正規表現)

MATMAS01

[Gateway host (ゲートウェイホスト)]​、​[Gateway service (ゲートウェイサービス)]​、​[Program id (プログラム ID)]​ は、顧客の SAP チームから取得する必要があります。

SAP インスタンスに関連するすべての情報 (設定やログイン情報など) を顧客の SAP チームから取得する必要があります。

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 --- ``` Studio コンソールでの応答例 ```dataweave EDI_DC40 800 0000000003572826 740 30 1 2 MATMAS01 MATMAS SAPIDE LS T90CLNT090 MULE11_TP LS MULE11_LS 20191004 050305 20191004050305 ... ``` ## [](#receive-an-sap-function)SAP 関数を受信する この例は、SAP 関数を受信する Mule アプリケーションを作成する方法を示しています。この例では、関数が別の Mule フローまたは SAP の GUI からトリガーされたときに結果を表示します。次のスクリーンショットは、この例の Studio フローを示しています。 ![SAP 接続を確立するための Studio フロー](/mulesoft/current/ja-jp/sap-connector/5.7/_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.7/_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 --- ``` ## [](#manage-transactions)トランザクションの管理 この例では、銀行レコードを処理する標準 BAPI で 2 つのコールを実行し、それらのトランザクションを管理します。 次のスクリーンショットは、この例の Studio フローを示しています。 ![トランザクションを管理する最初の Studio フロー](/mulesoft/current/ja-jp/sap-connector/5.7/_images/managetransactions-flow1.png) ![トランザクションを管理する 2 番目の Studio フロー](/mulesoft/current/ja-jp/sap-connector/5.7/_images/managetransactions-flow2.png) ![トランザクションを管理する 3 番目の Studio フロー](/mulesoft/current/ja-jp/sap-connector/5.7/_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 US 021000089 Citibank NY Park Avenue New York CITIUSXX 021000089 Manhattan 2005-03-11 C5031845 0 0 0 000 000000 0 ``` 3. Web ブラウザーから次の URL を入力して 2 番目のフローをテストします。 `http://localhost:8081/sync-mule-transaction` 次のような要求の XML 出力が表示されます。 ```dataweave TA 3000 10 00 .................... S V1 311 Standard Order 23669 has been saved 000000 Standard Order 23669 SALES_HEADER_IN 0 T90CLNT090 ``` 4. Web ブラウザーから次の URL を入力して 3 番目のフローをテストします。 `http://localhost:8081/async-rfc` 次のような要求の XML 出力が表示されます。 ```dataweave US 0 ``` ### [](#トランザクションを管理するための-xml)トランザクションを管理するための XML トランザクションの管理の例のフローをすばやく読み込むには、Studio で次のコードを新しい Mule アプリケーションに貼り付けます。環境に合わせて値を変更してください。 ```xml ``` ## [](#configure-multiple-gateways)複数のゲートウェイの設定 この例では、1 つのゲートウェイ接続ではなく、負荷を分散してパフォーマンスを向上させるために複数のゲートウェイ接続を使用して、メッセージサーバーを設定する Mule アプリケーションを作成する方法を示します。 次のスクリーンショットは、この例の Studio フローを示しています。 ![複数のゲートウェイを使用してメッセージサーバーを設定するための Studio フロー](/mulesoft/current/ja-jp/sap-connector/5.7/_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\]**​ プロパティタブで、次の項目を設定します。
項目 値

Gateway host (ゲートウェイホスト)

54.160.77.19

Gateway service (ゲートウェイサービス)

3300

Program id (プログラム ID)

MULE11_IDOC_PID

Connection count (接続数)

1

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\]**​ プロパティタブで、次の項目を設定します。
項目 値

Function Name (関数名)

"ZMMFM_TRIGGER_IDOC_MATMAS"

Content (コンテンツ)

payload

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\]**​ プロパティタブで、次の項目を設定します。
項目 値

Function Name (関数名)

"ZMMFM_TRIGGER_IDOC_MATMAS"

Content (コンテンツ)

payload

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 ``` ## [](#関連情報)関連情報 - [Anypoint Connector の概要](https://docs.mulesoft.com/connectors/introduction/introduction-to-anypoint-connectors) - [MuleSoft ヘルプセンター](https://help.mulesoft.com) # SAP Connector 5.7 の用語

可能な場合は、Equality の会社の値に一致するように、含めない用語を変更しました。顧客の実装に対する影響を回避するために、一部の用語は変更されていません。

次に、一般的に要される SAP システムの頭字語を示します。 ABAP (アドバンスドビジネスアプリケーションプログラミング) SAP の独自プログラミング言語であり、ビジネスアプリケーションをビルドするための NetWeaver プラットフォームの一部。 ALE (アプリケーションリンクイネーブリング) SAP システムの分散アプリケーションおよび統合インストールをセットアップします。これには、緩やかにリンクしている SAP アプリケーション間で整合性が確保されたデータを使用するビジネス駆動型メッセージエクスチェンジが含まれます。アプリケーションは、中央データベースを使用せずに、同期通信および非同期通信で統合されます。 BAPI (ビジネスアプリケーションプログラミングインターフェース) 設計条件を満たし、次のような機能を提供する関数モジュール。 - SAP ビジネスオブジェクトのメソッドを実装する。 - さまざまなバージョンの SAP システムで静的インターフェースを維持する。 - リモートで有効化する。 - ユーザー操作の有無に関係なく実行が完了する。 - エラーを処理する。 FM (関数モジュール) SAP の ABAP 言語で定義された手順。これにより、SAP でグローバル関数をカプセル化および再利用できます。 IDoc (中間ドキュメント) SAP システム間で電子データを交換するための標準 SAP 形式。通常、メッセージ種別 (納品書や発注書など) ごとに異なる特殊な形式 (IDoc 種別と呼ばれる) に対応しています。ただし、関連するコンテンツが含まれる複数のメッセージ種別を 1 つの IDoc 種別に割り当てることもできます。 Java API 動的なメタデータルックアップおよびキャッシュを処理します。Java API は、SAP BAPI 関数モジュールのパラメーターおよびテーブルで使用する ​`JCO.Function`​ コンテナを Java で実装します。Java アプリケーションは、Java API 上に構築されます。 JNI (Java ネイティブインターフェース) JNI は、SAP Connector ライブラリのレイヤーです。JCo は、Java で C ライブラリをラップして、SAP システムへのプラットフォームネイティブなアクセスを提供します。RFC ミドルウェアは、JNI レイヤーを介して RFC ライブラリを使用します。 RFC (リモート関数コール) SAP システムとの通信は、RFC プロトコルを介して行われます。リモート関数コールは、BAPI をコールするか、コール元プログラムとして別のシステムで実行される IDoc 処理をトリガーします。RFC インターフェースにより、2 つの SAP システム間または SAP と外部システム間の関数コールが可能になります。 RFC レイヤー リモート関数コールを処理する SAP コンポーネント。 RFC ライブラリ SAP システムにアクセスするための C 言語ベースの関数のライブラリ。RFC ライブラリの対応は、JNI によって行われます。 SAP Java IDoc クラスライブラリ SAP IDoc の構造化された高レベルの解析とナビゲーションを Java で提供し、次のアドオンパッケージで構成されます。 - SAP Java ベース IDoc クラスライブラリ: ミドルウェアに依存する Java IDoc クラスライブラリの実装の一般的な基本クラスとインターフェースのセットを提供する、ミドルウェアに依存しないライブラリ。 - SAP Java Connector IDoc クラスライブラリ: IDoc を作成、送信、受信するためのミドルウェアに依存しないライブラリ。 SAP NetWeaver SAP ソリューションで使用される主要なテクノロジーおよびアプリケーションプラットフォームの 1 つ。NetWeaver の主要なコンポーネントは、ERP、CRM、SCM、PLM、SRM、BI などの SAP アプリケーションのランタイム環境を提供する SAP Web アプリケーションサーバー (WebAS) です。その他に、エンタープライズポータル、エクスチェンジインフラストラクチャ、マスターデータ管理、モバイルインフラストラクチャなどのコンポーネントもあります。SAP NetWeaver は、これらの技術的なコンポーネントの総称です。SAP NetWeaver は、Java スタックと ABAP スタックの両方で実行されます。 SNC (セキュアネットワークコミュニケーション) SAP NetWeaver のシングルサインオンや、SAP システムと連携する外部セキュリティ製品と統合します。SNC は、SAP システムでは直接使用できないセキュリティ関数を提供します。 ## [](#関連情報)関連情報 - [Anypoint Connectors Overview](https://docs.mulesoft.com/connectors/introduction/introduction-to-anypoint-connectors) - [MuleSoft ヘルプセンター](https://help.mulesoft.com) # SAP Connector 5.7 の追加設定 SAP Connector の基本設定を完了したら、詳細設定の変更や拡張プロパティの定義など、追加の設定タスクを実行できます。 ## [](#一般設定)一般設定 1. キャンバスの下部にある ​**\[Global Elements (グローバル要素)\]**​ タブをクリックします。 2. **\[Create (作成)\]**​ をクリックします。 3. **\[Connector Configuration (コネクタ設定)\]**​ を展開し、​**\[SAP Inbound (SAP インバウンド)\]**​ または ​**\[SAP Outbound (SAP アウトバウンド)\]**​ を選択して、​**\[OK\]**​ をクリックします。 4. **\[Global Element Properties (グローバル要素のプロパティ)\]**​ 画面の上部にある ​**\[Advanced (詳細)\]**​ タブをクリックします。 ![sap connector config adv](/mulesoft/current/ja-jp/sap-connector/5.7/_images/sap-connector-config-adv.png) 5. **\[General (一般)\]**​ セクションで、​**\[Max Idle time (最大アイドル時間)\]**​ を設定します。 1. **\[Expiration policy (有効期限ポリシー)\]**​ を選択します。 2. **\[Max Idle time (最大アイドル時間)\]**​ に値を入力し、​**\[Time Unit (時間単位)\]**​ を追加します。 3. **\[OK\]**​ をクリックします。
項目 型 説明 デフォルト値

Expiration Policy (有効期限ポリシー)

ExpirationPolicy

動的設定インスタンスがアイドル状態を続けられる最小時間を設定します。この時間が経過すると、Runtime で期限切れに相当するとみなされます。これは、インスタンスが有効期限の対象となった瞬間にプラットフォームでそのインスタンスが期限切れになるということではありません。必要に応じて、Runtime がインスタンスをパージします。

Max Idle time (最大アイドル時間)

Number (数値)

有効期限の対象とみなされるまで、動的設定インスタンスがアイドル状態を維持できる最大時間のスカラー時間値。

Time unit (時間単位)

Enumeration (列挙)。次のいずれかになります。

  • DAYS

  • HOURS

  • MICROSECONDS

  • MILLISECONDS

  • MINUTES

  • NANOSECONDS (ナノ秒) SECONDS (秒)

## [](#詳細設定)詳細設定 ![sap advanced](/mulesoft/current/ja-jp/sap-connector/5.7/_images/sap-advanced.png) \[Advanced (詳細)\] 設定では、エンコード、バージョン、フラグ、形式、およびタイムアウトの各パラメーターを設定できます。 これらの項目値を変更するには、​**\[Global Element Properties (グローバル要素のプロパティ)\]**​ 画面の上部にある ​**\[Advanced (詳細)\]**​ タブをクリックします。
項目 XML 属性 説明 デフォルト値

Display Name (表示名)

name (名前)

Mule 設定で内部的に使用されるエンドポイントの参照名を設定します。

Encoding (エンコード)

encoding

エンコードの正規名を設定します。 Oracle のサポートされるエンコード​を参照してください。

Default IDocument Version (デフォルトの IDoc バージョン)

defaultIdocumentVersion

中間ドキュメント (IDoc) を送信する場合、バージョンを設定します。IDoc バージョンの値は、​com.sap.conn.idoc.IDocFactory​ の ​IDOC_VERSION_xxxx​ 定数に対応しています。

Disable Function template cache flag ([関数テンプレートキャッシュを無効化] フラグ)

disableFunctionTemplateCacheFlag

関数テンプレートキャッシュを無効化するには、これを設定します。

false

Evaluate response flag ([応答を評価] フラグ)

evaluateResponseFlag

エラー応答で例外を発生させるのか、ユーザーが別の結果を使用してエラー応答を処理できるようにするのかを設定します。

false

Log trace flag ([トレースを記録] フラグ)

logTraceFlag

トレースを Mule サーバーに記録するかどうかを設定します。

false

Use SAP format (SAP 形式の使用)

useSAPFormat

同期リモート関数コール (sRFC) を使用してビジネスアプリケーションプログラミングインターフェース (BAPI) 関数を操作するときに SAP デフォルト形式を使用するには、これを設定します。

false

## [](#拡張プロパティの定義)拡張プロパティの定義 拡張プロパティを使用すると、SAP アウトバウンド設定パラメーターを調整できます。 SAP Connector のグローバル要素の拡張プロパティを定義する手順は、次のとおりです。 1. **\[General (一般)\]**​ ペインの ​**\[Advanced (詳細)\]**​ タブに移動します。 ![下部の \[Advanced (詳細)\] タブ](_images/sap-connector-advanced-tab.png) 2. ウィンドウの上部にある ​**\[Extended Properties (拡張プロパティ)\]**​ セクションを見つけます。 3. **\[Edit inline (インライン編集)\]**​ オプションを選択します。 4. **\[+\]**​ をクリックして、新しい拡張プロパティを追加します。 SAP で使用しているものと同じプロパティ名を使用します。 1. [Pooling Config (プーリング設定)](https://help.sap.com/viewer/b865ed651e414196b39f8922db2122c7/Cloud/en-US/8278bed44893498f95d5d6d5f0a47f35.html) 2. [Target System configuration (対象システム設定)](https://help.sap.com/viewer/b865ed651e414196b39f8922db2122c7/Cloud/en-US/f8fac995b0144a0b8ec0801b8f7bab3e.html) ### [](#クライアント環境の設定)クライアント環境の設定 使用しているオペレーティングシステムに依存するシステム変数を設定し、PSE (パーソナルセキュリティ環境) を生成します。 1. 次のコマンドを使用して cmd またはターミナルを開き、SAPCAR および SAP 暗号ライブラリを展開します。 \`SAPCAR -xvf これによりフォルダー​​からファイルが抽出されます。 2. 次の環境変数を設定します。​ **この例では、ライブラリへのパスは「C:\\Users\\Administrator\\Desktop\\SNC」です。** - SNC\_LIB - SECUDIR = ​`` - LD\_LIBRARY\_PATH​ = ​`\sapcrypto.dll` - SSF\_LIBRARY\_PATH​ = ​`\sapcrypto.dll` Windows の場合、​`sapcrypto.dll`​ の 64 ビットバージョンは別のパスにあり、​SNC\_LIB\_64​ という新しい変数に追加されています。 cmd またはターミナルで次のコマンドを使用して PSE を作成します。 `sapgenpse gen_pse -v -p RFC.pse` このコマンドを実行する場合、後で使用するパスワードまたは PIN と、一意である必要がある識別名を入力する必要があります。STRUST ですでに使用されている名前があるかどうかを確認できます。 3. セッションユーザーが PSE にアクセスするために必要とするログイン情報を追加します。PSE は「sapgenpse seclogin -p RFC -O you\_user」コマンドを使用して cred\_v2 ファイルを作成します。 ## [](#次のステップ)次のステップ これで設定が完了したので、SAP の​[例](https://docs.mulesoft.com/jp/sap-connector/5.7/sap-connector-examples)​を試すことができます。 ## [](#関連情報)関連情報 - [Anypoint Connector の概要](https://docs.mulesoft.com/connectors/introduction/introduction-to-anypoint-connectors) - [MuleSoft ヘルプセンター](https://help.mulesoft.com) # SAP Connector 5.7 リファレンス SAP 用 Anypoint Connector (SAP Connector) を使用すると、SAP NetWeaver に基づいてデータを外部システムと統合できます。
バージョン 5.0 以降、SAP Connector では、SAP S/4HANA のオンプレミスインスタンスへの接続もサポートされるようになりました。
## [](#制限事項)制限事項 - バージョン 5.4.0 以前の SAP Connector では、同じ ​PROGRAM\_ID​、​GATEWAY\_SERVICE​、​GATEWAY\_HOST​ を持つ同じ Mule Runtime Engine にデプロイされた複数のサーバーを JCo ライブラリによって作成することはできません。同じ ​PROGRAM\_ID​、​GATEWAY\_SERVICE​、および ​GATEWAY\_HOST​ を持つ 2 つのサーバーを作成しようとすると、1 つのサーバーのみが作成されます。この問題を回避するには、2 つの異なる Mule Runtime Engine を使用するか、2 つの異なる ​GATEWAY\_HOST​ を持つ同じ ​PROGRAM\_ID​ を使用します。 - SAP Connector では Bitronix トランザクションマネージャーはサポートされていません。 - **Document Listener**​ および ​**Function Listener**​ ソースでは、Mule トランザクションはサポートされていません。(​**\[Advanced (詳細)\] タブ**​の) ​**\[Transactional action (トランザクションアクション)\]**​ および ​**\[Transaction type (トランザクション種別)\]**​ パラメーターは両方のソースで使用できますが、トランザクション機能は実装されていません。 - SAP リスナー (​**\[Document Listener\]**​ と ​**\[Function Listener\]**​) の再接続戦略では JCo ライブラリのみに依存しています。つまり、Mule の再接続メカニズムは再接続に影響しません。 - 接続に問題がある場合、バックグラウンドで実行される JCO サーバーによって再接続が管理されます。JCo RFC プロバイダーにより、Java サーバーと ABAP ゲートウェイ間の通信エラーが認識され、再接続が再試行されます。最初の再接続に失敗すると、1 秒待機して次の再接続試行が行われます。再度再接続に失敗すると、再接続の待機時間は 1 秒から 2 秒と 2 倍になり、最終的にデフォルトの最大待機期間である 3600 秒 (1 時間) になるまで続きます。​`-Djco.server.max_startup_delay=`​ JMV パラメーターを使用して最大再接続タイムアウトを設定します。 ## [](#sap)Configuration (設定) SAP Connector のデフォルト設定。
名前 型 説明 デフォルト値 必須

Name (名前)

String (文字列)

この設定の名前。コネクタはこの名前の設定を参照します。

x

Connection (接続)

この設定の接続種別。

x

Expiration Policy (有効期限ポリシー)

動的設定インスタンスがアイドル状態を続けられる最小時間を設定します。この時間が経過すると、Mule Runtime で期限切れに相当するとみなされます。

Encoding (エンコード)

String (文字列)

エンコードの正規名。 Oracle のサポートされるエンコード​を参照してください。

Default Idocument Version (デフォルトの IDoc バージョン)

String (文字列)

デフォルトの IDoc バージョン。

0

Disable Jco Internal Cache (Jco 内部キャッシュを無効化)

Boolean (ブール)

JCo 内部キャッシュを使用するかどうかを示すフラグ。SAP JCo 内部キャッシュを無効にするには、このフラグを ​true​ に設定します。デフォルトでは、JCo は最初のコールの後にメタデータを保存し、後続のコールでそのテンプレートを入力します。このフラグは関数とソースの両方に適用されます。

false

Evaluate Response Flag ([応答を評価] フラグ)

Boolean (ブール)

エラー応答で例外をスローするか、ユーザーがエラー応答を別の結果として処理できるようにするのかを示すフラグ。このフラグは、メッセージで例外 (E) をスローするのか、警告 (W) 付きの結果として処理するのかを指定するために使用される例外またはログメカニズムです。

フラグを ​true​ に設定した場合、例外 (E) メッセージが返されると、そのメッセージと共に例外がスローされます。

フラグを ​true​ に設定した場合、警告 (W) メッセージが返されると、警告メッセージが記録されます。

false

Log Trace Flag ([トレースを記録] フラグ)

Boolean (ブール)

トレースを Mule サーバーに記録するかどうかを示すフラグ。トレースを記録するには、このフラグを ​true​ に設定します。

false

Use SAP Format (SAP 形式の使用)

Boolean (ブール)

SAP 値を返すための Mule 3 形式をサポートするかどうかを決定します。​JCoField​ を解析するときに ​JCoToBusinessObjectParser​ クラスで使用されます。BAPIFunctions over sRFC を使用する場合にのみ SAP デフォルト形式を使用します。

  • true​

    値は元の SAP 形式の文字列として返されます。

  • false​

    元の値が対応する Java オブジェクトに変換され、シリアル化されて返されます。

false

Use SAP Format On Function Listener (関数リスナーでの SAP 形式の使用)

Boolean (ブール)

SAP 値を返すための Mule 3 形式をサポートするかどうかを決定します。​JCoField​ を解析するために使用されます。BAPI 関数リスナーを使用する場合にのみ SAP デフォルト形式を使用します。

  • true​

    値は元の SAP 形式の文字列として返されます。

  • false​

    元の値が対応する Java オブジェクトに変換され、シリアル化されて返されます。

false

### [](#sap_certificate)\[Certificate (証明書)\] 接続種別 X509 証明書を使用してユーザーを認証します。
名前 型 説明 デフォルト値 必須

SAP system number (SAP システム番号)

String (文字列)

SAP システムの 2 桁のシステム番号 (sysnr)。

x

SAP client ID (SAP クライアント ID)

String (文字列)

3 桁のクライアント番号。数値で表示する場合は先行ゼロを保持します。

x

Destination Name (宛先名)

String (文字列)

このコネクタによって生成される宛先の識別子。設定されていない場合、ランダムな値が作成されます。

Login language (ログイン言語)

String (文字列)

コネクタで使用される言語コード。言語によって、SAP アダプターとアプリケーションサーバー間の通信に使用されるコードページが決定されます。

EN

Extended Properties (拡張プロパティ)

Object (オブジェクト)

データベースサーバー固有のすべての接続パラメーターを渡すために使用されます。

X.509 Certificate (X.509 証明書)

String (文字列)

X.509 証明書へのパス。これは、コネクタがクライアントとして機能する場合に必要です。

Application server host (アプリケーションサーバーホスト)

String (文字列)

SAP アプリケーションサーバーのホスト。

Message server configuration (メッセージサーバーの設定)

メッセージサーバーの使用の設定。

Enable RFC tracing on server (サーバーでの RFC トレースの有効化)

Boolean (ブール)

サーバーで RFC トレースを有効または無効にします。

false

Enable CPIC tracing on server (サーバーでの CPIC トレースの有効化)

Enumeration (列挙)。次のいずれかになります。

  • INHERIT

  • NO_TRACING​

  • LEVEL_1​

  • LEVEL_2​

  • LEVEL_3

サーバーで CPIC トレースを有効または無効にします。

Reconnection (再接続)

コネクタ操作で外部サーバーへの接続に失敗した場合に使用する再接続戦略を設定します。

### [](#sap_kerberos)Kerberos 接続種別 Kerberos プロトコルを実装してユーザーを認証および承認します。
名前 型 説明 デフォルト値 必須

SAP system number (SAP システム番号)

String (文字列)

SAP システムの 2 桁のシステム番号 (sysnr)。

x

SAP client ID (SAP クライアント ID)

String (文字列)

3 桁のクライアント番号。数値で表示する場合は先行ゼロを保持します。

x

Destination Name (宛先名)

String (文字列)

このコネクタによって生成される宛先の識別子。設定されていない場合、ランダムな値が作成されます。

Login language (ログイン言語)

String (文字列)

コネクタで使用される言語コード。言語によって、SAP アダプターとアプリケーションサーバー間の通信に使用されるコードページが決定されます。

EN

Extended Properties (拡張プロパティ)

Object (オブジェクト)

データベースサーバー固有のすべての接続パラメーターを渡すために使用されます。

Application server host (アプリケーションサーバーホスト)

String (文字列)

SAP アプリケーションサーバーのホスト。

Message server configuration (メッセージサーバーの設定)

メッセージサーバーの使用の設定。

Enable RFC tracing on server (サーバーでの RFC トレースの有効化)

Boolean (ブール)

サーバーで RFC トレースを有効または無効にします。

false

Enable CPIC tracing on server (サーバーでの CPIC トレースの有効化)

Enumeration (列挙)。次のいずれかになります。

  • INHERIT

  • NO_TRACING​

  • LEVEL_1​

  • LEVEL_2​

  • LEVEL_3

サーバーで CPIC トレースを有効または無効にします。

Kerberos Config File Path (Kerberos 設定ファイルパス)

String (文字列)

krb5.conf ファイルへのパス。

x

Keytab File Path (Keytab ファイルパス)

String (文字列)

keytab ファイルへのパス。

x

GSS Library Path (GSS ライブラリパス)

String (文字列)

gss ライブラリへのパス。

x

Principal (プリンシパル)

String (文字列)

コネクタが SAP にログインするために使用するプリンシパル。

x

Client SNC Partner Name (クライアント SNC のパートナー名)

String (文字列)

jco.client.snc_partnername​ プロパティ。

x

Client SNC My Name (クライアント SNC の私の名前)

String (文字列)

jco.client.snc_myname​ プロパティ。

x

Server SNC Partner Name (サーバー SNC のパートナー名)

String (文字列)

jco.server.snc_partnername​ プロパティ。

Server SNC My Name (サーバー SNC の私の名前)

String (文字列)

jco.server.snc_myname​ プロパティ。

Reconnection (再接続)

コネクタ操作で外部サーバーへの接続に失敗した場合に使用する再接続戦略を設定します。

### [](#sap_simple-connection-provider)Simple Connection Provider Connection Type ユーザー名とパスワードを使用して接続します。
名前 型 説明 デフォルト値 必須

SAP system number (SAP システム番号)

String (文字列)

SAP システムの 2 桁のシステム番号 (sysnr)。

x

SAP client ID (SAP クライアント ID)

String (文字列)

3 桁のクライアント番号。数値で表示する場合は先行ゼロを保持します。

x

Destination Name (宛先名)

String (文字列)

このコネクタによって生成される宛先の識別子。設定されていない場合、ランダムな値が作成されます。

Login language (ログイン言語)

String (文字列)

コネクタで使用される言語コード。言語によって、SAP アダプターとアプリケーションサーバー間の通信に使用されるコードページが決定されます。

EN

Extended Properties (拡張プロパティ)

Object (オブジェクト)

データベースサーバー固有のすべての接続パラメーターを渡すために使用されます。

Username (ユーザー名)

String (文字列)

コネクタが SAP にログインするために使用するユーザー名。

x

Password (パスワード)

String (文字列)

ログインユーザー名に関連付けられているパスワード。

x

Application server host (アプリケーションサーバーホスト)

String (文字列)

SAP アプリケーションサーバーのホスト。

Message server configuration (メッセージサーバーの設定)

メッセージサーバーの使用の設定。

Enable RFC tracing on server (サーバーでの RFC トレースの有効化)

Boolean (ブール)

サーバーで RFC トレースを有効または無効にします。

false

Enable CPIC tracing on server (サーバーでの CPIC トレースの有効化)

Enumeration (列挙)。次のいずれかになります。

  • INHERIT

  • NO_TRACING​

  • LEVEL_1​

  • LEVEL_2​

  • LEVEL_3

サーバーで CPIC トレースを有効または無効にします。

Reconnection (再接続)

アプリケーションがデプロイされると、すべてのコネクタで接続テストが実行されます。​true​ に設定されている場合、関連する再接続戦略をすべて実行した後にテストに合格しないと、デプロイメントが失敗します。

## [](#ソース)ソース - [Document Listener](#document-listener) - [Function Listener](#function-listener) ### [](#document-listener)Document Listener `` 受信 IDoc をリスンします。
名前 型 説明 デフォルト値 必須

Configuration (設定)

String (文字列)

使用する設定の名前。

x

Gateway Host (ゲートウェイホスト)

String (文字列)

ゲートウェイサーバーを実行するホストの名前。これは、ゲートウェイハンドラーを実行するホストの名前です。SAP ゲートウェイは、SAP 以外のアプリケーションを SAP アプリケーションに接続するために使用される開発フレームワークです。RFC 宛先を使用して、信頼されるシステムとして SAP ゲートウェイホストを設定できます。

x

Gateway Service (ゲートウェイサービス)

String (文字列)

SAP システムのゲートウェイサービスの名前またはサービスポート。

x

Program ID (プログラム ID)

String (文字列)

ゲートウェイに登録されている SAP システムプログラム ID。特定のゲートウェイで一意である必要があります。

x

Connection Count (接続数)

Number (数値)

ゲートウェイに登録する接続の数。複数の接続がある場合、ハンドラー要求は並列処理されます。たとえば、2 つの接続が設定されている場合、これにより、要求を並列処理する 2 つのハンドラーワーカーまたはスレッドが作成されます。これらは、一緒に開始する 2 つのソースのように機能します。

1

Idoc Type Filter Regex (Idoc 種別検索条件の正規表現)

String (文字列)

受信したすべての IDoc を種別で絞り込むための式。

Message server host (メッセージサーバーホスト)

String (文字列)

メッセージサーバーのホスト。

Message server port (メッセージサーバーポート)

String (文字列)

メッセージサーバー名またはポート番号。

System ID (システム ID)

String (文字列)

メッセージサーバーが属するシステムのシステム ID。

Group (グループ)

String (文字列)

ABAP で定義され、アプリケーションサーバーセットを識別するログオングループ。

Update interval (更新間隔)

String (文字列)

メッセージサーバーがアプリケーションサーバーのリストを取得する頻度。

IDoc Render Options (IDoc 表示オプション)

IDoc 表示オプション。

Transactional Action (トランザクションアクション)

Enumeration (列挙)。次のいずれかになります。

  • ALWAYS_BEGIN​

  • NONE

トランザクションに関してソースで実行する開始アクションの種別。

NONE

Transaction Type (トランザクション種別)

Enumeration (列挙)。次のいずれかになります。

  • LOCAL

  • XA

作成するトランザクションの種別。使用できるかどうかは、Mule バージョンによって決まります。

LOCAL

Primary Node Only (プライマリノードのみ)

Boolean (ブール)

クラスターでの Mule インスタンスの実行時、このソースをプライマリノード上でのみ実行するかどうかを決定します。

Streaming Strategy (ストリーミング戦略)

Mule によるストリームの処理方法を設定します。反復可能ストリームは、デフォルトの動作です。

Redelivery Policy (再配信ポリシー)

同じメッセージの再配信を処理するためのポリシーを定義します。

Reconnection Strategy (再接続戦略)

接続エラーが発生した場合の再試行戦略。

#### [](#出力)出力

型

Binary (バイナリ)

Attributes Type (属性型)

#### [](#関連する設定)関連する設定 - [Configuration (設定)](#sap) ### [](#function-listener)Function Listener `` 受信した BAPI 関数をリスンします。
名前 型 説明 デフォルト値 必須

Configuration (設定)

String (文字列)

使用する設定の名前。

x

Gateway Host (ゲートウェイホスト)

String (文字列)

ゲートウェイサーバーを実行するホストの名前。これは、ゲートウェイハンドラーを実行するホストの名前です。SAP ゲートウェイは、SAP 以外のアプリケーションを SAP アプリケーションに接続するために使用される開発フレームワークです。RFC 宛先を使用して、信頼されるシステムとして SAP ゲートウェイホストを設定できます。

x

Gateway Service (ゲートウェイサービス)

String (文字列)

SAP システムのゲートウェイサービスの名前またはサービスポート。

x

Program ID (プログラム ID)

String (文字列)

ゲートウェイに登録されている SAP システムプログラム ID。特定のゲートウェイで一意である必要があります。

x

Connection Count (接続数)

Number (数値)

ゲートウェイに登録する接続の数。複数の接続がある場合、ハンドラー要求は並列処理されます。たとえば、2 つの接続が設定されている場合、これにより、要求を並列処理する 2 つのハンドラーワーカーまたはスレッドが作成されます。これらは、一緒に開始する 2 つのソースのように機能します。

1

Targeted Function (対象関数)

String (文字列)

取得する関数の名前。受信した BAPI 関数を名前で絞り込みます。

Message server host (メッセージサーバーホスト)

String (文字列)

メッセージサーバーのホスト。

Message server port (メッセージサーバーポート)

String (文字列)

メッセージサーバー名またはポート番号。

System ID (システム ID)

String (文字列)

メッセージサーバーが属するシステムのシステム ID。

Group (グループ)

String (文字列)

ABAP で定義され、アプリケーションサーバーセットを識別するログオングループ。

Update interval (更新間隔)

String (文字列)

メッセージサーバーがアプリケーションサーバーのリストを取得する頻度。

Transactional Action (トランザクションアクション)

Enumeration (列挙)。次のいずれかになります。

  • ALWAYS_BEGIN​

  • NONE

トランザクションに関してソースで実行する開始アクションの種別。

NONE

Transaction Type (トランザクション種別)

Enumeration (列挙)。次のいずれかになります。

  • LOCAL

  • XA

作成するトランザクションの種別。使用できるかどうかは、Mule バージョンによって決まります。

LOCAL

Primary Node Only (プライマリノードのみ)

Boolean (ブール)

クラスターでの Mule インスタンスの実行時、このソースをプライマリノード上でのみ実行するかどうかを決定します。

Streaming Strategy (ストリーミング戦略)

Mule によるストリームの処理方法を設定します。反復可能ストリームは、デフォルトの動作です。

Redelivery Policy (再配信ポリシー)

同じメッセージの再配信を処理するためのポリシーを定義します。

Reconnection Strategy (再接続戦略)

接続エラーが発生した場合の再試行戦略。

Response (応答)

Binary (バイナリ)

ソース応答。

SAP 5.6 以降では、​Function Listener​ がトリガーされて、応答が SAP に戻されたときにテーブルの特定の行を更新できます。特定の行を更新するには、更新する行のインデックスを使用して、​INDEX_ROW_UPDATE​ パラメーターをペイロードに追加します。

#[payload]

#### [](#出力-2)出力

型

Binary (バイナリ)

Attributes Type (属性型)

#### [](#関連する設定-2)関連する設定 - [Configuration (設定)](#sap) ## [](#操作)操作 - [Asynchronous Remote Function Call](#asyncRfc) - [Confirm Transaction](#confirmTransactionId) - [Get Function](#getFunction) - [Retrieve IDoc](#retrieveIdoc) - [Send IDoc](#send) - [Start SAP Transaction](#startsaptransaction) - [Synchronous Remote Function Call](#syncRfc) ### [](#asyncRfc)Asynchronous Remote Function Call `` キューリモート関数コール (qRFC) を介して BAPIFunction を実行します。 qRFC はトランザクション RFC (tRFC) の拡張機能であり、個々のステップが順番に処理されることを保証します。これにより、複数の作業論理単位 (LUW) トランザクションがアプリケーションで指定された順序で処理されます。 インバウンドキューとアウトバウンドキューを使用して tRFC をシリアル化できるため、キュー RFC という名前になっています。 キュー (qRFC) は tRFC の拡張機能として、処理順序を定義するのに最適です。qRFC を使用して、複数のトランザクションを定義済みの順序で処理することを保証します。
名前 型 説明 デフォルト値 必須

Configuration (設定)

String (文字列)

使用する設定の名前。

x

Function Name (関数名)

String (文字列)

実行する関数の名前。

x

Content (コンテンツ)

Binary (バイナリ)

実行する BAPIFunction。

#[payload]

Transaction Id (トランザクション ID)

String (文字列)

RFC が 1 回のみ実行されるように RFC を識別する ID。

x

Queue Name (キュー名)

String (文字列)

RFC が実行されるキューの名前。処理される各 tRFC コールにはアプリケーションによりキュー名が与えられるため、これは qRFC に適用されます。qRFC トランザクションごとにキュー名とバージョンが必要です。

Transactional Action (トランザクションアクション)

Enumeration (列挙)。次のいずれかになります。

  • ALWAYS_JOIN​

  • JOIN_IF_POSSIBLE​

  • NOT_SUPPORTED

トランザクションに関して操作で実行する結合アクションの種別。

JOIN_IF_POSSIBLE

Reconnection Strategy (再接続戦略)

接続エラーが発生した場合の再試行戦略。

#### [](#関連する設定-3)関連する設定 - [Configuration (設定)](#sap) #### [](#スロー)スロー - SAP:CONNECTIVITY - SAP:INVALID\_CACHE - SAP:INVALID\_INPUT - SAP:METADATA\_UNAVAILABLE - SAP:NOT\_FOUND - SAP:NOT\_SUPPORTED - SAP:PARSING - SAP:RETRY\_EXHAUSTED - SAP:SYSTEM\_BUSY - SAP:TIMEOUT ### [](#confirmTransactionId)Confirm Transaction `` サーバーに対してトランザクションが成功したことを確認します。
名前 型 説明 デフォルト値 必須

Configuration (設定)

String (文字列)

使用する設定の名前。

x

Transaction ID (TID) (トランザクション ID (TID))

String (文字列)

確認するトランザクションの ID。

x

Transactional Action (トランザクションアクション)

Enumeration (列挙)。次のいずれかになります。

  • ALWAYS_JOIN​

  • JOIN_IF_POSSIBLE​

  • NOT_SUPPORTED

トランザクションに関して操作で実行する結合アクションの種別。

JOIN_IF_POSSIBLE

Reconnection Strategy (再接続戦略)

接続エラーが発生した場合の再試行戦略。

#### [](#関連する設定-4)関連する設定 - [Configuration (設定)](#sap) #### [](#スロー-2)スロー - SAP:CONNECTIVITY - SAP:RETRY\_EXHAUSTED ### [](#getFunction)Get Function `` 名前に基づいて BAPIFunction を取得します。
名前 型 説明 デフォルト値 必須

Configuration (設定)

String (文字列)

使用する設定の名前。

x

Function Name (関数名)

String (文字列)

取得する関数の名前。

x

Transactional Action (トランザクションアクション)

Enumeration (列挙)。次のいずれかになります。

  • ALWAYS_JOIN​

  • JOIN_IF_POSSIBLE​

  • NOT_SUPPORTED

トランザクションに関して操作で実行する結合アクションの種別。

JOIN_IF_POSSIBLE

Streaming Strategy (ストリーミング戦略)

Mule によるストリームの処理方法を設定します。反復可能ストリームは、デフォルトの動作です。

Target Variable (対象変数)

String (文字列)

操作の出力を保存する変数の名前。

Target Value (対象値)

String (文字列)

操作の出力を評価する式。式の結果は ​[Target Variable (対象変数)]​ 項目に保存されます。

#[payload]

Reconnection Strategy (再接続戦略)

接続エラーが発生した場合の再試行戦略。

#### [](#出力-3)出力

型

Binary (バイナリ)

#### [](#関連する設定-5)関連する設定 - [Configuration (設定)](#sap) #### [](#スロー-3)スロー - SAP:CONNECTIVITY - SAP:INVALID\_CACHE - SAP:INVALID\_INPUT - SAP:METADATA\_UNAVAILABLE - SAP:NOT\_FOUND - SAP:NOT\_SUPPORTED - SAP:PARSING - SAP:RETRY\_EXHAUSTED - SAP:SYSTEM\_BUSY - SAP:TIMEOUT ### [](#retrieveIdoc)Retrieve IDoc `` キーに基づいて IDoc 構造を取得します。
名前 型 説明 デフォルト値 必須

Configuration (設定)

String (文字列)

使用する設定の名前。

x

IDoc Name (IDoc 名)

String (文字列)

IDoc を取得するために必要な情報が含まれるキー。

x

Transactional Action (トランザクションアクション)

Enumeration (列挙)。次のいずれかになります。

  • ALWAYS_JOIN​

  • JOIN_IF_POSSIBLE​

  • NOT_SUPPORTED

トランザクションに関して操作で実行する結合アクションの種別。

JOIN_IF_POSSIBLE

Streaming Strategy (ストリーミング戦略)

Mule によるストリームの処理方法を設定します。反復可能ストリームは、デフォルトの動作です。

Target Variable (対象変数)

String (文字列)

操作の出力を保存する変数の名前。

Target Value (対象値)

String (文字列)

操作の出力を評価する式。式の結果は ​[Target Variable (対象変数)]​ 項目に保存されます。

#[payload]

Reconnection Strategy (再接続戦略)

接続エラーが発生した場合の再試行戦略。

#### [](#出力-4)出力

型

Binary (バイナリ)

#### [](#関連する設定-6)関連する設定 - [Configuration (設定)](#sap) #### [](#スロー-4)スロー - SAP:CONNECTIVITY - SAP:INVALID\_CACHE - SAP:INVALID\_INPUT - SAP:METADATA\_UNAVAILABLE - SAP:NOT\_FOUND - SAP:NOT\_SUPPORTED - SAP:PARSING - SAP:RETRY\_EXHAUSTED - SAP:SYSTEM\_BUSY - SAP:TIMEOUT ### [](#send)Send IDoc `` RFC を介して IDoc を SAP に送信します。RFC は、IDoc の 2 つの種別のいずれかになります。 - トランザクション (tRFC) 非同期リモート関数コール (aRFC) の特殊な形式。 tRFC は、元々独立して処理されていた処理ステップをトランザクションのように処理します。 tRFC は、ネットワークの問題でデータが複数回送信されても、コールされた関数モジュールを RFC サーバーで 1 回のみ実行する非同期通信方法です。RFC クライアントプログラムが tRFC を実行しているときにリモートシステムが使用できる状態になっている必要はありません。tRFC コンポーネントは、コールされる RFC 関数および対応するデータを一意のトランザクション ID (TID) で SAP データベースに保存します。 tRFC は、対象システムで待機しないという点で aRFC に似ています (書留郵便に似ている)。システムが使用できる状態でない場合、スケジューラー RSARFCSE によって選択され、60 秒ごとに実行されるトランザクション ID (SM58) でデータが aRFC テーブルに書き込まれます。 tRFC は、非同期 RFC の拡張機能として、システム間の通信を保護するのに最適です。 - キュー (qRFC) tRFC の拡張機能。 qRFC では、個々のステップが順番に処理されることも保証されます。複数の LUW (作業論理単位トランザクション) がアプリケーションで指定された順序で処理されることを保証するには、qRFC を使用します。 インバウンドキューとアウトバウンドキューを使用して tRFC をシリアル化できるため、キュー RFC (qRFC) という名前になっています。 キュー (qRFC) は tRFC の拡張機能として、処理順序を定義するのに最適です。複数のトランザクションを定義済みの順序で処理する場合、qRFC を実装します。 tRFC と qRFC の両方に TID ハンドラーがあります。
名前 型 説明 デフォルト値 必須

Configuration (設定)

String (文字列)

使用する設定の名前。

x

IDoc Name (IDoc 名)

String (文字列)

実行する IDoc の名前。

x

Content (コンテンツ)

Binary (バイナリ)

実行する IDoc。

#[payload]

バージョン

String (文字列)

IDoc のバージョン。

Transaction Id (トランザクション ID)

String (文字列)

RFC が 1 回のみ実行されるように RFC を識別する ID。

Queue Name (キュー名)

String (文字列)

RFC が実行されるキューの名前。処理される各 tRFC コールにはアプリケーションによりキュー名が与えられるため、これは qRFC に適用されます。qRFC トランザクションごとにキュー名とバージョンが必要です。

IDoc Parsing Options (IDoc 解析オプション)

IDoc 解析オプション。

Transactional Action (トランザクションアクション)

Enumeration (列挙)。次のいずれかになります。

  • ALWAYS_JOIN​

  • JOIN_IF_POSSIBLE​

  • NOT_SUPPORTED

トランザクションに関して操作で実行する結合アクションの種別。

JOIN_IF_POSSIBLE

Reconnection Strategy (再接続戦略)

接続エラーが発生した場合の再試行戦略。

#### [](#関連する設定-7)関連する設定 - [Configuration (設定)](#sap) #### [](#スロー-5)スロー - SAP:CONNECTIVITY - SAP:INVALID\_CACHE - SAP:INVALID\_INPUT - SAP:METADATA\_UNAVAILABLE - SAP:NOT\_FOUND - SAP:NOT\_SUPPORTED - SAP:PARSING - SAP:RETRY\_EXHAUSTED - SAP:SYSTEM\_BUSY - SAP:TIMEOUT ### [](#startsaptransaction)Start SAP Transaction `` future コールの一部として使用するトランザクション ID を作成します。
名前 型 説明 デフォルト値 必須

Configuration (設定)

String (文字列)

使用する設定の名前。

x

Transactional Action (トランザクションアクション)

Enumeration (列挙)。次のいずれかになります。

  • ALWAYS_JOIN​

  • JOIN_IF_POSSIBLE​

  • NOT_SUPPORTED

トランザクションに関して操作で実行する結合アクションの種別。

JOIN_IF_POSSIBLE

Target Variable (対象変数)

String (文字列)

操作の出力を保存する変数の名前。

Target Value (対象値)

String (文字列)

操作の出力を評価する式。式の結果は ​[Target Variable (対象変数)]​ 項目に保存されます。

#[payload]

Reconnection Strategy (再接続戦略)

接続エラーが発生した場合の再試行戦略。

#### [](#出力-5)出力

型

String (文字列)

#### [](#関連する設定-8)関連する設定 - [Configuration (設定)](#sap) #### [](#スロー-6)スロー - SAP:CONNECTIVITY - SAP:INVALID\_CACHE - SAP:INVALID\_INPUT - SAP:METADATA\_UNAVAILABLE - SAP:NOT\_FOUND - SAP:NOT\_SUPPORTED - SAP:PARSING - SAP:RETRY\_EXHAUSTED - SAP:SYSTEM\_BUSY - SAP:TIMEOUT ### [](#syncRfc)Synchronous Remote Function Call `` 同期リモート関数コール (sRFC) を介して BAPIFunction を実行します。 sRFC では、通信またはデータ転送時に両方のシステム (クライアントとサーバー) が使用できる状態になっていることが必要です。 sRFC は、最も一般的な種別で、sRFC の実行直後に結果が求められる場合に使用されます。 sRFC は、肯定応答が必要なシステム間の通信手段です。 ソースシステムのリソースは、対象システムで待機して、ACKD でメッセージ/データが配信されることを確認します。通信データの整合性と信頼性は確保されます。対象システムが使用できる状態になっていない場合、ソースシステムのリソースは対象システムが使用できる状態になるまで待機します。これにより、ソースシステムのプロセスが対象システムでスリープ/RFC/CPIC モードになり、これらのリソースがブロックされる可能性があります。sRFC は、システム間の通信や、SAP Web アプリケーションサーバーと SAP GUI 間の通信で使用します。
名前 型 説明 デフォルト値 必須

Configuration (設定)

String (文字列)

使用する設定の名前。

x

Function Name (関数名)

String (文字列)

実行する関数の名前。

x

Content (コンテンツ)

Binary (バイナリ)

実行する BAPIFunction。

#[payload]

Transactional Action (トランザクションアクション)

Enumeration (列挙)。次のいずれかになります。

  • ALWAYS_JOIN​

  • JOIN_IF_POSSIBLE​

  • NOT_SUPPORTED

トランザクションに関して操作で実行する結合アクションの種別。

JOIN_IF_POSSIBLE

Streaming Strategy (ストリーミング戦略)

Mule によるストリームの処理方法を設定します。反復可能ストリームは、デフォルトの動作です。

Target Variable (対象変数)

String (文字列)

操作の出力を保存する変数の名前。

Target Value (対象値)

String (文字列)

操作の出力を評価する式。式の結果は ​[Target Variable (対象変数)]​ 項目に保存されます。

#[payload]

Reconnection Strategy (再接続戦略)

接続エラーが発生した場合の再試行戦略。

#### [](#出力-6)出力

型

Binary (バイナリ)

#### [](#関連する設定-9)関連する設定 - [Configuration (設定)](#sap) #### [](#スロー-7)スロー - SAP:CONNECTIVITY - SAP:INVALID\_CACHE - SAP:INVALID\_INPUT - SAP:METADATA\_UNAVAILABLE - SAP:NOT\_FOUND - SAP:NOT\_SUPPORTED - SAP:PARSING - SAP:RETRY\_EXHAUSTED - SAP:SYSTEM\_BUSY - SAP:TIMEOUT ## [](#object-types-オブジェクト種別)Object Types (オブジェクト種別) - [Expiration Policy (有効期限ポリシー)](#ExpirationPolicy) - [IDoc 解析パラメーターグループ](#IDocParseParameterGroup) - [IDoc 表示パラメーターグループ](#IDocRenderParameterGroup) - [Message Server (メッセージサーバー)](#MessageServer) - [Reconnect (再接続)](#reconnect) - [\[reconnect-forever\]](#reconnect-forever) - [Reconnection (再接続)](#Reconnection) - [Redelivery Policy (再配信ポリシー)](#RedeliveryPolicy) - [Repeatable File Store Stream (反復可能なファイルストアストリーム)](#repeatable-file-store-stream) - [Repeatable In Memory Stream (反復可能なメモリ内ストリーム)](#repeatable-in-memory-stream) - [SAP Attributes (SAP 属性)](#SapAttributes) ### [](#ExpirationPolicy)Expiration Policy (有効期限ポリシー) 有効期限ポリシー戦略を設定します。
項目 型 説明 デフォルト値 必須

Max Idle Time (最大アイドル時間)

Number (数値)

動的設定インスタンスがアイドル状態を続けられる最大時間を設定します。この時間が経過すると、Mule Runtime で期限切れに相当するとみなされます。

Time Unit (時間単位)

Enumeration (列挙)。次のいずれかになります。

  • NANOSECONDS (ナノ秒)

  • MICROSECONDS (マイクロ秒)

  • MILLISECONDS (ミリ秒)

  • SECONDS (秒)

  • MINUTES (分)

  • HOURS (時間)

  • DAYS (日)

[Max Idle Time (最大アイドル時間)]​ 項目の時間単位。

### [](#IDocParseParameterGroup)IDoc 解析パラメーターグループ IDoc 解析オプション。
項目 型 説明 デフォルト値 必須

Parse With Field Value Checking (解析 - 項目値チェックあり)

Boolean (ブール)

解析時に各 IDoc 項目メタデータに応じた項目値チェックメカニズムを有効にするかどうかを示します。

false

Parse Ignore Unknown Fields (解析 - 不明な項目を無視)

Boolean (ブール)

古い IDoc メタデータを使用して解析している場合など、解析時に不明な項目を無視するかどうかを示します。

false

Parse Ignore Invalid Char Errors (解析 - 無効文字エラーを無視)

Boolean (ブール)

解析時に、宣言されている XML 仕様バージョンに応じた文字範囲チェックのエラーを無視するかどうかを示します。 このオプションを使用すると、項目値内の無効な文字は受け入れられますが、解析する XML ドキュメントに、有効な文字範囲外の文字が含まれる可能性があります。

false

Parse Without Field Data Type Checking (解析 - 項目データ型チェックなし)

Boolean (ブール)

解析時に各 IDoc 項目メタデータに応じた項目データ型チェックメカニズムを無効にするかどうかを示します。

このオプションは慎重に使用してください。

項目の定義済みのデータ型に違反する不正な項目コンテンツが含まれる IDoc を送信すると、AS ABAP での処理時に ABAP システムダンプが発生し、認識されない部分的なデータの損失が発生する可能性があります。

false

Parse Refuse Unknown XML Version (解析 - 不明な XML バージョンを拒否)

Boolean (ブール)

考えられる将来の XML 仕様バージョン 1.2 または 2.0 など、不明な XML 仕様バージョンを宣言している XML ドキュメントを拒否するかどうかを示します。

false

Parse Refuse XML Version10 (解析 - XML バージョン 10 を拒否)

Boolean (ブール)

XML 仕様バージョン 1.0 を使用しないまたは XML 宣言ヘッダーを含まない XML ドキュメントを拒否するかどうかを示します。

false

Parse Refuse XML Version11 (解析 - XML バージョン 11 を拒否)

Boolean (ブール)

XML 仕様バージョン 1.1 を使用する XML ドキュメントを拒否するかどうかを示します。

false

Parse Accept Only Xml Version10 (解析 - XML バージョン 10 のみを受け入れ)

Boolean (ブール)

XML 仕様バージョン 1.0 を使用するまたは XML 宣言ヘッダーを含まない XML ドキュメントのみを受け入れるかどうかを示します。

false

Parse Accept Only Xml Version11 (解析 - XML バージョン 11 のみを受け入れ)

Boolean (ブール)

XML 仕様バージョン 1.1 を使用するまたは XML 宣言ヘッダーを含まない XML ドキュメントのみを受け入れるかどうかを示します。

false

Parse Accept Only Xml Version10 To11 (解析 - XML バージョン 10 ~ 11 のみを受け入れ)

Boolean (ブール)

XML 仕様バージョン 1.0 または 1.1 を使用するまたは XML 宣言ヘッダーを含まない XML ドキュメントのみを受け入れるかどうかを示します。

false

### [](#IDocRenderParameterGroup)IDoc 表示パラメーターグループ IDoc 表示オプション。
項目 型 説明 デフォルト値 必須

Render IDoc Empty Tags (IDoc 表示 - 空のタグ)

Boolean (ブール)

結果の XML ドキュメントに空のタグをすべて含めるかどうかを示します。

false

Render IDoc Ignore Invalid Char Errors (IDoc 表示 - 無効文字エラーを無視)

Boolean (ブール)

使用されている XML 仕様バージョンに応じた文字範囲チェックのエラーを無視するかどうかを示します。

false

Render IDoc Ignore Tag Escape Errors (IDoc 表示 - タグエスケープエラーを無視)

Boolean (ブール)

使用されている IDocXML 形式に応じた XML タグ内のエスケープ文字のエラーを無視するかどうかを示します。

false

Render IDoc Omit Xml Declaration (IDoc 表示 - XML 宣言を除外)

Boolean (ブール)

結果の XML ドキュメントで XML 宣言セクションを除外するかどうかを示します。

false

Render IDoc Optional Encoding Decl (IDoc 表示 - 省略可能なエンコード宣言)

Boolean (ブール)

結果の XML ドキュメントに省略可能な XML エンコード宣言属性を書き込むかどうかを示します。

false

Render IDoc Substitute Invalid Chars (IDoc 表示 - 無効な文字を置き換え)

Boolean (ブール)

IDoc 項目値内の無効な文字を番号記号 ​#​ (​U+0023​) に置き換えるかどうかを示します。

false

Render IDoc With CR (IDoc 表示 - CR を含む)

Boolean (ブール)

結果の XML ドキュメントに ​CR​ (キャリッジリターン) 文字を挿入するかどうかを示します。

false

Render IDoc With CRLF (IDoc 表示 - CRLF を含む)

Boolean (ブール)

結果の XML ドキュメントに ​CR+LF​ (キャリッジリターンとラインフィード) 文字を挿入するかどうかを示します。

false

Render IDoc With LF (IDoc 表示 - LF を含む)

Boolean (ブール)

結果の XML ドキュメントに ​LF​ (ラインフィード) 文字を挿入するかどうかを示します。

false

Render IDoc With Tabs And CR (IDoc 表示 - タブおよび CR を含む)

Boolean (ブール)

結果の XML ドキュメントに ​TAB​ および ​CR​ (タブおよびキャリッジリターン) 文字を挿入するかどうかを示します。

false

Render IDoc With Tabs And CRLF (IDoc 表示 - タブおよび CRLF を含む)

Boolean (ブール)

結果の XML ドキュメントに ​TAB​ および ​CR+LF​ (タブおよびキャリッジリターンとラインフィード) 文字を挿入するかどうかを示します。

false

Render IDoc With Tabs And LF (IDoc 表示 - タブおよび LF を含む)

Boolean (ブール)

結果の XML ドキュメントに ​TAB​ および ​LF​ (タブおよびラインフィード) 文字を挿入するかどうかを示します。

false

Render IDoc Xml10 (IDoc 表示 - Xml10)

Boolean (ブール)

XML 仕様バージョン 1.0 に準拠する XML ドキュメントを作成するかどうかを示します。

false

Render IDoc Xml11 (IDoc 表示 - Xml11)

Boolean (ブール)

XML 仕様バージョン 1.1 に準拠する XML ドキュメントを作成するかどうかを示します。

false

### [](#MessageServer)Message Server (メッセージサーバー) 複数のゲートウェイを使用してメッセージサーバーを設定でき、​**Document Listener**​ ソースに渡すことができるため、負荷分散やパフォーマンスの向上を実現できます。詳細は、​[「複数のゲートウェイの設定」](https://docs.mulesoft.com/jp/sap-connector/5.7/sap-connector-examples#configure-multiple-gateways)​を参照してください。
項目 型 説明 デフォルト値 必須

Host (ホスト)

String (文字列)

メッセージサーバーのホスト。

x

System Id (システム ID)

String (文字列)

SAP システムのシステム ID。

x

Port (ポート)

Number (数値)

コネクタがメッセージサーバーにログインするために使用するポート。

Group (グループ)

String (文字列)

SAP アプリケーションサーバーのグループ。

Router (ルーター)

String (文字列)

ファイアウォールによって保護されるシステムに使用する SAP ルーター文字列。

### [](#reconnect)Reconnect (再接続) 標準再接続戦略を設定し、再接続の頻度と、コネクタソースまたは操作で実行できる再接続の試行回数を指定します。
項目 型 説明 デフォルト値 必須

Frequency (頻度)

Number (数値)

再接続を試行する頻度 (ミリ秒)。

Count (数)

Number (数値)

Mule アプリケーションで実行できる再接続の試行回数。

### [](#reconnect-forever-繰り返し再接続)Reconnect Forever (繰り返し再接続) Mule アプリケーションが実行されている間はコネクタソースや操作によって指定された頻度で再接続が試行される Forever 再接続戦略を設定します。
項目 型 説明 デフォルト値 必須

Frequency (頻度)

Number (数値)

再接続を試行する頻度 (ミリ秒)。

### [](#Reconnection)Reconnection (再接続) 操作の再接続戦略を設定します。
項目 型 説明 デフォルト値 必須

Fails Deployment (デプロイメントに失敗)

Boolean (ブール)

アプリケーションのデプロイ時に、関連する再接続戦略をすべて実行した後、接続テストに合格しない場合の処理:

  • true​

    デプロイメントの失敗を許可します。

  • false​

    接続テストの結果を無視します。

Reconnection Strategy (再接続戦略)

使用する再接続戦略。

### [](#RedeliveryPolicy)Redelivery Policy (再配信ポリシー) エラーを生成する要求を実行するための再配信ポリシーを設定します。再配信ポリシーは、フロー内のあらゆる提供元に追加できます。
項目 型 説明 デフォルト値 必須

Max Redelivery Count (最大再配信数)

Number (数値)

再配信される要求の最大処理失敗回数。この回数を超えると、​REDELIVERY_EXHAUSTED​ エラーが返されます。

Use Secure Hash (セキュアハッシュを使用)

Boolean (ブール)

再配信されたメッセージの識別にセキュアハッシュアルゴリズムを使用するかどうか。

Message Digest Algorithm (メッセージダイジェストアルゴリズム)

String (文字列)

[Use Secure Hash (セキュアハッシュを使用)]​ 項目が ​true​ の場合に使用するセキュアハッシュアルゴリズム。メッセージのペイロードが Java オブジェクトの場合、Mule ではこの値が無視され、ペイロードの ​hashCode()​ が返した値が返されます。

Id Expression (ID 式)

String (文字列)

メッセージがいつ再配信されたのかを判断する 1 つ以上の式。このプロパティは、​[Use Secure Hash (セキュアハッシュを使用)]​ 項目が ​false​ の場合にのみ設定できます。

Object Store (オブジェクトストア)

Object Store (オブジェクトストア)

各メッセージの再配信カウンターが保存されるオブジェクトストアを設定します。

### [](#repeatable-file-store-stream)Repeatable File Store Stream (反復可能なファイルストアストリーム) 反復可能なファイルストアストリーミング戦略を設定します。この戦略では、ストリームコンテンツの一部がメモリ内に格納されます。ストリームのコンテンツが、設定されたバッファサイズよりも大きい場合、Mule はバッファのコンテンツをディスクにバックアップしてからメモリをクリアします。
項目 型 説明 デフォルト値 必須

In Memory Size (メモリ内サイズ)

Number (数値)

ストリームのデータで使用できるメモリの最大量。メモリ量がこの値を超えると、コンテンツはディスクにバッファされます。パフォーマンスを最適化する方法は、次のとおりです。

  • バッファサイズを大きくすると、Mule がバッファをディスクに書き込む回数を減らせます。これによってパフォーマンスが高まりますが、より多くのメモリが必要になるため、アプリケーションが処理できる同時要求数が制限されます。

  • バッファサイズを小さくすると、メモリの負荷は低減しますが、応答時間が長くなります。

Buffer Unit (バッファ単位)

Enumeration (列挙)。次のいずれかになります。

  • BYTE (バイト)

  • KB

  • MB

  • GB

[In Memory Size (メモリ内サイズ)]​ 項目の単位。

### [](#repeatable-in-memory-stream)Repeatable In Memory Stream (反復可能なメモリ内ストリーム) データが最大バッファサイズを超えた場合に要求が失敗するメモリ内ストリーミング戦略を設定します。ユースケースで最適なバッファサイズは、必ずパフォーマンステストを実施して決めてください。
項目 型 説明 デフォルト値 必須

Initial Buffer Size (初期バッファサイズ)

Number (数値)

データストリームに割り当てるメモリの初期容量。ストリーミングされたデータがこの値を超える場合は、​[Buffer Size Increment (バッファサイズ増分)]​ の単位で ​[Max In Memory Size (最大メモリ内サイズ)]​ 値を上限としてバッファが拡張されます。

Buffer Size Increment (バッファサイズ増分)

Number (数値)

バッファサイズが初期サイズを超えた場合に、拡張する量。値を ​0​ またはそれ以下に設定すると、バッファは拡張されません。

Max Buffer Size (最大バッファサイズ)

Number (数値)

使用するメモリの最大量。これを超えると、​STREAM_MAXIMUM_SIZE_EXCEEDED​ エラーが発生します。0 以下の値は無制限を意味します。

Buffer Unit (バッファ単位)

Enumeration (列挙)。次のいずれかになります。

  • BYTE (バイト)

  • KB

  • MB

  • GB

[Initial Buffer Size (初期バッファサイズ)]​ 項目、​[Buffer Size Increment (バッファサイズ増分)]​ 項目、​[Buffer Unit (バッファ単位)]​ 項目の単位。

### [](#SapAttributes)SAP Attributes (SAP 属性) SAP ペイロードの属性。
項目 型 説明 デフォルト値 必須

Transaction Id (トランザクション ID)

String (文字列)

トランザクション ID の値。

## [](#関連情報)関連情報 - [Anypoint Connector の概要](https://docs.mulesoft.com/connectors/introduction/introduction-to-anypoint-connectors) - [MuleSoft ヘルプセンター](https://help.mulesoft.com) # SAP Connector 5.8 SAP 用 Anypoint Connector (SAP Connector) を使用すると、SAP NetWeaver に基づいてデータを外部システムと統合できます。 このコネクタを使用するには、個別のライセンスが必要です。このコネクタを評価したり、本番環境で使用したりするには、MuleSoft にお問い合わせください。 Mule Runtime Engine (Mule) では、SAP 用 Anypoint Connector (SAP Java Connector (JCo) ライブラリを利用する SAP 認定 Java Connector) を介した SAP インテグレーションがサポートされます。SAP JCo により、SAP バックエンドシステムと Java アプリケーション間の通信が促進されます。Java プログラムは、SAP システムに接続して、Remote Function Module を起動できるようになります。また、オブジェクト型が異なっていても IDoc (SAP 中間ドキュメント) を解析できるようになります。SAP 設定では、インバウンド通信とアウトバウンド通信の両方がサポートされます。 SAP JCo ライブラリを使用すると、Mule アプリケーションで次のことができます。 - 次の種別の RFC プロトコルを介して BAPI 関数を実行する。 - Synchronous Remote Function Call RFC (sRFC) - Asynchronous Remote Function Call RFC (aRFC) - sRFC および aRFC を介して BAPI としてコールされる JCo サーバーとして動作する。 - tRFC および qRFC を介して IDoc を送信する。 - tRFC および qRFC を介して IDoc を受信する。 - SAP オブジェクト (BAPI および IDoc では JCo 関数) と XML 間の変換を行う。 SAP の頭字語については、​[「SAP 用語」](https://docs.mulesoft.com/jp/sap-connector/5.8/sap-connector-terminology)​を参照してください。 ## [](#始める前に)始める前に このコネクタを使用するには、以下に精通している必要があります。 - SAP Connector の API - Anypoint Connector - Mule Runtime Engine (Mule) - Mule フローの要素とグローバル要素 - Anypoint Studio (Studio) を使用した Mule アプリケーションの作成 アプリケーションを作成する前に、以下が必要です。 - SAP の対象リソースにアクセスするためのログイン情報 - 必要な RFC、BAPI、および IDoc を使用できるロールまたはプロファイルを持つサービスユーザー。 - SAP ビジネスコンテキスト (特に SAP R/3 ビジネススイート) の実践的な知識 - 管理的な観点からの SAP NetWeaver プラットフォームの基本的な理解 - ABAP 言語の知識 - 必要な SAP ライブラリをダウンロードするための SAP ID - NetWeaver アプリケーションサーバー (NWAS) に接続するための RFC プロトコルの使用 [ECC](http://www.cipherbsc.com/solutions/sap-erp-central-component-erp-ecc/)​ および [CRM](https://help.sap.com/viewer/p/SAP_CUSTOMER_RELATIONSHIP_MANAGEMENT)​ は、他の SAP ソリューションと同様に NWAS 上で実行されるため、コネクタを使用するユーザーはこれらのシステムにアクセスできます。 - Anypoint Studio を使用した Mule アプリケーションの作成方法に関する知識 アプリケーションを作成する前に、SAP Web サイトにアクセスし、IDoc、JCO、JCO Native のバージョン 3.1.x ライブラリを、使用するコンピューターのフォルダーにダウンロードします。 Studio 7 では、変換することなくライブラリ形式を直接使用できます。 ## [](#コネクタの一般的なユースケース)コネクタの一般的なユースケース SAP Connector の一般的なユースケースを次に挙げます。 - **エンタープライズリソースの統一されたビュー** 財務会計、資材管理、販売と流通、顧客サービスのビジネスでデジタル情報のリアルタイムインテグレーションを有効にして、コアビジネスプロセスを最適化するデータ主導の意思決定を行います。 - **データ同期** SAP データを Salesforce、Workday、Marketo などのビジネスアプリケーションと同期します。たとえば、SAP の多数のアカウントを Salesforce に移行したり、SAP の組織の変更をリアルタイムに Workday にブロードキャストしたりできます。 - **販売注文の自動化** SAP ERP と CRM (Salesforce など) 間の販売注文プロセスを自動化します。 - **BAPI のサポート** BAPI の検出、BAPI/RFM 対応の関数モジュールの照会、BAPI 関数の実行などを行います。 - **IDoc インテグレーション** SAP の IDoc の送受信、IDoc のインポート、SAP オブジェクトと XML の変換を行います。 これらのユースケースの例については、​[「SAP Connector の例」](https://docs.mulesoft.com/jp/sap-connector/5.8/sap-connector-examples)​を参照してください。 ## [](#認証種別)認証種別 SAP Connector 接続では、次の認証種別を使用します。 - Certificate (証明書) X509 証明書を使用してユーザーを認証する接続プロバイダー。 - Kerberos Kerberos プロトコルを実装してユーザーを認証および承認する接続プロバイダー。 - Simple Connection Provider ユーザー名とパスワードを使用して接続する接続プロバイダー。 ## [](#exchange-テンプレートおよび例)Exchange テンプレートおよび例 [Anypoint Exchange](https://www.mulesoft.com/exchange/)​ は、アプリケーションのスタートポイントとして使用できるテンプレートと、完全なソリューションを具体的に示した例を提供しています。 - **一般:**​ [「Account System API - SAP Implementation Template (アカウントシステム API - SAP 実装テンプレート)」](https://www.mulesoft.com/exchange/org.mule.templates/template-apiled-system-account-sap/)​、 [「Salesforce to Salesforce, Workday, SAP, and Database Account Broadcast (Salesforce to Salesforce、Workday、SAP、データベースアカウントのブロードキャスト)」](https://www.mulesoft.com/exchange/org.mule.templates/template-sfdc2sfdc.wday.sap.db-account-broadcast/) - **Salesforce と SAP:**​ [「Account Aggregation (取引先の集計)」](https://www.mulesoft.com/exchange/org.mule.templates/template-sap2sfdc-account-aggregation/)​、 [「Account Customer Bidirectional Sync (取引先の顧客の双方向同期)」](https://www.mulesoft.com/exchange/org.mule.templates/template-sap2sfdc-customer-bidirectional-sync/)​、 [「Opportunity Aggregation (商談の集計)」](https://www.mulesoft.com/exchange/org.mule.templates/template-sfdc2sap-opportunity-aggregation/)​、 [「Product Aggregation (商品の集計)」](https://www.mulesoft.com/exchange/org.mule.templates/template-sfdc2sap-product-aggregation/)​、 [「Product Bidirectional Sync (商品の双方向同期)」](https://www.mulesoft.com/exchange/org.mule.templates/template-sfdc2sap-product-bidirectional-sync/) - **Salesforce から SAP:**​ [「Account Broadcast (取引先のブロードキャスト)」](https://www.mulesoft.com/exchange/org.mule.templates/template-sfdc2sap-account-broadcast/)​、 [「Account Migration (取引先の移行)」](https://www.mulesoft.com/exchange/org.mule.templates/template-sfdc2sap-account-migration/)​、 [「Opportunity Broadcast (商談のブロードキャスト)」](https://www.mulesoft.com/exchange/org.mule.templates/template-sfdc2sap-opportunity-broadcast/)​、 [「Opportunity Migration (商談の移行)」](https://www.mulesoft.com/exchange/org.mule.templates/template-sfdc2sap-opportunity-migration/)​、 [「Product Broadcast (商品のブロードキャスト)」](https://www.mulesoft.com/exchange/org.mule.templates/template-sfdc2sap-product-broadcast/) - **SAP から Salesforce:**​ [「Contact Broadcast (取引先責任者のブロードキャスト)」](https://www.mulesoft.com/exchange/org.mule.templates/template-sap2sfdc-contact-broadcast/)​、 [「Contact Migration (取引先責任者の移行)」](https://www.mulesoft.com/exchange/org.mule.templates/template-sap2sfdc-contact-migration/)​、 [「Customer Broadcast (顧客のブロードキャスト)」](https://www.mulesoft.com/exchange/org.mule.templates/template-sap2sfdc-customer-broadcast/)​、 [「Customer Migration (顧客の移行)」](https://www.mulesoft.com/exchange/org.mule.templates/template-sap2sfdc-customer-migration/)​、 [「Product Material Broadcast (商品材料のブロードキャスト)」](https://www.mulesoft.com/exchange/org.mule.templates/template-sap2sfdc-product-broadcast/)​、 [「Product Material Migration (商品材料の移行)」](https://www.mulesoft.com/exchange/org.mule.templates/template-sap2sfdc-material-migration/) - **SAP から Workday:**​ [「Employee Migration (従業員の移行)」](https://www.mulesoft.com/exchange/org.mule.templates/template-sap2wday-employee-migration/)​、 [「Organization Broadcast (組織のブロードキャスト)」](https://www.mulesoft.com/exchange/org.mule.templates/template-sap2wday-organization-broadcast/)​、 [「Organization Migration (組織の移行)」](https://www.mulesoft.com/exchange/org.mule.templates/template-sap2wday-organization-migration/) - **Workday と SAP:**​ [「Organization Aggregation (組織の集計)」](https://www.mulesoft.com/exchange/org.mule.templates/template-wday2sap-organization-aggregation/)​、 [「Worker (Employee) Aggregation (作業員 (従業員) の集計)」](https://www.mulesoft.com/exchange/org.mule.templates/template-wday2sap-worker-aggregation/) - **Workday から SAP:**​ [「Worker (Employee) Migration (作業員 (従業員) の移行)」](https://www.mulesoft.com/exchange/org.mule.templates/template-wday2sap-worker2employee-migration/)​、 [「Worker Broadcast (作業員のブロードキャスト)」](https://www.mulesoft.com/exchange/org.mule.templates/template-wday2sap-worker-broadcast/) ## [](#次のステップ)次のステップ 前提条件を満たし、テンプレートおよびサンプルを試したら、​[Anypoint Studio](https://docs.mulesoft.com/jp/sap-connector/5.8/sap-connector-studio)​ でアプリケーションを作成できます。 ## [](#関連情報)関連情報 - [Anypoint Connector の概要](https://docs.mulesoft.com/connectors/introduction/introduction-to-anypoint-connectors) - [Anypoint Exchange の SAP Connector](https://www.mulesoft.com/exchange/com.mulesoft.connectors/mule-sap-connector/) - [MuleSoft ヘルプセンター](https://help.mulesoft.com) # SAP Connector 5.8 の Studio 設定 SAP Connector をインストールし、Anypoint Studio でコネクタを設定します。 まず、SAP から取得した SAP Java Connector (JCo) ライブラリをインストールします。これで、1 つ以上の SAP Connector 操作を含むアプリケーションを作成できます。Studio を使用すると、アプリケーションを作成して、そのアプリケーションにブラウザーからアクセスできます。 Anypoint Studio で SAP Connector を設定する手順は、次のとおりです。 1. コネクタを Mule プロジェクトに追加します。 2. SAP Connector を設定します。 3. コネクタの入力元を設定します。 ## [](#add-connector-to-project)コネクタを Mule プロジェクトに追加する SAP Connector を Mule プロジェクトに追加して、XML コードにコネクタの名前空間およびスキーマの場所を自動的に入力し、プロジェクトの ​`pom.xml`​ ファイルに必須の連動関係を追加します。 1. **\[Mule Palette (Mule パレット)\]**​ ビューで、​**\[(X) Search in Exchange ((X) Exchange 内を検索)\]**​ をクリックします。 2. **\[Add Dependencies to Project (連動関係をプロジェクトに追加)\]**​ ウィンドウで、検索項目に「​`sap`​」と入力します。 3. **\[Available modules (使用可能なモジュール)\]**​ で ​**\[SP Connector\]**​ をクリックします。 4. **\[Add (追加)\]**​ をクリックします。 5. **\[Finish (完了)\]**​ をクリックします。 Studio でコネクタを Mule プロジェクトに追加しても、Studio ワークスペースの他のプロジェクトはそのコネクタを使用できません。 ## [](#ソース操作を選択する)ソース操作を選択する 1. Anypoint Studio で ​**\[Mule Palette (Mule パレット)\]**​ をクリックして、「​`sap`​」と入力します。 2. 操作を選択します。 SAP からオブジェクトが送信されたときにアプリケーションを開始する場合、次のいずれかの操作を選択し、操作を Studio キャンバスの ​**\[Source (ソース)\]**​ 領域にドラッグします。 - **Document source**​ は IDoc の変更をリスンします。IDoc が変更されると、アプリケーションが実行されます。 - **Function source**​ は SAP 関数モジュールの変更をリスンします。対象の関数モジュールが変更されると、アプリケーションが実行されます。 項目値については、​[「SAP Connector リファレンス」](https://docs.mulesoft.com/jp/sap-connector/5.8/sap-connector-reference)​を参照してください。 **Document source**​ 操作または ​**Function source**​ 操作を選択した場合は、次のセクションに進んで SAP ライブラリをインストールします。 3. 代わりに、​**HTTP リスナー**​や​**スケジューラー**​など、このコネクタの入力元を設定して、操作を Studio キャンバスにドラッグすることもできます。 HTTP リスナーを使用すると、ブラウザーからアプリケーションを開始できます。スケジューラーは特定の時間にアプリケーションを開始します。 4. SAP ライブラリをインストールします。 ## [](#sap-ライブラリをインストールする)SAP ライブラリをインストールする Mule プロジェクトで SAP ライブラリを使用するには、まずライブラリをコンピューターにダウンロードする必要があります。Anypoint Studio では 3 つのライブラリを変換せずに直接使用できます。ライブラリをダウンロードするには、SAP ID が必要です。 各ライブラリのファイル種別は、オペレーティングシステムによって異なります。
OS ファイル種別

Windows

  • sapidoc3.jar

  • sapjco3.jar

  • sapjco3.dll

Mac OS

  • sapidoc3.jar

  • sapjco3.jar

  • libsapjco3.jnilib

Linux

  • sapidoc3.jar

  • sapjco3.jar

  • libsapjco3.so

SAP Connector では、SAP JCo ライブラリバージョン 3.0.x および 3.1.x がサポートされています。
ライブラリをインストールしたら、グローバル要素プロパティをカスタマイズして、接続をテストできます。 ## [](#anypoint-studio-でライブラリを設定する)Anypoint Studio でライブラリを設定する SAP Connector を Studio にインストールして、コネクタを Mule プロジェクトに追加したら、ライブラリを設定します。 1. フローでコネクタをダブルクリックします。 2. **\[Connector Configuration (コネクタ設定)\]**​ 項目の右にあるプラス記号 (​**+**​) をクリックします。 次の画面が表示されます。 ![sap connector configuration 01](/mulesoft/current/ja-jp/sap-connector/5.8/_images/sap-connector-configuration-01.png) ### [](#idoc-ライブラリをインストールする)IDOC ライブラリをインストールする 1. **\[Add Dependency (連動関係を追加)\]**​ をクリックします。 2. **\[Install (インストール)\]**​ をクリックします。 ![sap connector configuration 02](/mulesoft/current/ja-jp/sap-connector/5.8/_images/sap-connector-configuration-02.png) 3. **\[Install (インストール)\]**​ メニューで、​**\[Browse (参照)\]**​ をクリックして、ライブラリファイルを見つけます。 4. 一意のグループ ID、アーティファクト ID、バージョンを指定します。 ![sap connector configuration 02 in](/mulesoft/current/ja-jp/sap-connector/5.8/_images/sap-connector-configuration-02-in.png) 5. **\[Finish (完了)\]**​ をクリックするか、キャンセルする場合は、​**\[Remove Dependency (連動関係を削除)\]**​ をクリックします。 ![sap connector configuration 02 finish](/mulesoft/current/ja-jp/sap-connector/5.8/_images/sap-connector-configuration-02-finish.png) ### [](#jco-ライブラリをインストールする)JCO ライブラリをインストールする 1. **\[Add Dependency (連動関係を追加)\]**​ をクリックします。 2. **\[Install (インストール)\]**​ をクリックします。 ![sap connector configuration 02](/mulesoft/current/ja-jp/sap-connector/5.8/_images/sap-connector-configuration-02.png) 3. **\[Install (インストール)\]**​ メニューで、​**\[Browse (参照)\]**​ をクリックして、ライブラリファイルを見つけます。 4. 一意のグループ ID、アーティファクト ID、バージョンを指定します。 ![sap connector configuration 03 in](/mulesoft/current/ja-jp/sap-connector/5.8/_images/sap-connector-configuration-03-in.png) 5. **\[Finish (完了)\]**​ をクリックするか、キャンセルする場合は、​**\[Remove Dependency (連動関係を削除)\]**​ をクリックします。 ![sap connector configuration 03 finish](/mulesoft/current/ja-jp/sap-connector/5.8/_images/sap-connector-configuration-03-finish.png) ### [](#jco-native-ライブラリをインストールする)JCO Native ライブラリをインストールする 1. **\[Add Dependency (連動関係を追加)\]**​ をクリックします。 2. **\[Install (インストール)\]**​ をクリックします。 ![sap connector configuration 02](/mulesoft/current/ja-jp/sap-connector/5.8/_images/sap-connector-configuration-02.png) 3. **\[Install (インストール)\]**​ メニューで、​**\[Browse (参照)\]**​ をクリックして、ライブラリファイルを見つけます。 MacOS では、JCO バージョン 3.1.2 以降、ネイティブライブラリの拡張子が ​`jnilib`​ から ​`dylib`​ に変更されました。 1. ローカルマシンからライブラリをインストールした後: 2. **\[Shared Folder (共有フォルダー)\]**​ ウィンドウの一番下に移動します。 3. **\[Any (任意)\]**​ を選択して、​`dylib`​ ネイティブライブラリを選択します。 4. **\[Install file into local repository (ローカルリポジトリにファイルをインストール)\]**​ ウィンドウで、次の項目の値を入力します。 - **Group ID (グループ ID)** - **Artifact ID (アーティファクト ID)** - **Version (バージョン)** 4. 一意のグループ ID、アーティファクト ID、バージョンを指定します。 ![sap connector configuration 04 in](/mulesoft/current/ja-jp/sap-connector/5.8/_images/sap-connector-configuration-04-in.png) 5. **\[Finish (完了)\]**​ をクリックするか、キャンセルする場合は、​**\[Remove Dependency (連動関係を削除)\]**​ をクリックします。 ![sap connector configuration 04 finish](/mulesoft/current/ja-jp/sap-connector/5.8/_images/sap-connector-configuration-04-finish.png) ライブラリのインストールが終了したら、正常にインストールされた各ライブラリに緑色のチェックマークが付いた次のような設定画面が表示されます。 ![sap connector libraries installed](/mulesoft/current/ja-jp/sap-connector/5.8/_images/sap-connector-libraries-installed.png) ## [](#接続をテストする)接続をテストする 1. SAP ログインにサインインして必要な情報を取得し、​[Studio での設定](#gepparms)​の説明に従って、残りの ​**\[Global Element Properties (グローバル要素プロパティ)\]**​ 項目を設定します。 2. **\[Test Connection (接続をテスト)\]**​ をクリックして、ログイン情報が正しいことを確認します。 ## [](#コネクタの設定)コネクタの設定 Mule プロジェクトに複数の SAP Connector インスタンスがある場合、グローバル SAP 要素を作成できます。SAP Connector オブジェクトには、SAP サーバーに接続できるようにする設定プロパティが保持されています。 SAP Connector の設定を作成する手順は、次のとおりです。 1. **\[Global Elements (グローバル要素)\]**​ セクションに移動し、​**\[Create (作成)\]**​ をクリックします。 2. **\[Connector Configuration (コネクタ設定)\]**​ セクションで ​**\[SAP Inbound (SAP インバウンド)\]**​ または ​**\[SAP Outbound (SAP アウトバウンド)\]**​ のいずれかを選択します。 3. **\[General (一般)\]**​ タブペインで、SAP 接続を定義するのに必要なパラメーターを入力します。これは、SAP システム管理者が提供できます。 SAP グローバル要素プロパティにより、接続プロパティを定義したり、必要な SAP 連動関係をプロジェクトに追加したりできます。 SAP Connector では、使いやすいように最も一般的なプロパティのみがコネクタパラメーターとして表示されます。​**\[Properties (プロパティ)\]**​ パネルにリストされていないプロパティを設定するには、​[「拡張プロパティの定義」](https://docs.mulesoft.com/jp/sap-connector/5.8/sap-connector-config-topics)​トピックを参照してください。 最低限定義する必要のある属性は次のとおりです。
項目 説明

Application Server Host (アプリケーションサーバーホスト)

SAP エンドポイント。

Username (ユーザー名)

認証された SAP ユーザーのユーザー名。

Password (パスワード)

認証された SAP ユーザーのパスワードログイン情報。

System Number (システム番号)

SAP システムに接続するために使用されるシステム番号。

Client (クライアント)

SAP システムに接続するために使用される SAP クライアント ID (通常は数値)。

Login Language (ログイン言語)

SAP 接続で使用される言語。たとえば、英語の場合は ​EN​ になります。

プロパティプレースホルダー構文は簡単かつ再利用可能な方法であるため、この方法を使用してログイン情報を読み込むことをお勧めします。 SAP インスタンスへの接続が正しいことを確認するには、​**\[Test Connection (接続をテスト)\]**​ をクリックします。ログイン情報が正しければ、​`Test Connection Successful`​ というメッセージが表示されます。 ## [](#view-app-log)アプリケーションログの表示 問題を確認するため、アプリケーションログを次の方法で表示できます。 - アプリケーションを Anypoint Platform から実行している場合、出力は Anypoint Studio のコンソールウィンドウに表示される。 - コマンドラインから Mule を使用してアプリケーションを実行している場合、アプリケーションログは OS コンソールに表示される。 アプリケーションのログファイル (​`log4j2.xml`​) でログファイルパスがカスタマイズされていない場合、デフォルトの場所 ​`MULE_HOME/logs/.log`​ でアプリケーションログを表示することもできます。 ## [](#次のステップ)次のステップ Studio でこのコネクタを設定したら、​[「追加設定情報」](https://docs.mulesoft.com/jp/sap-connector/5.8/sap-connector-config-topics)​トピックで設定に関する他のトピックを参照してください。 ## [](#関連情報)関連情報 - [Anypoint Connector の概要](https://docs.mulesoft.com/connectors/introduction/introduction-to-anypoint-connectors) - [MuleSoft ヘルプセンター](https://help.mulesoft.com) # SAP Connector 5.8 の XML と Maven のサポート XML で Mule アプリケーションを手動でコーディングすることもできますが、Anypoint Studio を使用した方が効率的です。 Anypoint Studio の XML エディターまたはテキストエディターから Mule Runtime Engine (Mule) アプリケーションを手動でコーディングする場合、参照ステートメントを XML Mule フローと Apache Maven ​`pom.xml`​ ファイルの両方に追加することで、アプリケーションからコネクタにアクセスできます。 Studio でコネクタを追加すると、Studio は自動的に XML コードにコネクタの名前空間およびスキーマの場所を入力し、​`pom.xml`​ ファイルに連動関係を追加します。 ## [](#コネクタの名前空間の追加)コネクタの名前空間の追加 次のコードを設定 XML のヘッダーの ​``​ タグ内に貼り付けます。 ```xml http://www.mulesoft.org/schema/mule/sap http://www.mulesoft.org/schema/mule/sap/current/mule-sap.xsd ``` 次の例は、​``​ XML ブロック内に名前空間ステートメントが配置される方法を示しています。 ```xml ="http://www.mulesoft.org/schema/mule/" xmlns:ee="http://www.mulesoft.org/schema/mule/ee/core" xmlns:http="http://www.mulesoft.org/schema/mule/http" xmlns:file="http://www.mulesoft.org/schema/mule/file" 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/file http://www.mulesoft.org/schema/mule/file/current/mule-file.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"> ``` ## [](#pom-ファイルの連動関係の追加)POM ファイルの連動関係の追加 Apache Maven ​`pom.xml`​ ファイルは Anypoint Studio によって生成され、Mule アプリケーションの連動関係が含まれます。Mule アプリケーションを手動でコーディングする場合、次の XML スニペットを ​`pom.xml`​ ファイルに含めてこのコネクタにアクセスできるようにします: ```xml com.mulesoft.connectors mule-sap-connector x.x.x mule-plugin ``` `x.x.x`​ を使用しているコネクタに対応するバージョンに置き換えます。 JCo ライブラリをサポートするために、次の連動関係を追加します。 ```xml org.mule.tools.maven mule-maven-plugin ${mule.maven.plugin.version} true com.sap.conn.jco com.sap.conn.jco.sapjco3 com.sap.conn.idoc com.sap.conn.idoc.sapidoc3 com.sap.conn.jco com.sap.conn.jco.libsapjco3 ``` 最新の ​`pom.xml`​ ファイル情報を取得する手順は、次のとおりです。 1. [Anypoint Exchange](https://www.mulesoft.com/exchange/)​ に移動します。 2. Exchange で、​**\[Login (ログイン)\]**​ をクリックし、Anypoint Platform のユーザー名とパスワードを指定します。 3. Exchange で、「​`sap`​」を検索します。 4. コネクタを選択します。 5. 画面の右上付近にある ​**\[Dependency Snippets (連動関係スニペット)\]**​ をクリックします。 ## [](#次のステップ)次のステップ 名前空間および ​`pom.xml`​ ファイルを完了したら、SAP の​[例](https://docs.mulesoft.com/jp/sap-connector/5.8/sap-connector-examples)​を試すことができます。 ## [](#関連情報)関連情報 - [Anypoint Connector の概要](https://docs.mulesoft.com/connectors/introduction/introduction-to-anypoint-connectors) - [MuleSoft ヘルプセンター](https://help.mulesoft.com) # SAP Connector 5.8 のトラブルシューティング SAP 用 Anypoint Connector (SAP Connector) をトラブルシューティングするには、全般的なトラブルシューティングの実行、一般的な特定エラーへの対応、そして一般的にスローされる例外メッセージの解釈について理解しておく必要があります。 Unresolved include directive in modules/ROOT/pages/sap-connector-troubleshooting.adoc - include::connectors::partial$verbose-exception-logs.adoc\[\] Unresolved include directive in modules/ROOT/pages/sap-connector-troubleshooting.adoc - include::connectors::partial$verbose-logs-com.adoc\[\] ## [](#全般的なトラブルシューティングの実行)全般的なトラブルシューティングの実行 SAP Connector の全般的なトラブルシューティングガイドラインは次のとおりです。 - [ログファイルを確認する](#check-log-files) - [JCo トレースを有効にする](#enable-jco-trace) ### [](#check-log-files)ログファイルを確認する Mule では (アプリケーションごとに) ログファイルが ​`$MULE_HOME\logs`​ ディレクトリに保存されます。 - `mule.log` デフォルトの Mule ログファイル - `mule-app-YOUR_APP_NAME.log` アプリケーションごとのログファイル ### [](#enable-jco-trace)JCo トレースを有効にする JCo トレースは Mule の外部から有効にできます。JCo トレースは次の Java 起動環境プロパティを受け入れます。 - `-Djco.trace_level=N` `N`​ は ​`0`​ ~ ​`10`​ で、​`10`​ は最も詳細なトレース - `-Djco.trace_path=` 省略可能 JCo は ​`0`​ (デフォルト) ~ ​`10`​ のトレースレベルをサポートします。 トレースレベルが高いほど、トレースデータの量が増加します。各トレースレベルには、下位のトレースレベルのすべてのトレースデータも含まれます。多くの JCo コールと転送されるコンテンツで高い JCo トレースレベルを使用する場合は、十分なディスク容量が使用可能であることを確認してください。 コネクタレベルでトレースを有効にする手順は、次のとおりです。 1. 属性 ​`jcoTrace`​ を ​`true`​ に設定するか、値 ​`1`​ の拡張 JCo プロパティ ​`jco.client.trace`​ または ​`jco.server.trace`​ を指定します。 2. Mule の起動時に ​`-Djco.trace_level=N`​ の値を指定します。
トレースレベル AS Java セキュリティレベル JCo 3 トレースコンテンツ

0

NONE

トレースなし

1

ERROR

JCo バージョンとランタイム環境情報、およびアプリケーションエラーを含まない JCo 内部エラーと例外

2

WARNING

JCo 警告メッセージ (ABAP 以外のシステム例外など)

3

INFO

JCo 情報メッセージ (ABAP 例外など)

4

PATH

RFC コールおよび重要な公開 API コール

5

DEBUG

重要な内部ミドルウェアコール
コードページ情報

6

DEBUG

接続属性
ASCII コンテンツデータ (構造の最初の 1000 文字またはテーブルの最初の 5 行)

7

DEBUG

RFC メタデータ (名前、型、オフセット、長さ、インポートおよびエクスポートオプション、およびコンテンツデータのその他の 16 進数値を含む)

8

DEBUG

完全なコンテンツデータダンプ (文字または行の制限なし)
コール元のスタックトレース情報 (たとえば、​getClient()​ はアプリケーションを識別します)

9

DEBUG

追加情報なし (将来の使用のために予約済み)

10

DEBUG

追加情報なし (将来の使用のために予約済み)

3. 必要に応じて、​`-Djco.trace_path=`​ の値を指定します。通常、これは、トレースファイルが保存されている既存のディレクトリへの完全パスですが、他の特別な値を適用できます。 - `stdout` JCo トレース情報は標準​**出力**​ストリームに送信されます。 - `stderr` JCo トレース情報は標準​**エラー**​ストリームに送信されます。 `-Djco.trace_path`​ を設定しない場合、トレースファイルは作業ディレクトリに保存されます。Mule スタンドアロンインスタンスの場合、通常は ​`$MULE_HOME/bin`​ フォルダーになります。 ## [](#一般的なエラーのトラブルシューティング)一般的なエラーのトラブルシューティング SAP Connector の一般的なエラーとその解決方法のリストを次に示します。 - [JCo ライブラリの欠落](#missing-jco-libraries) - [JCo クラスローダーの競合](#jco-classloader-conflicts) - [JCo バージョンの競合](#jco-version-conflicts) - [JCo 名前変更の競合](#jco-renaming-conflicts) - [メッセージが SAP オブジェクトではない](#message-not-an-sap-object) - [IDoc メタデータを使用できない](#idoc-metadata-unavailable) - [TID ハンドラーの欠落](#missing-tid-handler) - [パラメーターがサポートされていない](#parameter-not-supported) - [複数の JCo サーバーが実行されている](#multiple-jco-servers-running) ### [](#missing-jco-libraries)JCo ライブラリの欠落 通常、1 つ以上の必須の SAP JCo 連動関係を読み込まずに接続のテストや Mule アプリケーションのデプロイを実行した場合にこのエラーが発生します。 - JCo ネイティブライブラリの欠落 ```text java.lang.ExceptionInInitializerError: JCo initialization failed with java.lang.UnsatisfiedLinkError: no sapjco3 in java.library.path ``` - JCo JAR の欠落 java.lang.NoClassDefFoundError: com/sap/conn/jco/JCoTraceListener - IDoc JAR の欠落 java.lang.NoClassDefFoundError: com/sap/conn/idoc/IDocMetaDataUnavailableException ![ライブラリが欠落している SAP 設定タブ](/mulesoft/current/ja-jp/sap-connector/5.8/_images/sap-connector-missing-libraries.png) このエラーを解決する手順は、次のとおりです。 1. **\[Required Libraries (必須ライブラリ)\]**​ セクションで、赤い感嘆符アイコンが付いている連動関係の横にある ​**\[Configure (設定)\]**​ をクリックします。 2. 連動関係を参照し、適切なファイルを選択します。 欠落している連動関係がプロジェクトのクラスパスに自動的に追加されます。
Package Explorer​ で、プロジェクトを右クリックし、​[Build Path (ビルドパス)] > [Configure Build Path (ビルドパスを設定)]​ に移動すると、プロジェクトのビルドパス内のライブラリが表示されます。
### [](#jco-classloader-conflicts)JCo クラスローダーの競合 ネイティブライブラリをグローバル設定から読み込むと、ファイルのコピーが ​`$YOUR_APP/src/main/app/lib`​ 内に配置されますが、ソースファイルは削除されません。そのため、接続のテストやアプリケーションのデプロイを実行するときに、ネイティブライブラリが JCo JAR ファイルと同じディレクトリを共有していると、次のエラーが発生します。 ```text java.lang.ExceptionInInitializerError: JCo initialization failed with java.lang.UnsatisfiedLinkError: Native Library /home/mule/sap-errors/lib/jco/libsapjco3.so already loaded in another classloader ``` ![SAP エラー、JCo クラスローダーフォルダー](/mulesoft/current/ja-jp/sap-connector/5.8/_images/sap-error-jco-classloader-folder.png) このエラーを解決する手順は、次のとおりです。 次のいずれかの解決策を選択します。最初の解決策は最も簡単ですが、2 番目の解決策をベストプラクティスとしてお勧めします。 - JCo JAR ファイルが存在するディレクトリから​_重複する_​ネイティブライブラリファイルを削除します。 ![SAP エラー、JCo クラスローダーの修正](/mulesoft/current/ja-jp/sap-connector/5.8/_images/sap-error-jco-classloader-fix.png) - ダイナミックリンクライブラリを保持するように環境変数 ​`LD_LIBRARY_PATH`​ を設定し、同じ Mule Runtime サーバー内にデプロイされている複数のアプリケーションでその環境変数を共有します。 ### [](#jco-version-conflicts)JCo バージョンの競合 次のエラーの最も多い原因は、異なるバージョンのネイティブライブラリと JCo JAR ファイルが使用されていることです。 ```text java.lang.ExceptionInInitializerError: Native library sapjco3 is too old. Found library System-defined path to libsapjco3.so has version "720.612", but required is at least version "720.713". ``` このエラーを解決するには、次の要件が満たされていることを確認します。 - 64 ビットモードで動作する JVM では 64 ビット JCo が必要で、32 ビットモードで動作する JVM では 32 ビット JCo が必要です。 - Microsoft Windows では、JCo には Microsoft Visual Studio 2005 C/C++ ランタイムライブラリが必要です。 - `sapjco.jar`​ と、​`sapjco3.dll`​、​`sapjco3.so`​、および ​`sapjco3.jnilib`​ のいずれかの両方が​**同じ JCo パッケージ**​から取得されている必要があります。 使用している JCo ライブラリのバージョンを確認するには、次のいずれかを実行します。 - Windows (UI): 1. `sapjco3.jar`​ ファイルが配置されているディレクトリに移動します。 2. `sapjco3.jar`​ ファイルを右クリックします。 3. コンテキストメニューから ​**\[プログラムから開く\]**​ を選択します。 4. **\[Java 2 Platform Standard Edition\]**​ バイナリをクリックします。 5. 表示された JCo ダイアログに表示されている情報を確認します。 - Mac: 1. ターミナルウィンドウを開きます。 2. `sapjco3.jar`​ ファイルが配置されているディレクトリに移動します。 3. コマンド ​`java -jar sapjco3.jar -version`​ を実行します。 4. 表示された JCo ダイアログに表示されている情報を確認します。 ### [](#jco-renaming-conflicts)JCo 名前変更の競合 JCo 3.0.11 以降では、SAP JCo ライブラリファイルは JCo により認識されないため、名前変更できず、次のエラーが表示されます。 ```text java.lang.ExceptionInInitializerError: Illegal JCo archive "sapjco3-3.0.11.jar". It is not allowed to rename or repackage the original archive "sapjco3.jar" ``` このエラーを解決する手順は、次のとおりです。 Apache Maven を使用している場合は、属性 ​`true`​ を持つ ​**maven-dependency-plugin**​ を設定します。これを設定し、JCo アーティファクトを削除すると、すべての連動関係ライブラリのバージョン番号が削除されます。 詳細は、 [「Apache Maven Dependency Plugin (Apache Maven Dependency プラグイン)」](http://maven.apache.org/plugins/maven-dependency-plugin/usage.html)​を参照してください。 ### [](#message-not-an-sap-object)メッセージが SAP オブジェクトではない エンドポイントは、BAPI または IDoc を実行するために必要な入力パラメーターを含む SAP オブジェクトを想定します。 以下のメッセージが表示された場合、次のいずれかが考えられます。 - 必要な入力パラメーターが指定されていない。 - 入力パラメーターは指定されているが、SAP オブジェクトが無効である。 ```text org.mule.api.transport.DispatchException: Message is not a SAP object, it is of type "byte[]". Check the transformer for this Connector "SapConnector". Failed to route event via endpoint: SapOutboundEndpoint{endpointUri=sap://function, connector=SapConnector { name=SapConnector lifecycle=start this=4571cebe numberOfConcurrentTransactedReceivers=4 createMultipleTransactedReceivers=true connected=true supportedProtocols=[sap] serviceOverrides= } , name='endpoint.sap.function', mep=ONE_WAY, properties={evaluateFunctionResponse=false, bapiTransaction=false, functionName=BAPI_MATERIAL_AVAILABILITY, rfcType=srfc, outputXml=true}, transactionConfig=Transaction{factory=null, action=INDIFFERENT, timeout=0}, deleteUnacceptedMessages=false, initialState=started, responseTimeout=10000, endpointEncoding=UTF-8, disableTransportTransformer=false}. Message payload is of type: byte[] ``` このエラーを解決する手順は、次のとおりです。 次の 2 つのいずれかの操作を実行して、BAPI または IDoc へのコールを表す SAP オブジェクトを作成します。 - BAPI コールを含む SAP オブジェクトが含まれる XML を作成します。 - 実際の SAP コールを作成するための入力が含まれる XML 定義を指定します。 ### [](#idoc-metadata-unavailable)IDoc メタデータを使用できない 次のエラーが発生した場合、RFC 宛先が Unicode をサポートしていないことを意味します。 ```text RfcException: [mc-vmware|a_rfc] message: (3) IDOC_ERROR_METADATA_UNAVAILABLE: The meta data for the IDoc type "??????????????????????????å å" with extension " ORDSAPB6L B60CL ???" is unavailable. Return code: RFC_FAILURE(1) error group: 104 key: RFC_ERROR_SYSTEM_FAILURE ``` このエラーを解決する手順は、次のとおりです。 トランザクション ​**SM59**​ を使用して、SAP インスタンスでの Unicode サポートを設定します。 ### [](#missing-tid-handler)TID ハンドラーの欠落 TID ハンドラーが定義されていないため、次のエラーが表示されます。 ```text RfcException: [mule.local|MULESOFT_IDOC_SEND_TEST] message: check TID fault: No transaction handler is installed. Unable to process tRFC/qRFC requests. Return code: RFC_FAILURE(1) error group: 104 key: RFC_ERROR_SYSTEM_FAILURE Exception raised by myhost.com.ar|MULESOFT_IDOC_SEND_TEST at com.sap.conn.jco.rt.MiddlewareJavaRfc$JavaRfcServer.playbackTRfc(MiddlewareJavaRfc.java:2625) at com.sap.conn.jco.rt.MiddlewareJavaRfc$JavaRfcServer.handletRfcRequest(MiddlewareJavaRfc.java:2546) at com.sap.conn.jco.rt.MiddlewareJavaRfc$JavaRfcServer.listen(MiddlewareJavaRfc.java:2367) at com.sap.conn.jco.rt.DefaultServerWorker.dispatch(DefaultServerWorker.java:284) at com.sap.conn.jco.rt.DefaultServerWorker.loop(DefaultServerWorker.java:369) at com.sap.conn.jco.rt.DefaultServerWorker.run(DefaultServerWorker.java:245) at java.lang.Thread.run(Thread.java:680) ``` このエラーを解決する手順は、次のとおりです。 ``​ で ​`rfcType`​ を ​`trfc`​ または ​`qrfc`​ に設定します。 ### [](#parameter-not-supported)パラメーターがサポートされていない SAP 拡張プロパティには有効な名前が必要です。このため、無効なプロパティ名を指定すると、次のようなエラーメッセージが表示されます。 ```text Root Exception stack trace: RfcException: [null] message: Parameter 'type' not supported: 'f' Return code: RFC_INVALID_PARAMETER(19) error group: 101 key: RFC_ERROR_PROGRAM at com.sap.conn.rfc.api.RfcOptions.checkParameters(RfcOptions.java:182) at com.sap.conn.jco.rt.MiddlewareJavaRfc$JavaRfcClient.connect(MiddlewareJavaRfc.java:1328) at com.sap.conn.jco.rt.ClientConnection.connect(ClientConnection.java:731) + 3 more (set debug level logging or '-Dmule.verbose.exceptions=true' for everything) ``` この例では、​`type`​ という名前のパラメーターが無効であることが JCo ライブラリにより報告されています。 このエラーを解決する手順は、次のとおりです。 JCo 拡張プロパティの有効なプロパティ名を指定します。 ### [](#multiple-jco-servers-running)複数の JCo サーバーが実行されている 2 つ以上の JCo サーバーには、設定名が異なっていても同じ設定パラメーターセットを含めることはできないため、次のエラーが表示されます。 ```text ERROR 2012-07-05 10:11:30,525 [WrapperListener_start_runner] com.mulesoft.mule.transport.sap.SapMessageReceiver: Error connecting to server com.sap.conn.jco.JCoException: (101) JCO_ERROR_CONFIGURATION: Server configuration for sapavalara-1.0-SNAPSHOT-gettax is already used for a running server at com.sap.conn.jco.rt.StandaloneServerFactory.update(StandaloneServerFactory.java:358) at com.sap.conn.jco.rt.StandaloneServerFactory.getServerInstance(StandaloneServerFactory.java:176) at com.sap.conn.jco.server.JCoServerFactory.getServer(JCoServerFactory.java:74) at com.mulesoft.mule.transport.sap.jco3.SapJcoRfcServer.initialise(SapJcoRfcServer.java:46) at com.mulesoft.mule.transport.sap.jco3.SapJcoServerFactory.create(SapJcoServerFactory.java:60) at com.mulesoft.mule.transport.sap.SapMessageReceiver.doConnect(SapMessageReceiver.java:56) at org.mule.transport.AbstractTransportMessageHandler.connect(AbstractTransportMessageHandler.java:218) at org.mule.transport.AbstractConnector.registerListener(AbstractConnector.java:1254) ```
これは、同じ Mule サーバーで実行されている Mule アプリケーションにのみ適用されます。Mule サーバーグループのノードにこの制限はありません。
このエラーを解決する手順は、次のとおりです。 次の属性を使用して、サーバーグループキーを作成します (サーバーグループキーは JCo サーバー接続のユニーク性を決定します)。 - `jco.server.gwhost` - `jco.server.gwserv` - `jco.server.progid` 2 つのサーバーで ​`gwhost`​、​`gwserv`​、および ​`progid`​ の値が異なる場合のみ、2 つのサーバーを同じ Mule インスタンスで開始できます (JCo はこの情報をシングルトンクラスで保持します)。 ## [](#スローされる一般的な例外メッセージの理解)スローされる一般的な例外メッセージの理解 スローされる一般的な例外メッセージとその解釈方法のリストを次に示します。 - SAP:CONNECTIVITY A connection cannot be established. (接続を確立できません。) - SAP:INVALID\_CACHE The cache used internally by the JCo library is corrupted or can’t be read. (JCo ライブラリで内部的に使用されているキャッシュが破損しているか、読み取ることができません。) - SAP:INVALID\_INPUT User input cannot be parsed or is incorrect. (ユーザー入力を解析できないか、ユーザー入力が正しくありません。) - SAP:METADATA\_UNAVAILABLE The metadata for an IDoc segment is unavailable. (IDoc セグメントのメタデータを利用できません。) - SAP:NOT\_FOUND A function or IDoc template cannot be found or retrieved. (関数または IDoc テンプレートが見つからないか、取得できません。) - SAP:NOT\_SUPPORTED An action occurs that is not supported by any JCo handler. (JCo ハンドラーでサポートされていないアクションが実行されました。) - SAP:PARSING The JCo library has a parsing issue or the connector cannot convert XML to a BAPI function or an IDoc. (JCo ライブラリに解析の問題があるか、コネクタが XML を BAPI 関数または IDoc に変換できません。) - SAP:RETRY\_EXHAUSTED Execution block retries are exhausted. (実行ブロックの再試行が終了しました。) - SAP:SYSTEM\_BUSY The remote ABAP system is too busy to handle a request. (リモートの ABAP システムが混雑しているため要求を処理できません。) - SAP:TIMEOUT A timeout exception happens inside the JCo library. (JCo ライブラリ内でタイムアウト例外が発生しました。) ## [](#関連情報)関連情報 - [Anypoint Connector の概要](https://docs.mulesoft.com/connectors/introduction/introduction-to-anypoint-connectors) - [SAP Connector リファレンス](https://docs.mulesoft.com/jp/sap-connector/5.8/sap-connector-reference) - [MuleSoft ヘルプセンター](https://help.mulesoft.com) # 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 EDI_DC40 800 0000000003519646 740 30 1 2 MATMAS01 MATMAS SAPIDE LS T90CLNT090 MULE01_TP LS MULE01_LS 20180606 133420 20180606133420 005 000000000000000088 19970527 MORLEY 20030122 I021066 KVB X FERT M 02004 PCE 000 0.200 0.200 KGM 0.000 0001 09 0.000 0.000 0.000 0.000 0.000 0.000 0.0 0.0 0 0 0 0 0 KVB 00000000 00000000 00 0.0 0.0 000000000 005 1 AS-100 T-shirt ZH 005 4 AS-100 T-shirt RO 005 5 AS-100 T-shirt SL 005 6 AS-100 T-shirt HR 005 E AS-100 T-shirt EN 005 F AS-100 T-shirt FR 005 G AS-100 T-shirt EL 005 J AS-100 T ??? JA 005 W AS-100 T-shirt BG 005 d AS-100 T-shirt SH 005 1000 V X 0 0 M 0.00 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0 00000000 0.00 0.00 0.00 0.000 0 0 0.0 0.0 0 0.00 0.000 0.0 00000000 01 0.00 0.000 0.00 0.000 000 000 000 0.000 0.00 0 00000000 0.00 00000000 00000000 0 00 00000000 0 0.000 0.000 0.000 0.000 00 0.000 005 2300 VB X 0 0 M 0.00 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0 00000000 0.00 0.00 0.00 0.000 0 0 0.0 0.0 0 0.00 0.000 0001 0.0 00000000 01 0.00 0.000 0.00 0.000 000 000 000 0.000 0.00 0 00000000 0.00 00000000 00000000 00000000 0 00 00000000 0 0.000 0.000 0.000 0.000 00 0.000 005 PCE 1 1 0.000 0.000 0.000 0.000 0.200 KGM 0 0 0.000 005 2300 X S 0 0.3 1 7920 S 0 0.3 1 7920 S 0 0.3 1998 09 0 00000000 0 0 0 0 0.000 0.000 0 0 0 0 0 00000000 00000000 00000000 0 0 00 B 000100014878 000100014879 00 00 00 000 000 000 0000 0000 0000 0 7920 1 X 0 005 ES MWST 0 ',"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\]**​ のプロパティに次の値を設定します。
項目 値

IDoc Name (IDoc 名)

MATMAS01

Content (コンテンツ)

#[payload]

### [](#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 EDI_DC40 800 0000000003519646 740 30 1 2 MATMAS01 MATMAS SAPIDE LS T90CLNT090 MULE01_TP LS MULE01_LS 20180606 133420 20180606133420
',"application/xml") ]]> ``` ## [](#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\]**​ のプロパティに次の値を設定します。
項目 値

Gateway host (ゲートウェイホスト)

ゲートウェイサーバーを実行するホスト

Gateway service (ゲートウェイサービス)

3200

Program id (プログラム ID)

MULE01_PID

Connection count (接続数)

1

Idoc type filter regex (Idoc 種別検索条件の正規表現)

MATMAS01

[Gateway host (ゲートウェイホスト)]​、​[Gateway service (ゲートウェイサービス)]​、​[Program id (プログラム ID)]​ は、顧客の SAP チームから取得する必要があります。

SAP インスタンスに関連するすべての情報 (設定やログイン情報など) を顧客の SAP チームから取得する必要があります。

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 --- ``` Studio コンソールでの応答例 ```dataweave EDI_DC40 800 0000000003572826 740 30 1 2 MATMAS01 MATMAS SAPIDE LS T90CLNT090 MULE11_TP LS MULE11_LS 20191004 050305 20191004050305 ... ``` ## [](#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 --- ``` ## [](#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 US 021000089 Citibank NY Park Avenue New York CITIUSXX 021000089 Manhattan 2005-03-11 C5031845 0 0 0 000 000000 0 ``` 3. Web ブラウザーから次の URL を入力して 2 番目のフローをテストします。 `http://localhost:8081/sync-mule-transaction` 次のような要求の XML 出力が表示されます。 ```dataweave TA 3000 10 00 .................... S V1 311 Standard Order 23669 has been saved 000000 Standard Order 23669 SALES_HEADER_IN 0 T90CLNT090 ``` 4. Web ブラウザーから次の URL を入力して 3 番目のフローをテストします。 `http://localhost:8081/async-rfc` 次のような要求の XML 出力が表示されます。 ```dataweave US 0 ``` ### [](#トランザクションを管理するための-xml)トランザクションを管理するための XML トランザクションの管理の例のフローをすばやく読み込むには、Studio で次のコードを新しい Mule アプリケーションに貼り付けます。環境に合わせて値を変更してください。 ```xml ``` ## [](#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\]**​ プロパティタブで、次の項目を設定します。
項目 値

Gateway host (ゲートウェイホスト)

54.160.77.19

Gateway service (ゲートウェイサービス)

3300

Program id (プログラム ID)

MULE11_IDOC_PID

Connection count (接続数)

1

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\]**​ プロパティタブで、次の項目を設定します。
項目 値

Function Name (関数名)

"ZMMFM_TRIGGER_IDOC_MATMAS"

Content (コンテンツ)

payload

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\]**​ プロパティタブで、次の項目を設定します。
項目 値

Function Name (関数名)

"ZMMFM_TRIGGER_IDOC_MATMAS"

Content (コンテンツ)

payload

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 ``` ## [](#関連情報)関連情報 - [Anypoint Connector の概要](https://docs.mulesoft.com/connectors/introduction/introduction-to-anypoint-connectors) - [MuleSoft ヘルプセンター](https://help.mulesoft.com) # SAP Connector 5.8 の用語

可能な場合は、Equality の会社の値に一致するように、含めない用語を変更しました。顧客の実装に対する影響を回避するために、一部の用語は変更されていません。

次に、一般的に要される SAP システムの頭字語を示します。 ABAP (アドバンスドビジネスアプリケーションプログラミング) SAP の独自プログラミング言語であり、ビジネスアプリケーションをビルドするための NetWeaver プラットフォームの一部。 ALE (アプリケーションリンクイネーブリング) SAP システムの分散アプリケーションおよび統合インストールをセットアップします。これには、緩やかにリンクしている SAP アプリケーション間で整合性が確保されたデータを使用するビジネス駆動型メッセージエクスチェンジが含まれます。アプリケーションは、中央データベースを使用せずに、同期通信および非同期通信で統合されます。 BAPI (ビジネスアプリケーションプログラミングインターフェース) 設計条件を満たし、次のような機能を提供する関数モジュール。 - SAP ビジネスオブジェクトのメソッドを実装する。 - さまざまなバージョンの SAP システムで静的インターフェースを維持する。 - リモートで有効化する。 - ユーザー操作の有無に関係なく実行が完了する。 - エラーを処理する。 FM (関数モジュール) SAP の ABAP 言語で定義された手順。これにより、SAP でグローバル関数をカプセル化および再利用できます。 IDoc (中間ドキュメント) SAP システム間で電子データを交換するための標準 SAP 形式。通常、メッセージ種別 (納品書や発注書など) ごとに異なる特殊な形式 (IDoc 種別と呼ばれる) に対応しています。ただし、関連するコンテンツが含まれる複数のメッセージ種別を 1 つの IDoc 種別に割り当てることもできます。 Java API 動的なメタデータルックアップおよびキャッシュを処理します。Java API は、SAP BAPI 関数モジュールのパラメーターおよびテーブルで使用する ​`JCO.Function`​ コンテナを Java で実装します。Java アプリケーションは、Java API 上に構築されます。 JNI (Java ネイティブインターフェース) JNI は、SAP Connector ライブラリのレイヤーです。JCo は、Java で C ライブラリをラップして、SAP システムへのプラットフォームネイティブなアクセスを提供します。RFC ミドルウェアは、JNI レイヤーを介して RFC ライブラリを使用します。 RFC (リモート関数コール) SAP システムとの通信は、RFC プロトコルを介して行われます。リモート関数コールは、BAPI をコールするか、コール元プログラムとして別のシステムで実行される IDoc 処理をトリガーします。RFC インターフェースにより、2 つの SAP システム間または SAP と外部システム間の関数コールが可能になります。 RFC レイヤー リモート関数コールを処理する SAP コンポーネント。 RFC ライブラリ SAP システムにアクセスするための C 言語ベースの関数のライブラリ。RFC ライブラリの対応は、JNI によって行われます。 SAP Java IDoc クラスライブラリ SAP IDoc の構造化された高レベルの解析とナビゲーションを Java で提供し、次のアドオンパッケージで構成されます。 - SAP Java ベース IDoc クラスライブラリ: ミドルウェアに依存する Java IDoc クラスライブラリの実装の一般的な基本クラスとインターフェースのセットを提供する、ミドルウェアに依存しないライブラリ。 - SAP Java Connector IDoc クラスライブラリ: IDoc を作成、送信、受信するためのミドルウェアに依存しないライブラリ。 SAP NetWeaver SAP ソリューションで使用される主要なテクノロジーおよびアプリケーションプラットフォームの 1 つ。NetWeaver の主要なコンポーネントは、ERP、CRM、SCM、PLM、SRM、BI などの SAP アプリケーションのランタイム環境を提供する SAP Web アプリケーションサーバー (WebAS) です。その他に、エンタープライズポータル、エクスチェンジインフラストラクチャ、マスターデータ管理、モバイルインフラストラクチャなどのコンポーネントもあります。SAP NetWeaver は、これらの技術的なコンポーネントの総称です。SAP NetWeaver は、Java スタックと ABAP スタックの両方で実行されます。 SNC (セキュアネットワークコミュニケーション) SAP NetWeaver のシングルサインオンや、SAP システムと連携する外部セキュリティ製品と統合します。SNC は、SAP システムでは直接使用できないセキュリティ関数を提供します。 ## [](#関連情報)関連情報 - [Anypoint Connectors Overview](https://docs.mulesoft.com/connectors/introduction/introduction-to-anypoint-connectors) - [MuleSoft ヘルプセンター](https://help.mulesoft.com) # SAP Connector 5.8 の追加設定 SAP Connector の基本設定を完了したら、詳細設定の変更や拡張プロパティの定義など、追加の設定タスクを実行できます。 ## [](#一般設定)一般設定 1. キャンバスの下部にある ​**\[Global Elements (グローバル要素)\]**​ タブをクリックします。 2. **\[Create (作成)\]**​ をクリックします。 3. **\[Connector Configuration (コネクタ設定)\]**​ を展開し、​**\[SAP Inbound (SAP インバウンド)\]**​ または ​**\[SAP Outbound (SAP アウトバウンド)\]**​ を選択して、​**\[OK\]**​ をクリックします。 4. **\[Global Element Properties (グローバル要素のプロパティ)\]**​ 画面の上部にある ​**\[Advanced (詳細)\]**​ タブをクリックします。 ![sap connector config adv](/mulesoft/current/ja-jp/sap-connector/5.8/_images/sap-connector-config-adv.png) 5. **\[General (一般)\]**​ セクションで、​**\[Max Idle time (最大アイドル時間)\]**​ を設定します。 1. **\[Expiration policy (有効期限ポリシー)\]**​ を選択します。 2. **\[Max Idle time (最大アイドル時間)\]**​ に値を入力し、​**\[Time Unit (時間単位)\]**​ を追加します。 3. **\[OK\]**​ をクリックします。
項目 型 説明 デフォルト値

Expiration Policy (有効期限ポリシー)

ExpirationPolicy

動的設定インスタンスがアイドル状態を続けられる最小時間を設定します。この時間が経過すると、Runtime で期限切れに相当するとみなされます。これは、インスタンスが有効期限の対象となった瞬間にプラットフォームでそのインスタンスが期限切れになるということではありません。必要に応じて、Runtime がインスタンスをパージします。

Max Idle time (最大アイドル時間)

Number (数値)

有効期限の対象とみなされるまで、動的設定インスタンスがアイドル状態を維持できる最大時間のスカラー時間値。

Time unit (時間単位)

Enumeration (列挙)。次のいずれかになります。

  • DAYS

  • HOURS

  • MICROSECONDS

  • MILLISECONDS

  • MINUTES

  • NANOSECONDS (ナノ秒) SECONDS (秒)

## [](#詳細設定)詳細設定 ![sap advanced](/mulesoft/current/ja-jp/sap-connector/5.8/_images/sap-advanced.png) \[Advanced (詳細)\] 設定では、エンコード、バージョン、フラグ、形式、およびタイムアウトの各パラメーターを設定できます。 これらの項目値を変更するには、​**\[Global Element Properties (グローバル要素のプロパティ)\]**​ 画面の上部にある ​**\[Advanced (詳細)\]**​ タブをクリックします。
項目 XML 属性 説明 デフォルト値

Display Name (表示名)

name (名前)

Mule 設定で内部的に使用されるエンドポイントの参照名を設定します。

Encoding (エンコード)

encoding

エンコードの正規名を設定します。 Oracle のサポートされるエンコード​を参照してください。

Default IDocument Version (デフォルトの IDoc バージョン)

defaultIdocumentVersion

中間ドキュメント (IDoc) を送信する場合、バージョンを設定します。IDoc バージョンの値は、​com.sap.conn.idoc.IDocFactory​ の ​IDOC_VERSION_xxxx​ 定数に対応しています。

Disable Function template cache flag ([関数テンプレートキャッシュを無効化] フラグ)

disableFunctionTemplateCacheFlag

関数テンプレートキャッシュを無効化するには、これを設定します。

false

Evaluate response flag ([応答を評価] フラグ)

evaluateResponseFlag

エラー応答で例外を発生させるのか、ユーザーが別の結果を使用してエラー応答を処理できるようにするのかを設定します。

false

Log trace flag ([トレースを記録] フラグ)

logTraceFlag

トレースを Mule サーバーに記録するかどうかを設定します。

false

Use SAP format (SAP 形式の使用)

useSAPFormat

同期リモート関数コール (sRFC) を使用してビジネスアプリケーションプログラミングインターフェース (BAPI) 関数を操作するときに SAP デフォルト形式を使用するには、これを設定します。

false

## [](#拡張プロパティの定義)拡張プロパティの定義 拡張プロパティを使用すると、SAP アウトバウンド設定パラメーターを調整できます。 SAP Connector のグローバル要素の拡張プロパティを定義する手順は、次のとおりです。 1. **\[General (一般)\]**​ ペインの ​**\[Advanced (詳細)\]**​ タブに移動します。 ![下部の \[Advanced (詳細)\] タブ](_images/sap-connector-advanced-tab.png) 2. ウィンドウの上部にある ​**\[Extended Properties (拡張プロパティ)\]**​ セクションを見つけます。 3. **\[Edit inline (インライン編集)\]**​ オプションを選択します。 4. **\[+\]**​ をクリックして、新しい拡張プロパティを追加します。 SAP で使用しているものと同じプロパティ名を使用します。 1. [Pooling Config (プーリング設定)](https://help.sap.com/viewer/b865ed651e414196b39f8922db2122c7/Cloud/en-US/8278bed44893498f95d5d6d5f0a47f35.html) 2. [Target System configuration (対象システム設定)](https://help.sap.com/viewer/b865ed651e414196b39f8922db2122c7/Cloud/en-US/f8fac995b0144a0b8ec0801b8f7bab3e.html) ### [](#クライアント環境の設定)クライアント環境の設定 使用しているオペレーティングシステムに依存するシステム変数を設定し、PSE (パーソナルセキュリティ環境) を生成します。 1. 次のコマンドを使用して cmd またはターミナルを開き、SAPCAR および SAP 暗号ライブラリを展開します。 \`SAPCAR -xvf これによりフォルダー​​からファイルが抽出されます。 2. 次の環境変数を設定します。​ **この例では、ライブラリへのパスは「C:\\Users\\Administrator\\Desktop\\SNC」です。** - SNC\_LIB - SECUDIR = ​`` - LD\_LIBRARY\_PATH​ = ​`\sapcrypto.dll` - SSF\_LIBRARY\_PATH​ = ​`\sapcrypto.dll` Windows の場合、​`sapcrypto.dll`​ の 64 ビットバージョンは別のパスにあり、​SNC\_LIB\_64​ という新しい変数に追加されています。 cmd またはターミナルで次のコマンドを使用して PSE を作成します。 `sapgenpse gen_pse -v -p RFC.pse` このコマンドを実行する場合、後で使用するパスワードまたは PIN と、一意である必要がある識別名を入力する必要があります。STRUST ですでに使用されている名前があるかどうかを確認できます。 3. セッションユーザーが PSE にアクセスするために必要とするログイン情報を追加します。PSE は「sapgenpse seclogin -p RFC -O you\_user」コマンドを使用して cred\_v2 ファイルを作成します。 ## [](#次のステップ)次のステップ これで設定が完了したので、SAP の​[例](https://docs.mulesoft.com/jp/sap-connector/5.8/sap-connector-examples)​を試すことができます。 ## [](#関連情報)関連情報 - [Anypoint Connector の概要](https://docs.mulesoft.com/connectors/introduction/introduction-to-anypoint-connectors) - [MuleSoft ヘルプセンター](https://help.mulesoft.com) # SAP Connector 5.8 リファレンス SAP 用 Anypoint Connector (SAP Connector) を使用すると、SAP NetWeaver に基づいてデータを外部システムと統合できます。
バージョン 5.0 以降、SAP Connector では、SAP S/4HANA のオンプレミスインスタンスへの接続もサポートされるようになりました。
## [](#制限事項)制限事項 - バージョン 5.4.0 以前の SAP Connector では、同じ ​PROGRAM\_ID​、​GATEWAY\_SERVICE​、​GATEWAY\_HOST​ を持つ同じ Mule Runtime Engine にデプロイされた複数のサーバーを JCo ライブラリによって作成することはできません。同じ ​PROGRAM\_ID​、​GATEWAY\_SERVICE​、および ​GATEWAY\_HOST​ を持つ 2 つのサーバーを作成しようとすると、1 つのサーバーのみが作成されます。この問題を回避するには、2 つの異なる Mule Runtime Engine を使用するか、2 つの異なる ​GATEWAY\_HOST​ を持つ同じ ​PROGRAM\_ID​ を使用します。 - SAP Connector では Bitronix トランザクションマネージャーはサポートされていません。 - **Document Listener**​ および ​**Function Listener**​ ソースでは、Mule トランザクションはサポートされていません。(​**\[Advanced (詳細)\] タブ**​の) ​**\[Transactional action (トランザクションアクション)\]**​ および ​**\[Transaction type (トランザクション種別)\]**​ パラメーターは両方のソースで使用できますが、トランザクション機能は実装されていません。 - SAP リスナー (​**\[Document Listener\]**​ と ​**\[Function Listener\]**​) の再接続戦略では JCo ライブラリのみに依存しています。つまり、Mule の再接続メカニズムは再接続に影響しません。 - 接続に問題がある場合、バックグラウンドで実行される JCO サーバーによって再接続が管理されます。JCo RFC プロバイダーにより、Java サーバーと ABAP ゲートウェイ間の通信エラーが認識され、再接続が再試行されます。最初の再接続に失敗すると、1 秒待機して次の再接続試行が行われます。再度再接続に失敗すると、再接続の待機時間は 1 秒から 2 秒と 2 倍になり、最終的にデフォルトの最大待機期間である 3600 秒 (1 時間) になるまで続きます。​`-Djco.server.max_startup_delay=`​ JMV パラメーターを使用して最大再接続タイムアウトを設定します。 ## [](#sap)Configuration (設定) SAP Connector のデフォルト設定。
名前 型 説明 デフォルト値 必須

Name (名前)

String (文字列)

この設定の名前。コネクタはこの名前の設定を参照します。

x

Connection (接続)

この設定の接続種別。

x

Expiration Policy (有効期限ポリシー)

動的設定インスタンスがアイドル状態を続けられる最小時間を設定します。この時間が経過すると、Mule Runtime で期限切れに相当するとみなされます。

Encoding (エンコード)

String (文字列)

エンコードの正規名。 Oracle のサポートされるエンコード​を参照してください。

Default Idocument Version (デフォルトの IDoc バージョン)

String (文字列)

デフォルトの IDoc バージョン。

0

Disable Jco Internal Cache (Jco 内部キャッシュを無効化)

Boolean (ブール)

JCo 内部キャッシュを使用するかどうかを示すフラグ。SAP JCo 内部キャッシュを無効にするには、このフラグを ​true​ に設定します。デフォルトでは、JCo は最初のコールの後にメタデータを保存し、後続のコールでそのテンプレートを入力します。このフラグは関数とソースの両方に適用されます。

false

Evaluate Response Flag ([応答を評価] フラグ)

Boolean (ブール)

エラー応答で例外をスローするか、ユーザーがエラー応答を別の結果として処理できるようにするのかを示すフラグ。このフラグは、メッセージで例外 (E) をスローするのか、警告 (W) 付きの結果として処理するのかを指定するために使用される例外またはログメカニズムです。

フラグを ​true​ に設定した場合、例外 (E) メッセージが返されると、そのメッセージと共に例外がスローされます。

フラグを ​true​ に設定した場合、警告 (W) メッセージが返されると、警告メッセージが記録されます。

false

Log Trace Flag ([トレースを記録] フラグ)

Boolean (ブール)

トレースを Mule サーバーに記録するかどうかを示すフラグ。トレースを記録するには、このフラグを ​true​ に設定します。

false

Use SAP Format (SAP 形式の使用)

Boolean (ブール)

SAP 値を返すための Mule 3 形式をサポートするかどうかを決定します。​JCoField​ を解析するときに ​JCoToBusinessObjectParser​ クラスで使用されます。BAPIFunctions over sRFC を使用する場合にのみ SAP デフォルト形式を使用します。

  • true​

    値は元の SAP 形式の文字列として返されます。

  • false​

    元の値が対応する Java オブジェクトに変換され、シリアル化されて返されます。

false

Use SAP Format On Function Listener (関数リスナーでの SAP 形式の使用)

Boolean (ブール)

SAP 値を返すための Mule 3 形式をサポートするかどうかを決定します。​JCoField​ を解析するために使用されます。BAPI 関数リスナーを使用する場合にのみ SAP デフォルト形式を使用します。

  • true​

    値は元の SAP 形式の文字列として返されます。

  • false​

    元の値が対応する Java オブジェクトに変換され、シリアル化されて返されます。

false

### [](#sap_certificate)\[Certificate (証明書)\] 接続種別 X509 証明書を使用してユーザーを認証します。
名前 型 説明 デフォルト値 必須

SAP system number (SAP システム番号)

String (文字列)

SAP システムの 2 桁のシステム番号 (sysnr)。

x

SAP client ID (SAP クライアント ID)

String (文字列)

3 桁のクライアント番号。数値で表示する場合は先行ゼロを保持します。

x

Destination Name (宛先名)

String (文字列)

このコネクタによって生成される宛先の識別子。設定されていない場合、ランダムな値が作成されます。

Login language (ログイン言語)

String (文字列)

コネクタで使用される言語コード。言語によって、SAP アダプターとアプリケーションサーバー間の通信に使用されるコードページが決定されます。

EN

Extended Properties (拡張プロパティ)

Object (オブジェクト)

データベースサーバー固有のすべての接続パラメーターを渡すために使用されます。

X.509 Certificate (X.509 証明書)

String (文字列)

X.509 証明書へのパス。これは、コネクタがクライアントとして機能する場合に必要です。

Application server host (アプリケーションサーバーホスト)

String (文字列)

SAP アプリケーションサーバーのホスト。

Message server configuration (メッセージサーバーの設定)

メッセージサーバーの使用の設定。

Enable RFC tracing on server (サーバーでの RFC トレースの有効化)

Boolean (ブール)

サーバーで RFC トレースを有効または無効にします。

false

Enable CPIC tracing on server (サーバーでの CPIC トレースの有効化)

Enumeration (列挙)。次のいずれかになります。

  • INHERIT

  • NO_TRACING​

  • LEVEL_1​

  • LEVEL_2​

  • LEVEL_3

サーバーで CPIC トレースを有効または無効にします。

Reconnection (再接続)

コネクタ操作で外部サーバーへの接続に失敗した場合に使用する再接続戦略を設定します。

### [](#sap_kerberos)Kerberos 接続種別 Kerberos プロトコルを実装してユーザーを認証および承認します。
名前 型 説明 デフォルト値 必須

SAP system number (SAP システム番号)

String (文字列)

SAP システムの 2 桁のシステム番号 (sysnr)。

x

SAP client ID (SAP クライアント ID)

String (文字列)

3 桁のクライアント番号。数値で表示する場合は先行ゼロを保持します。

x

Destination Name (宛先名)

String (文字列)

このコネクタによって生成される宛先の識別子。設定されていない場合、ランダムな値が作成されます。

Login language (ログイン言語)

String (文字列)

コネクタで使用される言語コード。言語によって、SAP アダプターとアプリケーションサーバー間の通信に使用されるコードページが決定されます。

EN

Extended Properties (拡張プロパティ)

Object (オブジェクト)

データベースサーバー固有のすべての接続パラメーターを渡すために使用されます。

Application server host (アプリケーションサーバーホスト)

String (文字列)

SAP アプリケーションサーバーのホスト。

Message server configuration (メッセージサーバーの設定)

メッセージサーバーの使用の設定。

Enable RFC tracing on server (サーバーでの RFC トレースの有効化)

Boolean (ブール)

サーバーで RFC トレースを有効または無効にします。

false

Enable CPIC tracing on server (サーバーでの CPIC トレースの有効化)

Enumeration (列挙)。次のいずれかになります。

  • INHERIT

  • NO_TRACING​

  • LEVEL_1​

  • LEVEL_2​

  • LEVEL_3

サーバーで CPIC トレースを有効または無効にします。

Kerberos Config File Path (Kerberos 設定ファイルパス)

String (文字列)

krb5.conf ファイルへのパス。

x

Keytab File Path (Keytab ファイルパス)

String (文字列)

keytab ファイルへのパス。

x

GSS Library Path (GSS ライブラリパス)

String (文字列)

gss ライブラリへのパス。

x

Principal (プリンシパル)

String (文字列)

コネクタが SAP にログインするために使用するプリンシパル。

x

Client SNC Partner Name (クライアント SNC のパートナー名)

String (文字列)

jco.client.snc_partnername​ プロパティ。

x

Client SNC My Name (クライアント SNC の私の名前)

String (文字列)

jco.client.snc_myname​ プロパティ。

x

Server SNC Partner Name (サーバー SNC のパートナー名)

String (文字列)

jco.server.snc_partnername​ プロパティ。

Server SNC My Name (サーバー SNC の私の名前)

String (文字列)

jco.server.snc_myname​ プロパティ。

Reconnection (再接続)

コネクタ操作で外部サーバーへの接続に失敗した場合に使用する再接続戦略を設定します。

### [](#sap_simple-connection-provider)Simple Connection Provider Connection Type ユーザー名とパスワードを使用して接続します。
名前 型 説明 デフォルト値 必須

SAP system number (SAP システム番号)

String (文字列)

SAP システムの 2 桁のシステム番号 (sysnr)。

x

SAP client ID (SAP クライアント ID)

String (文字列)

3 桁のクライアント番号。数値で表示する場合は先行ゼロを保持します。

x

Destination Name (宛先名)

String (文字列)

このコネクタによって生成される宛先の識別子。設定されていない場合、ランダムな値が作成されます。

Login language (ログイン言語)

String (文字列)

コネクタで使用される言語コード。言語によって、SAP アダプターとアプリケーションサーバー間の通信に使用されるコードページが決定されます。

EN

Extended Properties (拡張プロパティ)

Object (オブジェクト)

データベースサーバー固有のすべての接続パラメーターを渡すために使用されます。

Username (ユーザー名)

String (文字列)

コネクタが SAP にログインするために使用するユーザー名。

x

Password (パスワード)

String (文字列)

ログインユーザー名に関連付けられているパスワード。

x

Application server host (アプリケーションサーバーホスト)

String (文字列)

SAP アプリケーションサーバーのホスト。

Message server configuration (メッセージサーバーの設定)

メッセージサーバーの使用の設定。

Enable RFC tracing on server (サーバーでの RFC トレースの有効化)

Boolean (ブール)

サーバーで RFC トレースを有効または無効にします。

false

Enable CPIC tracing on server (サーバーでの CPIC トレースの有効化)

Enumeration (列挙)。次のいずれかになります。

  • INHERIT

  • NO_TRACING​

  • LEVEL_1​

  • LEVEL_2​

  • LEVEL_3

サーバーで CPIC トレースを有効または無効にします。

Reconnection (再接続)

アプリケーションがデプロイされると、すべてのコネクタで接続テストが実行されます。​true​ に設定されている場合、関連する再接続戦略をすべて実行した後にテストに合格しないと、デプロイメントが失敗します。

## [](#sources-ソース)Sources (ソース) - [Document Listener](#document-listener) - [Function Listener](#function-listener) ### [](#document-listener)Document Listener `` 受信 IDoc をリスンします。
名前 型 説明 デフォルト値 必須

Configuration (設定)

String (文字列)

使用する設定の名前。

x

Gateway Host (ゲートウェイホスト)

String (文字列)

ゲートウェイサーバーを実行するホストの名前。これは、ゲートウェイハンドラーを実行するホストの名前です。SAP ゲートウェイは、SAP 以外のアプリケーションを SAP アプリケーションに接続するために使用される開発フレームワークです。RFC 宛先を使用して、信頼されるシステムとして SAP ゲートウェイホストを設定できます。

x

Gateway Service (ゲートウェイサービス)

String (文字列)

SAP システムのゲートウェイサービスの名前またはサービスポート。

x

Program ID (プログラム ID)

String (文字列)

ゲートウェイに登録されている SAP システムプログラム ID。特定のゲートウェイで一意である必要があります。

x

Connection Count (接続数)

Number (数値)

ゲートウェイに登録する接続の数。複数の接続がある場合、ハンドラー要求は並列処理されます。たとえば、2 つの接続が設定されている場合、これにより、要求を並列処理する 2 つのハンドラーワーカーまたはスレッドが作成されます。これらは、一緒に開始する 2 つのソースのように機能します。

1

Idoc Type Filter Regex (Idoc 種別検索条件の正規表現)

String (文字列)

受信したすべての IDoc を種別で絞り込むための式。

Idoc Type Extension Filter Regex (Idoc 種別拡張機能検索条件の正規表現)

String (文字列)

受信したすべての IDoc を種別拡張機能で絞り込むための式。

Message server host (メッセージサーバーホスト)

String (文字列)

メッセージサーバーのホスト。

Message server port (メッセージサーバーポート)

String (文字列)

メッセージサーバー名またはポート番号。

System ID (システム ID)

String (文字列)

メッセージサーバーが属するシステムのシステム ID。

Group (グループ)

String (文字列)

ABAP で定義され、アプリケーションサーバーセットを識別するログオングループ。

Update interval (更新間隔)

String (文字列)

メッセージサーバーがアプリケーションサーバーのリストを取得する頻度。

IDoc Render Options (IDoc 表示オプション)

IDoc 表示オプション。

Encoding (エンコード)

String (文字列)

エンコードの正規名。 Oracle のサポートされるエンコード​を参照してください。

Transactional Action (トランザクションアクション)

Enumeration (列挙)。次のいずれかになります。

  • ALWAYS_BEGIN​

  • NONE

トランザクションに関してソースで実行する開始アクションの種別。

NONE

Transaction Type (トランザクション種別)

Enumeration (列挙)。次のいずれかになります。

  • LOCAL

  • XA

作成するトランザクションの種別。使用できるかどうかは、Mule バージョンによって決まります。

LOCAL

Primary Node Only (プライマリノードのみ)

Boolean (ブール)

クラスターでの Mule インスタンスの実行時、このソースをプライマリノード上でのみ実行するかどうかを決定します。

Streaming Strategy (ストリーミング戦略)

Mule によるストリームの処理方法を設定します。反復可能ストリームは、デフォルトの動作です。

Redelivery Policy (再配信ポリシー)

同じメッセージの再配信を処理するためのポリシーを定義します。

Reconnection Strategy (再接続戦略)

接続エラーが発生した場合の再試行戦略。

#### [](#出力)出力

型

Binary (バイナリ)

Attributes Type (属性型)

#### [](#関連する設定)関連する設定 - [Configuration (設定)](#sap) ### [](#function-listener)Function Listener `` 受信した BAPI 関数をリスンします。
名前 型 説明 デフォルト値 必須

Configuration (設定)

String (文字列)

使用する設定の名前。

x

Gateway Host (ゲートウェイホスト)

String (文字列)

ゲートウェイサーバーを実行するホストの名前。これは、ゲートウェイハンドラーを実行するホストの名前です。SAP ゲートウェイは、SAP 以外のアプリケーションを SAP アプリケーションに接続するために使用される開発フレームワークです。RFC 宛先を使用して、信頼されるシステムとして SAP ゲートウェイホストを設定できます。

x

Gateway Service (ゲートウェイサービス)

String (文字列)

SAP システムのゲートウェイサービスの名前またはサービスポート。

x

Program ID (プログラム ID)

String (文字列)

ゲートウェイに登録されている SAP システムプログラム ID。特定のゲートウェイで一意である必要があります。

x

Connection Count (接続数)

Number (数値)

ゲートウェイに登録する接続の数。複数の接続がある場合、ハンドラー要求は並列処理されます。たとえば、2 つの接続が設定されている場合、これにより、要求を並列処理する 2 つのハンドラーワーカーまたはスレッドが作成されます。これらは、一緒に開始する 2 つのソースのように機能します。

1

Targeted Function (対象関数)

String (文字列)

取得する関数の名前。受信した BAPI 関数を名前で絞り込みます。

Message server host (メッセージサーバーホスト)

String (文字列)

メッセージサーバーのホスト。

Message server port (メッセージサーバーポート)

String (文字列)

メッセージサーバー名またはポート番号。

System ID (システム ID)

String (文字列)

メッセージサーバーが属するシステムのシステム ID。

Group (グループ)

String (文字列)

ABAP で定義され、アプリケーションサーバーセットを識別するログオングループ。

Update interval (更新間隔)

String (文字列)

メッセージサーバーがアプリケーションサーバーのリストを取得する頻度。

Encoding (エンコード)

String (文字列)

エンコードの正規名。 Oracle のサポートされるエンコード​を参照してください。

Transactional Action (トランザクションアクション)

Enumeration (列挙)。次のいずれかになります。

  • ALWAYS_BEGIN​

  • NONE

トランザクションに関してソースで実行する開始アクションの種別。

NONE

Transaction Type (トランザクション種別)

Enumeration (列挙)。次のいずれかになります。

  • LOCAL

  • XA

作成するトランザクションの種別。使用できるかどうかは、Mule バージョンによって決まります。

LOCAL

Primary Node Only (プライマリノードのみ)

Boolean (ブール)

クラスターでの Mule インスタンスの実行時、このソースをプライマリノード上でのみ実行するかどうかを決定します。

Streaming Strategy (ストリーミング戦略)

Mule によるストリームの処理方法を設定します。反復可能ストリームは、デフォルトの動作です。

Redelivery Policy (再配信ポリシー)

同じメッセージの再配信を処理するためのポリシーを定義します。

Reconnection Strategy (再接続戦略)

接続エラーが発生した場合の再試行戦略。

Response (応答)

Binary (バイナリ)

ソース応答。

SAP 5.6 以降では、​Function Listener​ がトリガーされて、応答が SAP に戻されたときにテーブルの特定の行を更新できます。特定の行を更新するには、更新する行のインデックスを使用して、​INDEX_ROW_UPDATE​ パラメーターをペイロードに追加します。

#[payload]

#### [](#出力-2)出力

型

Binary (バイナリ)

Attributes Type (属性型)

#### [](#関連する設定-2)関連する設定 - [Configuration (設定)](#sap) ## [](#操作)操作 - [Asynchronous Remote Function Call](#asyncRfc) - [Confirm Transaction](#confirmTransactionId) - [Get Function](#getFunction) - [Retrieve IDoc](#retrieveIdoc) - [Send IDoc](#send) - [Start SAP Transaction](#startsaptransaction) - [Synchronous Remote Function Call](#syncRfc) ### [](#asyncRfc)Asynchronous Remote Function Call `` キューリモート関数コール (qRFC) を介して BAPIFunction を実行します。 qRFC はトランザクション RFC (tRFC) の拡張機能であり、個々のステップが順番に処理されることを保証します。これにより、複数の作業論理単位 (LUW) トランザクションがアプリケーションで指定された順序で処理されます。 インバウンドキューとアウトバウンドキューを使用して tRFC をシリアル化できるため、キュー RFC という名前になっています。 キュー (qRFC) は tRFC の拡張機能として、処理順序を定義するのに最適です。qRFC を使用して、複数のトランザクションを定義済みの順序で処理することを保証します。
名前 型 説明 デフォルト値 必須

Configuration (設定)

String (文字列)

使用する設定の名前。

x

Function Name (関数名)

String (文字列)

実行する関数の名前。

x

Content (コンテンツ)

Binary (バイナリ)

実行する BAPIFunction。

#[payload]

Transaction Id (トランザクション ID)

String (文字列)

RFC が 1 回のみ実行されるように RFC を識別する ID。

x

Queue Name (キュー名)

String (文字列)

RFC が実行されるキューの名前。処理される各 tRFC コールにはアプリケーションによりキュー名が与えられるため、これは qRFC に適用されます。qRFC トランザクションごとにキュー名とバージョンが必要です。

Encoding (エンコード)

String (文字列)

エンコードの正規名。 Oracle のサポートされるエンコード​を参照してください。

Transactional Action (トランザクションアクション)

Enumeration (列挙)。次のいずれかになります。

  • ALWAYS_JOIN​

  • JOIN_IF_POSSIBLE​

  • NOT_SUPPORTED

トランザクションに関して操作で実行する結合アクションの種別。

JOIN_IF_POSSIBLE

Reconnection Strategy (再接続戦略)

接続エラーが発生した場合の再試行戦略。

#### [](#関連する設定-3)関連する設定 - [Configuration (設定)](#sap) #### [](#スロー)スロー - SAP:CONNECTIVITY - SAP:INVALID\_CACHE - SAP:INVALID\_INPUT - SAP:METADATA\_UNAVAILABLE - SAP:NOT\_FOUND - SAP:NOT\_SUPPORTED - SAP:PARSING - SAP:RETRY\_EXHAUSTED - SAP:SYSTEM\_BUSY - SAP:TIMEOUT ### [](#confirmTransactionId)Confirm Transaction `` サーバーに対してトランザクションが成功したことを確認します。
名前 型 説明 デフォルト値 必須

Configuration (設定)

String (文字列)

使用する設定の名前。

x

Transaction ID (TID) (トランザクション ID (TID))

String (文字列)

確認するトランザクションの ID。

x

Transactional Action (トランザクションアクション)

Enumeration (列挙)。次のいずれかになります。

  • ALWAYS_JOIN​

  • JOIN_IF_POSSIBLE​

  • NOT_SUPPORTED

トランザクションに関して操作で実行する結合アクションの種別。

JOIN_IF_POSSIBLE

Reconnection Strategy (再接続戦略)

接続エラーが発生した場合の再試行戦略。

#### [](#関連する設定-4)関連する設定 - [Configuration (設定)](#sap) #### [](#スロー-2)スロー - SAP:CONNECTIVITY - SAP:RETRY\_EXHAUSTED ### [](#getFunction)Get Function `` 名前に基づいて BAPIFunction を取得します。
名前 型 説明 デフォルト値 必須

Configuration (設定)

String (文字列)

使用する設定の名前。

x

Function Name (関数名)

String (文字列)

取得する関数の名前。

x

Encoding (エンコード)

String (文字列)

エンコードの正規名。 Oracle のサポートされるエンコード​を参照してください。

Transactional Action (トランザクションアクション)

Enumeration (列挙)。次のいずれかになります。

  • ALWAYS_JOIN​

  • JOIN_IF_POSSIBLE​

  • NOT_SUPPORTED

トランザクションに関して操作で実行する結合アクションの種別。

JOIN_IF_POSSIBLE

Streaming Strategy (ストリーミング戦略)

Mule によるストリームの処理方法を設定します。反復可能ストリームは、デフォルトの動作です。

Target Variable (対象変数)

String (文字列)

操作の出力を保存する変数の名前。

Target Value (対象値)

String (文字列)

操作の出力を評価する式。式の結果は ​[Target Variable (対象変数)]​ 項目に保存されます。

#[payload]

Reconnection Strategy (再接続戦略)

接続エラーが発生した場合の再試行戦略。

#### [](#出力-3)出力

型

Binary (バイナリ)

#### [](#関連する設定-5)関連する設定 - [Configuration (設定)](#sap) #### [](#スロー-3)スロー - SAP:CONNECTIVITY - SAP:INVALID\_CACHE - SAP:INVALID\_INPUT - SAP:METADATA\_UNAVAILABLE - SAP:NOT\_FOUND - SAP:NOT\_SUPPORTED - SAP:PARSING - SAP:RETRY\_EXHAUSTED - SAP:SYSTEM\_BUSY - SAP:TIMEOUT ### [](#retrieveIdoc)Retrieve IDoc `` キーに基づいて IDoc 構造を取得します。
名前 型 説明 デフォルト値 必須

Configuration (設定)

String (文字列)

使用する設定の名前。

x

IDoc Name (IDoc 名)

String (文字列)

IDoc を取得するために必要な情報が含まれるキー。

x

Encoding (エンコード)

String (文字列)

エンコードの正規名。 Oracle のサポートされるエンコード​を参照してください。

Transactional Action (トランザクションアクション)

Enumeration (列挙)。次のいずれかになります。

  • ALWAYS_JOIN​

  • JOIN_IF_POSSIBLE​

  • NOT_SUPPORTED

トランザクションに関して操作で実行する結合アクションの種別。

JOIN_IF_POSSIBLE

Streaming Strategy (ストリーミング戦略)

Mule によるストリームの処理方法を設定します。反復可能ストリームは、デフォルトの動作です。

Target Variable (対象変数)

String (文字列)

操作の出力を保存する変数の名前。

Target Value (対象値)

String (文字列)

操作の出力を評価する式。式の結果は ​[Target Variable (対象変数)]​ 項目に保存されます。

#[payload]

Reconnection Strategy (再接続戦略)

接続エラーが発生した場合の再試行戦略。

#### [](#出力-4)出力

型

Binary (バイナリ)

#### [](#関連する設定-6)関連する設定 - [Configuration (設定)](#sap) #### [](#スロー-4)スロー - SAP:CONNECTIVITY - SAP:INVALID\_CACHE - SAP:INVALID\_INPUT - SAP:METADATA\_UNAVAILABLE - SAP:NOT\_FOUND - SAP:NOT\_SUPPORTED - SAP:PARSING - SAP:RETRY\_EXHAUSTED - SAP:SYSTEM\_BUSY - SAP:TIMEOUT ### [](#send)Send IDoc `` RFC を介して IDoc を SAP に送信します。RFC は、IDoc の 2 つの種別のいずれかになります。 - トランザクション (tRFC) 非同期リモート関数コール (aRFC) の特殊な形式。 tRFC は、元々独立して処理されていた処理ステップをトランザクションのように処理します。 tRFC は、ネットワークの問題でデータが複数回送信されても、コールされた関数モジュールを RFC サーバーで 1 回のみ実行する非同期通信方法です。RFC クライアントプログラムが tRFC を実行しているときにリモートシステムが使用できる状態になっている必要はありません。tRFC コンポーネントは、コールされる RFC 関数および対応するデータを一意のトランザクション ID (TID) で SAP データベースに保存します。 tRFC は、対象システムで待機しないという点で aRFC に似ています (書留郵便に似ている)。システムが使用できる状態でない場合、スケジューラー RSARFCSE によって選択され、60 秒ごとに実行されるトランザクション ID (SM58) でデータが aRFC テーブルに書き込まれます。 tRFC は、非同期 RFC の拡張機能として、システム間の通信を保護するのに最適です。 - キュー (qRFC) tRFC の拡張機能。 qRFC では、個々のステップが順番に処理されることも保証されます。複数の LUW (作業論理単位トランザクション) がアプリケーションで指定された順序で処理されることを保証するには、qRFC を使用します。 インバウンドキューとアウトバウンドキューを使用して tRFC をシリアル化できるため、キュー RFC (qRFC) という名前になっています。 キュー (qRFC) は tRFC の拡張機能として、処理順序を定義するのに最適です。複数のトランザクションを定義済みの順序で処理する場合、qRFC を実装します。 tRFC と qRFC の両方に TID ハンドラーがあります。
名前 型 説明 デフォルト値 必須

Configuration (設定)

String (文字列)

使用する設定の名前。

x

IDoc Name (IDoc 名)

String (文字列)

実行する IDoc の名前。

x

Content (コンテンツ)

Binary (バイナリ)

実行する IDoc。

#[payload]

バージョン

String (文字列)

IDoc のバージョン。

Transaction Id (トランザクション ID)

String (文字列)

RFC が 1 回のみ実行されるように RFC を識別する ID。

Queue Name (キュー名)

String (文字列)

RFC が実行されるキューの名前。処理される各 tRFC コールにはアプリケーションによりキュー名が与えられるため、これは qRFC に適用されます。qRFC トランザクションごとにキュー名とバージョンが必要です。

IDoc Parsing Options (IDoc 解析オプション)

IDoc 解析オプション。

Encoding (エンコード)

String (文字列)

エンコードの正規名。 Oracle のサポートされるエンコード​を参照してください。

Transactional Action (トランザクションアクション)

Enumeration (列挙)。次のいずれかになります。

  • ALWAYS_JOIN​

  • JOIN_IF_POSSIBLE​

  • NOT_SUPPORTED

トランザクションに関して操作で実行する結合アクションの種別。

JOIN_IF_POSSIBLE

Reconnection Strategy (再接続戦略)

接続エラーが発生した場合の再試行戦略。

#### [](#関連する設定-7)関連する設定 - [Configuration (設定)](#sap) #### [](#スロー-5)スロー - SAP:CONNECTIVITY - SAP:INVALID\_CACHE - SAP:INVALID\_INPUT - SAP:METADATA\_UNAVAILABLE - SAP:NOT\_FOUND - SAP:NOT\_SUPPORTED - SAP:PARSING - SAP:RETRY\_EXHAUSTED - SAP:SYSTEM\_BUSY - SAP:TIMEOUT ### [](#startsaptransaction)Start SAP Transaction `` future コールの一部として使用するトランザクション ID を作成します。
名前 型 説明 デフォルト値 必須

Configuration (設定)

String (文字列)

使用する設定の名前。

x

Transactional Action (トランザクションアクション)

Enumeration (列挙)。次のいずれかになります。

  • ALWAYS_JOIN​

  • JOIN_IF_POSSIBLE​

  • NOT_SUPPORTED

トランザクションに関して操作で実行する結合アクションの種別。

JOIN_IF_POSSIBLE

Target Variable (対象変数)

String (文字列)

操作の出力を保存する変数の名前。

Target Value (対象値)

String (文字列)

操作の出力を評価する式。式の結果は ​[Target Variable (対象変数)]​ 項目に保存されます。

#[payload]

Reconnection Strategy (再接続戦略)

接続エラーが発生した場合の再試行戦略。

#### [](#出力-5)出力

型

String (文字列)

#### [](#関連する設定-8)関連する設定 - [Configuration (設定)](#sap) #### [](#スロー-6)スロー - SAP:CONNECTIVITY - SAP:INVALID\_CACHE - SAP:INVALID\_INPUT - SAP:METADATA\_UNAVAILABLE - SAP:NOT\_FOUND - SAP:NOT\_SUPPORTED - SAP:PARSING - SAP:RETRY\_EXHAUSTED - SAP:SYSTEM\_BUSY - SAP:TIMEOUT ### [](#syncRfc)Synchronous Remote Function Call `` 同期リモート関数コール (sRFC) を介して BAPIFunction を実行します。 sRFC では、通信またはデータ転送時に両方のシステム (クライアントとサーバー) が使用できる状態になっていることが必要です。 sRFC は、最も一般的な種別で、sRFC の実行直後に結果が求められる場合に使用されます。 sRFC は、肯定応答が必要なシステム間の通信手段です。 ソースシステムのリソースは、対象システムで待機して、ACKD でメッセージ/データが配信されることを確認します。通信データの整合性と信頼性は確保されます。対象システムが使用できる状態になっていない場合、ソースシステムのリソースは対象システムが使用できる状態になるまで待機します。これにより、ソースシステムのプロセスが対象システムでスリープ/RFC/CPIC モードになり、これらのリソースがブロックされる可能性があります。sRFC は、システム間の通信や、SAP Web アプリケーションサーバーと SAP GUI 間の通信で使用します。
名前 型 説明 デフォルト値 必須

Configuration (設定)

String (文字列)

使用する設定の名前。

x

Function Name (関数名)

String (文字列)

実行する関数の名前。

x

Content (コンテンツ)

Binary (バイナリ)

実行する BAPIFunction。

#[payload]

Encoding (エンコード)

String (文字列)

エンコードの正規名。 Oracle のサポートされるエンコード​を参照してください。

Transactional Action (トランザクションアクション)

Enumeration (列挙)。次のいずれかになります。

  • ALWAYS_JOIN​

  • JOIN_IF_POSSIBLE​

  • NOT_SUPPORTED

トランザクションに関して操作で実行する結合アクションの種別。

JOIN_IF_POSSIBLE

Streaming Strategy (ストリーミング戦略)

Mule によるストリームの処理方法を設定します。反復可能ストリームは、デフォルトの動作です。

Target Variable (対象変数)

String (文字列)

操作の出力を保存する変数の名前。

Target Value (対象値)

String (文字列)

操作の出力を評価する式。式の結果は ​[Target Variable (対象変数)]​ 項目に保存されます。

#[payload]

Reconnection Strategy (再接続戦略)

接続エラーが発生した場合の再試行戦略。

#### [](#出力-6)出力

型

Binary (バイナリ)

#### [](#関連する設定-9)関連する設定 - [Configuration (設定)](#sap) #### [](#スロー-7)スロー - SAP:CONNECTIVITY - SAP:INVALID\_CACHE - SAP:INVALID\_INPUT - SAP:METADATA\_UNAVAILABLE - SAP:NOT\_FOUND - SAP:NOT\_SUPPORTED - SAP:PARSING - SAP:RETRY\_EXHAUSTED - SAP:SYSTEM\_BUSY - SAP:TIMEOUT ## [](#object-types-オブジェクト種別)Object Types (オブジェクト種別) - [Expiration Policy (有効期限ポリシー)](#ExpirationPolicy) - [IDoc 解析パラメーターグループ](#IDocParseParameterGroup) - [IDoc 表示パラメーターグループ](#IDocRenderParameterGroup) - [Message Server (メッセージサーバー)](#MessageServer) - [Reconnect (再接続)](#reconnect) - [\[reconnect-forever\]](#reconnect-forever) - [Reconnection (再接続)](#Reconnection) - [Redelivery Policy (再配信ポリシー)](#RedeliveryPolicy) - [Repeatable File Store Stream (反復可能なファイルストアストリーム)](#repeatable-file-store-stream) - [Repeatable In Memory Stream (反復可能なメモリ内ストリーム)](#repeatable-in-memory-stream) - [SAP Attributes (SAP 属性)](#SapAttributes) ### [](#ExpirationPolicy)Expiration Policy (有効期限ポリシー) 有効期限ポリシー戦略を設定します。
項目 型 説明 デフォルト値 必須

Max Idle Time (最大アイドル時間)

Number (数値)

動的設定インスタンスがアイドル状態を続けられる最大時間を設定します。この時間が経過すると、Mule Runtime で期限切れに相当するとみなされます。

Time Unit (時間単位)

Enumeration (列挙)。次のいずれかになります。

  • NANOSECONDS (ナノ秒)

  • MICROSECONDS (マイクロ秒)

  • MILLISECONDS (ミリ秒)

  • SECONDS (秒)

  • MINUTES (分)

  • HOURS (時間)

  • DAYS (日)

[Max Idle Time (最大アイドル時間)]​ 項目の時間単位。

### [](#IDocParseParameterGroup)IDoc 解析パラメーターグループ IDoc 解析オプション。
項目 型 説明 デフォルト値 必須

Parse With Field Value Checking (解析 - 項目値チェックあり)

Boolean (ブール)

解析時に各 IDoc 項目メタデータに応じた項目値チェックメカニズムを有効にするかどうかを示します。

false

Parse Ignore Unknown Fields (解析 - 不明な項目を無視)

Boolean (ブール)

古い IDoc メタデータを使用して解析している場合など、解析時に不明な項目を無視するかどうかを示します。

false

Parse Ignore Invalid Char Errors (解析 - 無効文字エラーを無視)

Boolean (ブール)

解析時に、宣言されている XML 仕様バージョンに応じた文字範囲チェックのエラーを無視するかどうかを示します。 このオプションを使用すると、項目値内の無効な文字は受け入れられますが、解析する XML ドキュメントに、有効な文字範囲外の文字が含まれる可能性があります。

false

Parse Without Field Data Type Checking (解析 - 項目データ型チェックなし)

Boolean (ブール)

解析時に各 IDoc 項目メタデータに応じた項目データ型チェックメカニズムを無効にするかどうかを示します。

このオプションは慎重に使用してください。

項目の定義済みのデータ型に違反する不正な項目コンテンツが含まれる IDoc を送信すると、AS ABAP での処理時に ABAP システムダンプが発生し、認識されない部分的なデータの損失が発生する可能性があります。

false

Parse Refuse Unknown XML Version (解析 - 不明な XML バージョンを拒否)

Boolean (ブール)

考えられる将来の XML 仕様バージョン 1.2 または 2.0 など、不明な XML 仕様バージョンを宣言している XML ドキュメントを拒否するかどうかを示します。

false

Parse Refuse XML Version10 (解析 - XML バージョン 10 を拒否)

Boolean (ブール)

XML 仕様バージョン 1.0 を使用しないまたは XML 宣言ヘッダーを含まない XML ドキュメントを拒否するかどうかを示します。

false

Parse Refuse XML Version11 (解析 - XML バージョン 11 を拒否)

Boolean (ブール)

XML 仕様バージョン 1.1 を使用する XML ドキュメントを拒否するかどうかを示します。

false

Parse Accept Only Xml Version10 (解析 - XML バージョン 10 のみを受け入れ)

Boolean (ブール)

XML 仕様バージョン 1.0 を使用するまたは XML 宣言ヘッダーを含まない XML ドキュメントのみを受け入れるかどうかを示します。

false

Parse Accept Only Xml Version11 (解析 - XML バージョン 11 のみを受け入れ)

Boolean (ブール)

XML 仕様バージョン 1.1 を使用するまたは XML 宣言ヘッダーを含まない XML ドキュメントのみを受け入れるかどうかを示します。

false

Parse Accept Only Xml Version10 To11 (解析 - XML バージョン 10 ~ 11 のみを受け入れ)

Boolean (ブール)

XML 仕様バージョン 1.0 または 1.1 を使用するまたは XML 宣言ヘッダーを含まない XML ドキュメントのみを受け入れるかどうかを示します。

false

### [](#IDocRenderParameterGroup)IDoc 表示パラメーターグループ IDoc 表示オプション。
項目 型 説明 デフォルト値 必須

Render IDoc Empty Tags (IDoc 表示 - 空のタグ)

Boolean (ブール)

結果の XML ドキュメントに空のタグをすべて含めるかどうかを示します。

false

Render IDoc Ignore Invalid Char Errors (IDoc 表示 - 無効文字エラーを無視)

Boolean (ブール)

使用されている XML 仕様バージョンに応じた文字範囲チェックのエラーを無視するかどうかを示します。

false

Render IDoc Ignore Tag Escape Errors (IDoc 表示 - タグエスケープエラーを無視)

Boolean (ブール)

使用されている IDocXML 形式に応じた XML タグ内のエスケープ文字のエラーを無視するかどうかを示します。

false

Render IDoc Omit Xml Declaration (IDoc 表示 - XML 宣言を除外)

Boolean (ブール)

結果の XML ドキュメントで XML 宣言セクションを除外するかどうかを示します。

false

Render IDoc Optional Encoding Decl (IDoc 表示 - 省略可能なエンコード宣言)

Boolean (ブール)

結果の XML ドキュメントに省略可能な XML エンコード宣言属性を書き込むかどうかを示します。

false

Render IDoc Substitute Invalid Chars (IDoc 表示 - 無効な文字を置き換え)

Boolean (ブール)

IDoc 項目値内の無効な文字を番号記号 ​#​ (​U+0023​) に置き換えるかどうかを示します。

false

Render IDoc With CR (IDoc 表示 - CR を含む)

Boolean (ブール)

結果の XML ドキュメントに ​CR​ (キャリッジリターン) 文字を挿入するかどうかを示します。

false

Render IDoc With CRLF (IDoc 表示 - CRLF を含む)

Boolean (ブール)

結果の XML ドキュメントに ​CR+LF​ (キャリッジリターンとラインフィード) 文字を挿入するかどうかを示します。

false

Render IDoc With LF (IDoc 表示 - LF を含む)

Boolean (ブール)

結果の XML ドキュメントに ​LF​ (ラインフィード) 文字を挿入するかどうかを示します。

false

Render IDoc With Tabs And CR (IDoc 表示 - タブおよび CR を含む)

Boolean (ブール)

結果の XML ドキュメントに ​TAB​ および ​CR​ (タブおよびキャリッジリターン) 文字を挿入するかどうかを示します。

false

Render IDoc With Tabs And CRLF (IDoc 表示 - タブおよび CRLF を含む)

Boolean (ブール)

結果の XML ドキュメントに ​TAB​ および ​CR+LF​ (タブおよびキャリッジリターンとラインフィード) 文字を挿入するかどうかを示します。

false

Render IDoc With Tabs And LF (IDoc 表示 - タブおよび LF を含む)

Boolean (ブール)

結果の XML ドキュメントに ​TAB​ および ​LF​ (タブおよびラインフィード) 文字を挿入するかどうかを示します。

false

Render IDoc Xml10 (IDoc 表示 - Xml10)

Boolean (ブール)

XML 仕様バージョン 1.0 に準拠する XML ドキュメントを作成するかどうかを示します。

false

Render IDoc Xml11 (IDoc 表示 - Xml11)

Boolean (ブール)

XML 仕様バージョン 1.1 に準拠する XML ドキュメントを作成するかどうかを示します。

false

### [](#MessageServer)Message Server (メッセージサーバー) 複数のゲートウェイを使用してメッセージサーバーを設定でき、​**Document Listener**​ ソースに渡すことができるため、負荷分散やパフォーマンスの向上を実現できます。詳細は、​[「複数のゲートウェイの設定」](https://docs.mulesoft.com/jp/sap-connector/5.8/sap-connector-examples#configure-multiple-gateways)​を参照してください。
項目 型 説明 デフォルト値 必須

Host (ホスト)

String (文字列)

メッセージサーバーのホスト。

x

System Id (システム ID)

String (文字列)

SAP システムのシステム ID。

x

Port (ポート)

Number (数値)

コネクタがメッセージサーバーにログインするために使用するポート。

Group (グループ)

String (文字列)

SAP アプリケーションサーバーのグループ。

Router (ルーター)

String (文字列)

ファイアウォールによって保護されるシステムに使用する SAP ルーター文字列。

### [](#reconnect)Reconnect (再接続) 標準再接続戦略を設定し、再接続の頻度と、コネクタソースまたは操作で実行できる再接続の試行回数を指定します。
項目 型 説明 デフォルト値 必須

Frequency (頻度)

Number (数値)

再接続を試行する頻度 (ミリ秒)。

Count (数)

Number (数値)

Mule アプリケーションで実行できる再接続の試行回数。

### [](#reconnect-forever-繰り返し再接続)Reconnect Forever (繰り返し再接続) Mule アプリケーションが実行されている間はコネクタソースや操作によって指定された頻度で再接続が試行される Forever 再接続戦略を設定します。
項目 型 説明 デフォルト値 必須

Frequency (頻度)

Number (数値)

再接続を試行する頻度 (ミリ秒)。

### [](#Reconnection)Reconnection (再接続) 操作の再接続戦略を設定します。
項目 型 説明 デフォルト値 必須

Fails Deployment (デプロイメントに失敗)

Boolean (ブール)

アプリケーションのデプロイ時に、関連する再接続戦略をすべて実行した後、接続テストに合格しない場合の処理:

  • true​

    デプロイメントの失敗を許可します。

  • false​

    接続テストの結果を無視します。

Reconnection Strategy (再接続戦略)

使用する再接続戦略。

### [](#RedeliveryPolicy)Redelivery Policy (再配信ポリシー) エラーを生成する要求を実行するための再配信ポリシーを設定します。再配信ポリシーは、フロー内のあらゆる提供元に追加できます。
項目 型 説明 デフォルト値 必須

Max Redelivery Count (最大再配信数)

Number (数値)

再配信される要求の最大処理失敗回数。この回数を超えると、​REDELIVERY_EXHAUSTED​ エラーが返されます。

Use Secure Hash (セキュアハッシュを使用)

Boolean (ブール)

再配信されたメッセージの識別にセキュアハッシュアルゴリズムを使用するかどうか。

Message Digest Algorithm (メッセージダイジェストアルゴリズム)

String (文字列)

[Use Secure Hash (セキュアハッシュを使用)]​ 項目が ​true​ の場合に使用するセキュアハッシュアルゴリズム。メッセージのペイロードが Java オブジェクトの場合、Mule ではこの値が無視され、ペイロードの ​hashCode()​ が返した値が返されます。

Id Expression (ID 式)

String (文字列)

メッセージがいつ再配信されたのかを判断する 1 つ以上の式。このプロパティは、​[Use Secure Hash (セキュアハッシュを使用)]​ 項目が ​false​ の場合にのみ設定できます。

Object Store (オブジェクトストア)

Object Store (オブジェクトストア)

各メッセージの再配信カウンターが保存されるオブジェクトストアを設定します。

### [](#repeatable-file-store-stream)Repeatable File Store Stream (反復可能なファイルストアストリーム) 反復可能なファイルストアストリーミング戦略を設定します。この戦略では、ストリームコンテンツの一部がメモリ内に格納されます。ストリームのコンテンツが、設定されたバッファサイズよりも大きい場合、Mule はバッファのコンテンツをディスクにバックアップしてからメモリをクリアします。
項目 型 説明 デフォルト値 必須

In Memory Size (メモリ内サイズ)

Number (数値)

ストリームのデータで使用できるメモリの最大量。メモリ量がこの値を超えると、コンテンツはディスクにバッファされます。パフォーマンスを最適化する方法は、次のとおりです。

  • バッファサイズを大きくすると、Mule がバッファをディスクに書き込む回数を減らせます。これによってパフォーマンスが高まりますが、より多くのメモリが必要になるため、アプリケーションが処理できる同時要求数が制限されます。

  • バッファサイズを小さくすると、メモリの負荷は低減しますが、応答時間が長くなります。

Buffer Unit (バッファ単位)

Enumeration (列挙)。次のいずれかになります。

  • BYTE (バイト)

  • KB

  • MB

  • GB

[In Memory Size (メモリ内サイズ)]​ 項目の単位。

### [](#repeatable-in-memory-stream)Repeatable In Memory Stream (反復可能なメモリ内ストリーム) データが最大バッファサイズを超えた場合に要求が失敗するメモリ内ストリーミング戦略を設定します。ユースケースで最適なバッファサイズは、必ずパフォーマンステストを実施して決めてください。
項目 型 説明 デフォルト値 必須

Initial Buffer Size (初期バッファサイズ)

Number (数値)

データストリームに割り当てるメモリの初期容量。ストリーミングされたデータがこの値を超える場合は、​[Buffer Size Increment (バッファサイズ増分)]​ の単位で ​[Max In Memory Size (最大メモリ内サイズ)]​ 値を上限としてバッファが拡張されます。

Buffer Size Increment (バッファサイズ増分)

Number (数値)

バッファサイズが初期サイズを超えた場合に、拡張する量。値を ​0​ またはそれ以下に設定すると、バッファは拡張されません。

Max Buffer Size (最大バッファサイズ)

Number (数値)

使用するメモリの最大量。これを超えると、​STREAM_MAXIMUM_SIZE_EXCEEDED​ エラーが発生します。0 以下の値は無制限を意味します。

Buffer Unit (バッファ単位)

Enumeration (列挙)。次のいずれかになります。

  • BYTE (バイト)

  • KB

  • MB

  • GB

[Initial Buffer Size (初期バッファサイズ)]​ 項目、​[Buffer Size Increment (バッファサイズ増分)]​ 項目、​[Buffer Unit (バッファ単位)]​ 項目の単位。

### [](#SapAttributes)SAP Attributes (SAP 属性) SAP ペイロードの属性。
項目 型 説明 デフォルト値 必須

Transaction Id (トランザクション ID)

String (文字列)

トランザクション ID の値。

## [](#関連情報)関連情報 - [Anypoint Connector の概要](https://docs.mulesoft.com/connectors/introduction/introduction-to-anypoint-connectors) - [MuleSoft ヘルプセンター](https://help.mulesoft.com) # SAP Connector 5.9 SAP 用 Anypoint Connector (SAP Connector) を使用すると、SAP NetWeaver に基づいてデータを外部システムと統合できます。 このコネクタを使用するには、個別のライセンスが必要です。このコネクタを評価したり、本番環境で使用したりするには、MuleSoft にお問い合わせください。 Mule Runtime Engine (Mule) では、SAP Java Connector (JCo) ライブラリを利用する SAP 用 Anypoint Connector を介した SAP インテグレーションがサポートされます。SAP JCo により、SAP バックエンドシステムと Java アプリケーション間の通信が促進されます。Java プログラムは、SAP システムに接続して、Remote Function Module を起動できるようになります。また、オブジェクト型が異なっていても IDoc (SAP 中間ドキュメント) を解析できるようになります。SAP 設定では、インバウンド通信とアウトバウンド通信の両方がサポートされます。 SAP JCo ライブラリを使用すると、Mule アプリケーションで次のことができます。 - 次の種別の RFC プロトコルを介して BAPI 関数を実行する。 - Synchronous Remote Function Call RFC (sRFC) - Asynchronous Remote Function Call RFC (aRFC) - sRFC および aRFC を介して BAPI としてコールされる JCo サーバーとして動作する。 - tRFC および qRFC を介して IDoc を送信する。 - tRFC および qRFC を介して IDoc を受信する。 - SAP オブジェクト (BAPI および IDoc では JCo 関数) と XML 間の変換を行う。 SAP の頭字語については、​[「SAP 用語」](https://docs.mulesoft.com/jp/sap-connector/latest/sap-connector-terminology)​を参照してください。 ## [](#始める前に)始める前に このコネクタを使用するには、以下に精通している必要があります。 - SAP Connector の API - Anypoint Connector - Mule Runtime Engine (Mule) - Mule フローの要素とグローバル要素 - Anypoint Studio (Studio) を使用した Mule アプリケーションの作成 アプリケーションを作成する前に、以下が必要です。 - SAP の対象リソースにアクセスするためのログイン情報 - IDoc、JCO、JCO Native 用の SAP ライブラリ これらのライブラリをダウンロードするには、SAP の Web サイトに移動します。Studio 7 では、変換することなくライブラリ形式を直接使用できます。コネクタとの互換性があるライブラリを確認するには、​[「SAP Connector Release Notes (SAP Connector リリースノート)」](https://docs.mulesoft.com/jp/release-notes/connector/sap-connector-release-notes-mule-4)​を参照してください。 - 必要な RFC、BAPI、および IDoc を使用できるロールまたはプロファイルを持つサービスユーザー。 - SAP ビジネスコンテキスト (特に SAP R/3 ビジネススイート) の実践的な知識 - 管理的な観点からの SAP NetWeaver プラットフォームの基本的な理解 - ABAP 言語の知識 - 必要な SAP ライブラリをダウンロードするための SAP ID - NetWeaver アプリケーションサーバー (NWAS) に接続するための RFC プロトコルの使用 [ECC](http://www.cipherbsc.com/solutions/sap-erp-central-component-erp-ecc/)​ および [CRM](https://help.sap.com/viewer/p/SAP_CUSTOMER_RELATIONSHIP_MANAGEMENT)​ は、他の SAP ソリューションと同様に NWAS 上で実行されるため、コネクタを使用するユーザーはこれらのシステムにアクセスできます。 - Anypoint Studio を使用した Mule アプリケーションの作成方法に関する知識 ## [](#コネクタの一般的なユースケース)コネクタの一般的なユースケース SAP Connector の一般的なユースケースを次に挙げます。 - **エンタープライズリソースの統一されたビュー** 財務会計、資材管理、販売と流通、顧客サービスのビジネスでデジタル情報のリアルタイムインテグレーションを有効にして、コアビジネスプロセスを最適化するデータ主導の意思決定を行います。 - **データ同期** SAP データを Salesforce、Workday、Marketo などのビジネスアプリケーションと同期します。たとえば、SAP の多数のアカウントを Salesforce に移行したり、SAP の組織の変更をリアルタイムに Workday にブロードキャストしたりできます。 - **販売注文の自動化** SAP ERP と CRM (Salesforce など) 間の販売注文プロセスを自動化します。 - **BAPI のサポート** BAPI の検出、BAPI/RFM 対応の関数モジュールの照会、BAPI 関数の実行などを行います。 - **IDoc インテグレーション** SAP の IDoc の送受信、IDoc のインポート、SAP オブジェクトと XML の変換を行います。 これらのユースケースの例については、​[「SAP Connector の例」](https://docs.mulesoft.com/jp/sap-connector/latest/sap-connector-examples)​を参照してください。 ## [](#認証種別)認証種別 SAP Connector 接続では、次の認証種別を使用します。 - Certificate (証明書) X509 証明書を使用してユーザーを認証する接続プロバイダー。 - Kerberos Kerberos プロトコルを実装してユーザーを認証および承認する接続プロバイダー。 - Simple Connection Provider ユーザー名とパスワードを使用して接続する接続プロバイダー。 ## [](#exchange-テンプレートおよび例)Exchange テンプレートおよび例 [Anypoint Exchange](https://www.mulesoft.com/exchange/)​ は、アプリケーションのスタートポイントとして使用できるテンプレートと、完全なソリューションを具体的に示した例を提供しています。 - **一般:**​ [「Account System API - SAP Implementation Template (アカウントシステム API - SAP 実装テンプレート)」](https://www.mulesoft.com/exchange/org.mule.templates/template-apiled-system-account-sap/)​、 [「Salesforce to Salesforce, Workday, SAP, and Database Account Broadcast (Salesforce to Salesforce、Workday、SAP、データベースアカウントのブロードキャスト)」](https://www.mulesoft.com/exchange/org.mule.templates/template-sfdc2sfdc.wday.sap.db-account-broadcast/) - **Salesforce と SAP:**​ [「Account Aggregation (取引先の集計)」](https://www.mulesoft.com/exchange/org.mule.templates/template-sap2sfdc-account-aggregation/)​、 [「Account Customer Bidirectional Sync (取引先の顧客の双方向同期)」](https://www.mulesoft.com/exchange/org.mule.templates/template-sap2sfdc-customer-bidirectional-sync/)​、 [「Opportunity Aggregation (商談の集計)」](https://www.mulesoft.com/exchange/org.mule.templates/template-sfdc2sap-opportunity-aggregation/)​、 [「Product Aggregation (商品の集計)」](https://www.mulesoft.com/exchange/org.mule.templates/template-sfdc2sap-product-aggregation/)​、 [「Product Bidirectional Sync (商品の双方向同期)」](https://www.mulesoft.com/exchange/org.mule.templates/template-sfdc2sap-product-bidirectional-sync/) - **Salesforce から SAP:**​ [「Account Broadcast (取引先のブロードキャスト)」](https://www.mulesoft.com/exchange/org.mule.templates/template-sfdc2sap-account-broadcast/)​、 [「Account Migration (取引先の移行)」](https://www.mulesoft.com/exchange/org.mule.templates/template-sfdc2sap-account-migration/)​、 [「Opportunity Broadcast (商談のブロードキャスト)」](https://www.mulesoft.com/exchange/org.mule.templates/template-sfdc2sap-opportunity-broadcast/)​、 [「Opportunity Migration (商談の移行)」](https://www.mulesoft.com/exchange/org.mule.templates/template-sfdc2sap-opportunity-migration/)​、 [「Product Broadcast (商品のブロードキャスト)」](https://www.mulesoft.com/exchange/org.mule.templates/template-sfdc2sap-product-broadcast/) - **SAP から Salesforce:**​ [「Contact Broadcast (取引先責任者のブロードキャスト)」](https://www.mulesoft.com/exchange/org.mule.templates/template-sap2sfdc-contact-broadcast/)​、 [「Contact Migration (取引先責任者の移行)」](https://www.mulesoft.com/exchange/org.mule.templates/template-sap2sfdc-contact-migration/)​、 [「Customer Broadcast (顧客のブロードキャスト)」](https://www.mulesoft.com/exchange/org.mule.templates/template-sap2sfdc-customer-broadcast/)​、 [「Customer Migration (顧客の移行)」](https://www.mulesoft.com/exchange/org.mule.templates/template-sap2sfdc-customer-migration/)​、 [「Product Material Broadcast (商品材料のブロードキャスト)」](https://www.mulesoft.com/exchange/org.mule.templates/template-sap2sfdc-product-broadcast/)​、 [「Product Material Migration (商品材料の移行)」](https://www.mulesoft.com/exchange/org.mule.templates/template-sap2sfdc-material-migration/) - **SAP から Workday:**​ [「Employee Migration (従業員の移行)」](https://www.mulesoft.com/exchange/org.mule.templates/template-sap2wday-employee-migration/)​、 [「Organization Broadcast (組織のブロードキャスト)」](https://www.mulesoft.com/exchange/org.mule.templates/template-sap2wday-organization-broadcast/)​、 [「Organization Migration (組織の移行)」](https://www.mulesoft.com/exchange/org.mule.templates/template-sap2wday-organization-migration/) - **Workday と SAP:**​ [「Organization Aggregation (組織の集計)」](https://www.mulesoft.com/exchange/org.mule.templates/template-wday2sap-organization-aggregation/)​、 [「Worker (Employee) Aggregation (作業員 (従業員) の集計)」](https://www.mulesoft.com/exchange/org.mule.templates/template-wday2sap-worker-aggregation/) - **Workday から SAP:**​ [「Worker (Employee) Migration (作業員 (従業員) の移行)」](https://www.mulesoft.com/exchange/org.mule.templates/template-wday2sap-worker2employee-migration/)​、 [「Worker Broadcast (作業員のブロードキャスト)」](https://www.mulesoft.com/exchange/org.mule.templates/template-wday2sap-worker-broadcast/) ## [](#次のステップ)次のステップ 前提条件を満たし、テンプレートおよびサンプルを試したら、​[Anypoint Studio](https://docs.mulesoft.com/jp/sap-connector/latest/sap-connector-studio)​ でアプリケーションを作成できます。 ## [](#関連情報)関連情報 - [Anypoint Connector の概要](https://docs.mulesoft.com/connectors/introduction/introduction-to-anypoint-connectors) - [Anypoint Exchange の SAP Connector](https://www.mulesoft.com/exchange/com.mulesoft.connectors/mule-sap-connector/) - [MuleSoft ヘルプセンター](https://help.mulesoft.com) # SAP Connector 5.9 の Studio 設定 SAP Connector をインストールし、Anypoint Studio でコネクタを設定します。 まず、SAP から取得した SAP Java Connector (JCo) ライブラリをインストールします。これで、1 つ以上の SAP Connector 操作を含むアプリケーションを作成できます。Studio を使用すると、アプリケーションを作成して、そのアプリケーションにブラウザーからアクセスできます。 Anypoint Studio で SAP Connector を設定する手順は、次のとおりです。 1. コネクタを Mule プロジェクトに追加します。 2. SAP Connector を設定します。 3. コネクタの入力元を設定します。 ## [](#add-connector-to-project)コネクタを Mule プロジェクトに追加する SAP Connector を Mule プロジェクトに追加して、XML コードにコネクタの名前空間およびスキーマの場所を自動的に入力し、プロジェクトの ​`pom.xml`​ ファイルに必須の連動関係を追加します。 1. **\[Mule Palette (Mule パレット)\]**​ ビューで、​**\[(X) Search in Exchange ((X) Exchange 内を検索)\]**​ をクリックします。 2. **\[Add Dependencies to Project (連動関係をプロジェクトに追加)\]**​ ウィンドウで、検索項目に「​`sap`​」と入力します。 3. **\[Available modules (使用可能なモジュール)\]**​ で ​**\[SP Connector\]**​ をクリックします。 4. **\[Add (追加)\]**​ をクリックします。 5. **\[Finish (完了)\]**​ をクリックします。 Studio でコネクタを Mule プロジェクトに追加しても、Studio ワークスペースの他のプロジェクトはそのコネクタを使用できません。 ## [](#ソース操作を選択する)ソース操作を選択する 1. Anypoint Studio で ​**\[Mule Palette (Mule パレット)\]**​ をクリックして、「​`sap`​」と入力します。 2. 操作を選択します。 SAP からオブジェクトが送信されたときにアプリケーションを開始する場合、次のいずれかの操作を選択し、操作を Studio キャンバスの ​**\[Source (ソース)\]**​ 領域にドラッグします。 - **Document source**​ は IDoc の変更をリスンします。IDoc が変更されると、アプリケーションが実行されます。 - **Function source**​ は SAP 関数モジュールの変更をリスンします。対象の関数モジュールが変更されると、アプリケーションが実行されます。 項目値については、​[「SAP Connector リファレンス」](https://docs.mulesoft.com/jp/sap-connector/latest/sap-connector-reference)​を参照してください。 **Document source**​ 操作または ​**Function source**​ 操作を選択した場合は、次のセクションに進んで SAP ライブラリをインストールします。 3. 代わりに、​**HTTP リスナー**​や​**スケジューラー**​など、このコネクタの入力元を設定して、操作を Studio キャンバスにドラッグすることもできます。 HTTP リスナーを使用すると、ブラウザーからアプリケーションを開始できます。スケジューラーは特定の時間にアプリケーションを開始します。 4. SAP ライブラリをインストールします。 ## [](#sap-ライブラリをインストールする)SAP ライブラリをインストールする Mule プロジェクトで SAP ライブラリを使用するには、まずライブラリをコンピューターにダウンロードする必要があります。Anypoint Studio では 3 つのライブラリを変換せずに直接使用できます。ライブラリをダウンロードするには、SAP ID が必要です。 各ライブラリのファイル種別は、オペレーティングシステムによって異なります。
OS ファイル種別

Windows

  • sapidoc3.jar

  • sapjco3.jar

  • sapjco3.dll

Mac OS

  • sapidoc3.jar

  • sapjco3.jar

  • libsapjco3.jnilib

Linux

  • sapidoc3.jar

  • sapjco3.jar

  • libsapjco3.so

SAP Connector では、SAP JCo ライブラリバージョン 3.0.x および 3.1.x がサポートされています。
ライブラリをインストールしたら、グローバル要素プロパティをカスタマイズして、接続をテストできます。 ## [](#anypoint-studio-でライブラリを設定する)Anypoint Studio でライブラリを設定する SAP Connector を Studio にインストールして、コネクタを Mule プロジェクトに追加したら、ライブラリを設定します。 1. フローでコネクタをダブルクリックします。 2. **\[Connector Configuration (コネクタ設定)\]**​ 項目の右にあるプラス記号 (​**+**​) をクリックします。 次の画面が表示されます。 ![SAP Connector の \[Global Element Properties (グローバル要素プロパティ)\] ウィンドウ](_images/sap-connector-configuration-01.png) ### [](#idoc-ライブラリをインストールする)IDOC ライブラリをインストールする 1. **\[Add Dependency (連動関係を追加)\]**​ をクリックします。 2. **\[Install (インストール)\]**​ をクリックします。 ![\[Maven dependency (Maven 連動関係)\] ウィンドウの \[Install (インストール)\] ボタン](_images/sap-connector-configuration-02.png) 3. **\[Install (インストール)\]**​ メニューで、​**\[Browse (参照)\]**​ をクリックして、ライブラリファイルを見つけます。 4. 一意のグループ ID、アーティファクト ID、バージョンを指定します。 ![\[Install file into local repository (ローカルリポジトリにファイルをインストール)\] ウィンドウ](_images/sap-connector-configuration-02-in.png) 5. **\[Finish (完了)\]**​ をクリックするか、キャンセルする場合は、​**\[Remove Dependency (連動関係を削除)\]**​ をクリックします。 ![\[Maven dependency (Maven 連動関係)\] ウィンドウの \[Finish (完了)\] ボタン](_images/sap-connector-configuration-02-finish.png) ### [](#jco-ライブラリをインストールする)JCO ライブラリをインストールする 1. **\[Add Dependency (連動関係を追加)\]**​ をクリックします。 2. **\[Install (インストール)\]**​ をクリックします。 ![\[Maven dependency (Maven 連動関係)\] ウィンドウの \[Install (インストール)\] ボタン](_images/sap-connector-configuration-02.png) 3. **\[Install (インストール)\]**​ メニューで、​**\[Browse (参照)\]**​ をクリックして、ライブラリファイルを見つけます。 4. 一意のグループ ID、アーティファクト ID、バージョンを指定します。 ![\[Install file into local repository (ローカルリポジトリにファイルをインストール)\] ウィンドウ](_images/sap-connector-configuration-03-in.png) 5. **\[Finish (完了)\]**​ をクリックするか、キャンセルする場合は、​**\[Remove Dependency (連動関係を削除)\]**​ をクリックします。 ![\[Maven dependency (Maven 連動関係)\] ウィンドウの \[Finish (完了)\] ボタン](_images/sap-connector-configuration-03-finish.png) ### [](#jco-native-ライブラリをインストールする)JCO Native ライブラリをインストールする 1. **\[Add Dependency (連動関係を追加)\]**​ をクリックします。 2. **\[Install (インストール)\]**​ をクリックします。 ![\[Maven dependency (Maven 連動関係)\] ウィンドウの \[Install (インストール)\] ボタン](_images/sap-connector-configuration-02.png) 3. **\[Install (インストール)\]**​ メニューで、​**\[Browse (参照)\]**​ をクリックして、ライブラリファイルを見つけます。 MacOS では、JCO バージョン 3.1.2 以降、ネイティブライブラリの拡張子が ​`jnilib`​ から ​`dylib`​ に変更されました。 1. ローカルマシンからライブラリをインストールした後: 2. **\[Shared Folder (共有フォルダー)\]**​ ウィンドウの一番下に移動します。 3. **\[Any (任意)\]**​ を選択して、​`dylib`​ ネイティブライブラリを選択します。 4. **\[Install file into local repository (ローカルリポジトリにファイルをインストール)\]**​ ウィンドウで、次の項目の値を入力します。 - **Group ID (グループ ID)** - **Artifact ID (アーティファクト ID)** - **Version (バージョン)** 4. 一意のグループ ID、アーティファクト ID、バージョンを指定します。 ![\[Install file into local repository (ローカルリポジトリにファイルをインストール)\] ウィンドウ](_images/sap-connector-configuration-04-in.png) 5. **\[Finish (完了)\]**​ をクリックするか、キャンセルする場合は、​**\[Remove Dependency (連動関係を削除)\]**​ をクリックします。 ![\[Maven dependency (Maven 連動関係)\] ウィンドウの \[Finish (完了)\] ボタン](_images/sap-connector-configuration-04-finish.png) ライブラリのインストールが終了したら、正常にインストールされた各ライブラリに緑色のチェックマークが付いた次のような設定画面が表示されます。 ![インストール済みの必須ライブラリが表示されている \[Global Element Properties (グローバル要素プロパティ)\] ウィンドウ](_images/sap-connector-libraries-installed.png) ## [](#接続をテストする)接続をテストする 1. SAP ログインにサインインして必要な情報を取得し、​[Studio での設定](#gepparms)​の説明に従って、残りの ​**\[Global Element Properties (グローバル要素プロパティ)\]**​ 項目を設定します。 2. **\[Test Connection (接続をテスト)\]**​ をクリックして、ログイン情報が正しいことを確認します。 ## [](#コネクタの設定)コネクタの設定 Mule プロジェクトに複数の SAP Connector インスタンスがある場合、グローバル SAP 要素を作成できます。SAP Connector オブジェクトには、SAP サーバーに接続できるようにする設定プロパティが保持されています。 SAP Connector の設定を作成する手順は、次のとおりです。 1. **\[Global Elements (グローバル要素)\]**​ セクションに移動し、​**\[Create (作成)\]**​ をクリックします。 2. **\[Connector Configuration (コネクタ設定)\]**​ セクションで ​**\[SAP Inbound (SAP インバウンド)\]**​ または ​**\[SAP Outbound (SAP アウトバウンド)\]**​ のいずれかを選択します。 3. **\[General (一般)\]**​ タブペインで、SAP 接続を定義するのに必要なパラメーターを入力します。これは、SAP システム管理者が提供できます。 SAP グローバル要素プロパティにより、接続プロパティを定義したり、必要な SAP 連動関係をプロジェクトに追加したりできます。 SAP Connector では、使いやすいように最も一般的なプロパティのみがコネクタパラメーターとして表示されます。​**\[Properties (プロパティ)\]**​ パネルにリストされていないプロパティを設定するには、​[「拡張プロパティの定義」](https://docs.mulesoft.com/jp/sap-connector/latest/sap-connector-config-topics)​トピックを参照してください。 最低限定義する必要のある属性は次のとおりです。
項目 説明

Application Server Host (アプリケーションサーバーホスト)

SAP エンドポイント。

Username (ユーザー名)

認証された SAP ユーザーのユーザー名。

Password (パスワード)

認証された SAP ユーザーのパスワードログイン情報。

System Number (システム番号)

SAP システムに接続するために使用されるシステム番号。

Client (クライアント)

SAP システムに接続するために使用される SAP クライアント ID (通常は数値)。

Login Language (ログイン言語)

SAP 接続で使用される言語。たとえば、英語の場合は ​EN​ になります。

プロパティプレースホルダー構文は簡単かつ再利用可能な方法であるため、この方法を使用してログイン情報を読み込むことをお勧めします。 SAP インスタンスへの接続が正しいことを確認するには、​**\[Test Connection (接続をテスト)\]**​ をクリックします。ログイン情報が正しければ、​`Test Connection Successful`​ というメッセージが表示されます。 ## [](#view-app-log)アプリケーションログの表示 問題を確認するため、アプリケーションログを次の方法で表示できます。 - アプリケーションを Anypoint Platform から実行している場合、出力は Anypoint Studio のコンソールウィンドウに表示される。 - コマンドラインから Mule を使用してアプリケーションを実行している場合、アプリケーションログは OS コンソールに表示される。 アプリケーションのログファイル (​`log4j2.xml`​) でログファイルパスがカスタマイズされていない場合、デフォルトの場所 ​`MULE_HOME/logs/.log`​ でアプリケーションログを表示することもできます。 ## [](#次のステップ)次のステップ Studio でこのコネクタを設定したら、​[「追加設定情報」](https://docs.mulesoft.com/jp/sap-connector/latest/sap-connector-config-topics)​トピックで設定に関する他のトピックを参照してください。 ## [](#関連情報)関連情報 - [Anypoint Connector の概要](https://docs.mulesoft.com/connectors/introduction/introduction-to-anypoint-connectors) - [MuleSoft ヘルプセンター](https://help.mulesoft.com) # SAP Connector 5.9 の XML と Maven のサポート XML で Mule アプリケーションを手動でコーディングすることもできますが、Anypoint Studio を使用した方が効率的です。 Anypoint Studio の XML エディターまたはテキストエディターから Mule Runtime Engine (Mule) アプリケーションを手動でコーディングする場合、参照ステートメントを XML Mule フローと Apache Maven ​`pom.xml`​ ファイルの両方に追加することで、アプリケーションからコネクタにアクセスできます。 Studio でコネクタを追加すると、Studio は自動的に XML コードにコネクタの名前空間およびスキーマの場所を入力し、​`pom.xml`​ ファイルに連動関係を追加します。 ## [](#コネクタの名前空間の追加)コネクタの名前空間の追加 次のコードを設定 XML のヘッダーの ​``​ タグ内に貼り付けます。 ```xml http://www.mulesoft.org/schema/mule/sap http://www.mulesoft.org/schema/mule/sap/current/mule-sap.xsd ``` 次の例は、​``​ XML ブロック内に名前空間ステートメントが配置される方法を示しています。 ```xml ="http://www.mulesoft.org/schema/mule/" xmlns:ee="http://www.mulesoft.org/schema/mule/ee/core" xmlns:http="http://www.mulesoft.org/schema/mule/http" xmlns:file="http://www.mulesoft.org/schema/mule/file" 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/file http://www.mulesoft.org/schema/mule/file/current/mule-file.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"> ``` ## [](#pom-ファイルの連動関係の追加)POM ファイルの連動関係の追加 Apache Maven ​`pom.xml`​ ファイルは Anypoint Studio によって生成され、Mule アプリケーションの連動関係が含まれます。Mule アプリケーションを手動でコーディングする場合、次の XML スニペットを ​`pom.xml`​ ファイルに含めてこのコネクタにアクセスできるようにします: ```xml com.mulesoft.connectors mule-sap-connector x.x.x mule-plugin ``` `x.x.x`​ を使用しているコネクタに対応するバージョンに置き換えます。 JCo ライブラリをサポートするために、次の連動関係を追加します。 ```xml org.mule.tools.maven mule-maven-plugin ${mule.maven.plugin.version} true com.sap.conn.jco com.sap.conn.jco.sapjco3 com.sap.conn.idoc com.sap.conn.idoc.sapidoc3 com.sap.conn.jco com.sap.conn.jco.libsapjco3 ``` 最新の ​`pom.xml`​ ファイル情報を取得する手順は、次のとおりです。 1. [Anypoint Exchange](https://www.mulesoft.com/exchange/)​ に移動します。 2. Exchange で、​**\[Login (ログイン)\]**​ をクリックし、Anypoint Platform のユーザー名とパスワードを指定します。 3. Exchange で、「​`sap`​」を検索します。 4. コネクタを選択します。 5. 画面の右上付近にある ​**\[Dependency Snippets (連動関係スニペット)\]**​ をクリックします。 ## [](#次のステップ)次のステップ 名前空間および ​`pom.xml`​ ファイルを完了したら、SAP の​[例](https://docs.mulesoft.com/jp/sap-connector/latest/sap-connector-examples)​を試すことができます。 ## [](#関連情報)関連情報 - [Anypoint Connector の概要](https://docs.mulesoft.com/connectors/introduction/introduction-to-anypoint-connectors) - [MuleSoft ヘルプセンター](https://help.mulesoft.com) # SAP Connector 5.9 のトラブルシューティング SAP 用 Anypoint Connector (SAP Connector) をトラブルシューティングするには、全般的なトラブルシューティングの実行、一般的な特定エラーへの対応、そして一般的にスローされる例外メッセージの解釈について理解しておく必要があります。 Unresolved include directive in modules/ROOT/pages/sap-connector-troubleshooting.adoc - include::connectors::partial$verbose-exception-logs.adoc\[\] Unresolved include directive in modules/ROOT/pages/sap-connector-troubleshooting.adoc - include::connectors::partial$verbose-logs-com.adoc\[\] ## [](#全般的なトラブルシューティングの実行)全般的なトラブルシューティングの実行 SAP Connector の全般的なトラブルシューティングガイドラインは次のとおりです。 - [ログファイルを確認する](#check-log-files) - [JCo トレースを有効にする](#enable-jco-trace) ### [](#check-log-files)ログファイルを確認する Mule では (アプリケーションごとに) ログファイルが ​`$MULE_HOME\logs`​ ディレクトリに保存されます。 - `mule.log` デフォルトの Mule ログファイル - `mule-app-YOUR_APP_NAME.log` アプリケーションごとのログファイル ### [](#enable-jco-trace)JCo トレースを有効にする JCo トレースは Mule の外部から有効にできます。JCo トレースは次の Java 起動環境プロパティを受け入れます。 - `-Djco.trace_level=N` `N`​ は ​`0`​ ~ ​`10`​ で、​`10`​ は最も詳細なトレース - `-Djco.trace_path=` 省略可能 JCo は ​`0`​ (デフォルト) ~ ​`10`​ のトレースレベルをサポートします。 トレースレベルが高いほど、トレースデータの量が増加します。各トレースレベルには、下位のトレースレベルのすべてのトレースデータも含まれます。多くの JCo コールと転送されるコンテンツで高い JCo トレースレベルを使用する場合は、十分なディスク容量が使用可能であることを確認してください。 コネクタレベルでトレースを有効にする手順は、次のとおりです。 1. 属性 ​`jcoTrace`​ を ​`true`​ に設定するか、値 ​`1`​ の拡張 JCo プロパティ ​`jco.client.trace`​ または ​`jco.server.trace`​ を指定します。 2. Mule の起動時に ​`-Djco.trace_level=N`​ の値を指定します。
トレースレベル AS Java セキュリティレベル JCo 3 トレースコンテンツ

0

NONE

トレースなし

1

ERROR

JCo バージョンとランタイム環境情報、およびアプリケーションエラーを含まない JCo 内部エラーと例外

2

WARNING

JCo 警告メッセージ (ABAP 以外のシステム例外など)

3

INFO

JCo 情報メッセージ (ABAP 例外など)

4

PATH

RFC コールおよび重要な公開 API コール

5

DEBUG

重要な内部ミドルウェアコール
コードページ情報

6

DEBUG

接続属性
ASCII コンテンツデータ (構造の最初の 1000 文字またはテーブルの最初の 5 行)

7

DEBUG

RFC メタデータ (名前、型、オフセット、長さ、インポートおよびエクスポートオプション、およびコンテンツデータのその他の 16 進数値を含む)

8

DEBUG

完全なコンテンツデータダンプ (文字または行の制限なし)
コール元のスタックトレース情報 (たとえば、​getClient()​ はアプリケーションを識別します)

9

DEBUG

追加情報なし (将来の使用のために予約済み)

10

DEBUG

追加情報なし (将来の使用のために予約済み)

3. 必要に応じて、​`-Djco.trace_path=`​ の値を指定します。通常、これは、トレースファイルが保存されている既存のディレクトリへの完全パスですが、他の特別な値を適用できます。 - `stdout` JCo トレース情報は標準​**出力**​ストリームに送信されます。 - `stderr` JCo トレース情報は標準​**エラー**​ストリームに送信されます。 `-Djco.trace_path`​ を設定しない場合、トレースファイルは作業ディレクトリに保存されます。Mule スタンドアロンインスタンスの場合、通常は ​`$MULE_HOME/bin`​ フォルダーになります。 ## [](#一般的なエラーのトラブルシューティング)一般的なエラーのトラブルシューティング SAP Connector の一般的なエラーとその解決方法のリストを次に示します。 - [JCo ライブラリの欠落](#missing-jco-libraries) - [JCo クラスローダーの競合](#jco-classloader-conflicts) - [JCo バージョンの競合](#jco-version-conflicts) - [JCo 名前変更の競合](#jco-renaming-conflicts) - [メッセージが SAP オブジェクトではない](#message-not-an-sap-object) - [IDoc メタデータを使用できない](#idoc-metadata-unavailable) - [TID ハンドラーの欠落](#missing-tid-handler) - [パラメーターがサポートされていない](#parameter-not-supported) - [複数の JCo サーバーが実行されている](#multiple-jco-servers-running) ### [](#missing-jco-libraries)JCo ライブラリの欠落 通常、1 つ以上の必須の SAP JCo 連動関係を読み込まずに接続のテストや Mule アプリケーションのデプロイを実行した場合にこのエラーが発生します。 - JCo ネイティブライブラリの欠落 ```text java.lang.ExceptionInInitializerError: JCo initialization failed with java.lang.UnsatisfiedLinkError: no sapjco3 in java.library.path ``` - JCo JAR の欠落 java.lang.NoClassDefFoundError: com/sap/conn/jco/JCoTraceListener - IDoc JAR の欠落 java.lang.NoClassDefFoundError: com/sap/conn/idoc/IDocMetaDataUnavailableException ![欠落しているライブラリが表示されている \[Global Element Properties (グローバル要素プロパティ)\] ウィンドウ](_images/sap-connector-missing-libraries.png) このエラーを解決する手順は、次のとおりです。 1. **\[Required Libraries (必須ライブラリ)\]**​ セクションで、赤い感嘆符アイコンが付いている連動関係の横にある ​**\[Configure (設定)\]**​ をクリックします。 2. 連動関係を参照し、適切なファイルを選択します。 欠落している連動関係がプロジェクトのクラスパスに自動的に追加されます。
Package Explorer​ で、プロジェクトを右クリックし、​[Build Path (ビルドパス)] > [Configure Build Path (ビルドパスを設定)]​ に移動すると、プロジェクトのビルドパス内のライブラリが表示されます。
### [](#jco-classloader-conflicts)JCo クラスローダーの競合 ネイティブライブラリをグローバル設定から読み込むと、ファイルのコピーが ​`$YOUR_APP/src/main/app/lib`​ 内に配置されますが、ソースファイルは削除されません。そのため、接続のテストやアプリケーションのデプロイを実行するときに、ネイティブライブラリが JCo JAR ファイルと同じディレクトリを共有していると、次のエラーが発生します。 ```text java.lang.ExceptionInInitializerError: JCo initialization failed with java.lang.UnsatisfiedLinkError: Native Library /home/mule/sap-errors/lib/jco/libsapjco3.so already loaded in another classloader ``` ![SAP エラー、JCo クラスローダーのフォルダー構造](/mulesoft/current/ja-jp/sap-connector/latest/_images/sap-error-jco-classloader-folder.png) このエラーを解決する手順は、次のとおりです。 次のいずれかの解決策を選択します。最初の解決策は最も簡単ですが、2 番目の解決策をベストプラクティスとしてお勧めします。 - JCo JAR ファイルが存在するディレクトリから​_重複する_​ネイティブライブラリファイルを削除します。 ![SAP エラー、JCo クラスローダーの修正済みフォルダー構造](/mulesoft/current/ja-jp/sap-connector/latest/_images/sap-error-jco-classloader-fix.png) - ダイナミックリンクライブラリを保持するように環境変数 ​`LD_LIBRARY_PATH`​ を設定し、同じ Mule Runtime サーバー内にデプロイされている複数のアプリケーションでその環境変数を共有します。 ### [](#jco-version-conflicts)JCo バージョンの競合 次のエラーの最も多い原因は、異なるバージョンのネイティブライブラリと JCo JAR ファイルが使用されていることです。 ```text java.lang.ExceptionInInitializerError: Native library sapjco3 is too old. Found library System-defined path to libsapjco3.so has version "720.612", but required is at least version "720.713". ``` このエラーを解決するには、次の要件が満たされていることを確認します。 - 64 ビットモードで動作する JVM では 64 ビット JCo が必要で、32 ビットモードで動作する JVM では 32 ビット JCo が必要です。 - Microsoft Windows では、JCo には Microsoft Visual Studio 2005 C/C++ ランタイムライブラリが必要です。 - `sapjco.jar`​ と、​`sapjco3.dll`​、​`sapjco3.so`​、および ​`sapjco3.jnilib`​ のいずれかの両方が​**同じ JCo パッケージ**​から取得されている必要があります。 使用している JCo ライブラリのバージョンを確認するには、次のいずれかを実行します。 - Windows (UI): 1. `sapjco3.jar`​ ファイルが配置されているディレクトリに移動します。 2. `sapjco3.jar`​ ファイルを右クリックします。 3. コンテキストメニューから ​**\[プログラムから開く\]**​ を選択します。 4. **\[Java 2 Platform Standard Edition\]**​ バイナリをクリックします。 5. 表示された JCo ダイアログに表示されている情報を確認します。 - Mac: 1. ターミナルウィンドウを開きます。 2. `sapjco3.jar`​ ファイルが配置されているディレクトリに移動します。 3. コマンド ​`java -jar sapjco3.jar -version`​ を実行します。 4. 表示された JCo ダイアログに表示されている情報を確認します。 ### [](#jco-renaming-conflicts)JCo 名前変更の競合 JCo 3.0.11 以降では、SAP JCo ライブラリファイルは JCo により認識されないため、名前変更できず、次のエラーが表示されます。 ```text java.lang.ExceptionInInitializerError: Illegal JCo archive "sapjco3-3.0.11.jar". It is not allowed to rename or repackage the original archive "sapjco3.jar" ``` これは IDoc ライブラリにも該当し、次のエラーが返される場合があります。 ```text java.lang.ExceptionInInitializerError: Illegal IDoc library archive "sapidoc3-3.1.4.jar". It is not allowed to rename or repackage the original archive "sapidoc3.jar". ``` このエラーを解決するには、次の ​`maven-shade-plugin`​ をアプリケーションの ​`pom.xml`​ ファイルに追加します。 ```xml org.apache.maven.plugins maven-shade-plugin 3.5.1 package shade false sapjco3-group-id:sapjco3-artifact-id sapidoc3-group-id:sapidco3-artifact-id ``` 適切な ​`groupId`​ と ​`artifactId`​ の値を判断するには、既存の連動関係を参照してください。設定例を以下に示します (これらは設定に応じて異なる場合があります)。 ```xml com.sap.conn.jco com.sap.conn.jco.sapjco3 3.1.12 com.sap.conn.idoc com.sap.conn.idoc.sapidoc3 3.1.4 ``` この例では、フルアーティファクトの座標は ​`com.sap.conn.jco:com.sap.conn.jco.sapjco3`​ と ​`com.sap.conn.idoc:com.sap.conn.idoc.sapidoc3`​ です。
シェーディングにより、アプリケーションサイズが 2 MB 近く増加する場合があります。
### [](#message-not-an-sap-object)メッセージが SAP オブジェクトではない エンドポイントは、BAPI または IDoc を実行するために必要な入力パラメーターを含む SAP オブジェクトを想定します。 以下のメッセージが表示された場合、次のいずれかが考えられます。 - 必要な入力パラメーターが指定されていない。 - 入力パラメーターは指定されているが、SAP オブジェクトが無効である。 ```text org.mule.api.transport.DispatchException: Message is not a SAP object, it is of type "byte[]". Check the transformer for this Connector "SapConnector". Failed to route event via endpoint: SapOutboundEndpoint{endpointUri=sap://function, connector=SapConnector { name=SapConnector lifecycle=start this=4571cebe numberOfConcurrentTransactedReceivers=4 createMultipleTransactedReceivers=true connected=true supportedProtocols=[sap] serviceOverrides= } , name='endpoint.sap.function', mep=ONE_WAY, properties={evaluateFunctionResponse=false, bapiTransaction=false, functionName=BAPI_MATERIAL_AVAILABILITY, rfcType=srfc, outputXml=true}, transactionConfig=Transaction{factory=null, action=INDIFFERENT, timeout=0}, deleteUnacceptedMessages=false, initialState=started, responseTimeout=10000, endpointEncoding=UTF-8, disableTransportTransformer=false}. Message payload is of type: byte[] ``` このエラーを解決する手順は、次のとおりです。 次の 2 つのいずれかの操作を実行して、BAPI または IDoc へのコールを表す SAP オブジェクトを作成します。 - BAPI コールを含む SAP オブジェクトが含まれる XML を作成します。 - 実際の SAP コールを作成するための入力が含まれる XML 定義を指定します。 ### [](#idoc-metadata-unavailable)IDoc メタデータを使用できない 次のエラーが発生した場合、RFC 宛先が Unicode をサポートしていないことを意味します。 ```text RfcException: [mc-vmware|a_rfc] message: (3) IDOC_ERROR_METADATA_UNAVAILABLE: The meta data for the IDoc type "??????????????????????????å å" with extension " ORDSAPB6L B60CL ???" is unavailable. Return code: RFC_FAILURE(1) error group: 104 key: RFC_ERROR_SYSTEM_FAILURE ``` このエラーを解決する手順は、次のとおりです。 トランザクション ​**SM59**​ を使用して、SAP インスタンスでの Unicode サポートを設定します。 ### [](#missing-tid-handler)TID ハンドラーの欠落 TID ハンドラーが定義されていないため、次のエラーが表示されます。 ```text RfcException: [mule.local|MULESOFT_IDOC_SEND_TEST] message: check TID fault: No transaction handler is installed. Unable to process tRFC/qRFC requests. Return code: RFC_FAILURE(1) error group: 104 key: RFC_ERROR_SYSTEM_FAILURE Exception raised by myhost.com.ar|MULESOFT_IDOC_SEND_TEST at com.sap.conn.jco.rt.MiddlewareJavaRfc$JavaRfcServer.playbackTRfc(MiddlewareJavaRfc.java:2625) at com.sap.conn.jco.rt.MiddlewareJavaRfc$JavaRfcServer.handletRfcRequest(MiddlewareJavaRfc.java:2546) at com.sap.conn.jco.rt.MiddlewareJavaRfc$JavaRfcServer.listen(MiddlewareJavaRfc.java:2367) at com.sap.conn.jco.rt.DefaultServerWorker.dispatch(DefaultServerWorker.java:284) at com.sap.conn.jco.rt.DefaultServerWorker.loop(DefaultServerWorker.java:369) at com.sap.conn.jco.rt.DefaultServerWorker.run(DefaultServerWorker.java:245) at java.lang.Thread.run(Thread.java:680) ``` このエラーを解決する手順は、次のとおりです。 ``​で ​`rfcType`​ を ​`trfc`​ または ​`qrfc`​ に設定します。 ### [](#parameter-not-supported)パラメーターがサポートされていない SAP 拡張プロパティには有効な名前が必要です。このため、無効なプロパティ名を指定すると、次のようなエラーメッセージが表示されます。 ```text Root Exception stack trace: RfcException: [null] message: Parameter 'type' not supported: 'f' Return code: RFC_INVALID_PARAMETER(19) error group: 101 key: RFC_ERROR_PROGRAM at com.sap.conn.rfc.api.RfcOptions.checkParameters(RfcOptions.java:182) at com.sap.conn.jco.rt.MiddlewareJavaRfc$JavaRfcClient.connect(MiddlewareJavaRfc.java:1328) at com.sap.conn.jco.rt.ClientConnection.connect(ClientConnection.java:731) + 3 more (set debug level logging or '-Dmule.verbose.exceptions=true' for everything) ``` この例では、​`type`​ という名前のパラメーターが無効であることが JCo ライブラリにより報告されています。 このエラーを解決する手順は、次のとおりです。 JCo 拡張プロパティの有効なプロパティ名を指定します。 ### [](#multiple-jco-servers-running)複数の JCo サーバーが実行されている 2 つ以上の JCo サーバーには、設定名が異なっていても同じ設定パラメーターセットを含めることはできないため、次のエラーが表示されます。 ```text ERROR 2012-07-05 10:11:30,525 [WrapperListener_start_runner] com.mulesoft.mule.transport.sap.SapMessageReceiver: Error connecting to server com.sap.conn.jco.JCoException: (101) JCO_ERROR_CONFIGURATION: Server configuration for sapavalara-1.0-SNAPSHOT-gettax is already used for a running server at com.sap.conn.jco.rt.StandaloneServerFactory.update(StandaloneServerFactory.java:358) at com.sap.conn.jco.rt.StandaloneServerFactory.getServerInstance(StandaloneServerFactory.java:176) at com.sap.conn.jco.server.JCoServerFactory.getServer(JCoServerFactory.java:74) at com.mulesoft.mule.transport.sap.jco3.SapJcoRfcServer.initialise(SapJcoRfcServer.java:46) at com.mulesoft.mule.transport.sap.jco3.SapJcoServerFactory.create(SapJcoServerFactory.java:60) at com.mulesoft.mule.transport.sap.SapMessageReceiver.doConnect(SapMessageReceiver.java:56) at org.mule.transport.AbstractTransportMessageHandler.connect(AbstractTransportMessageHandler.java:218) at org.mule.transport.AbstractConnector.registerListener(AbstractConnector.java:1254) ```
これは、同じ Mule サーバーで実行されている Mule アプリケーションにのみ適用されます。Mule サーバーグループのノードにこの制限はありません。
このエラーを解決する手順は、次のとおりです。 次の属性を使用して、サーバーグループキーを作成します (サーバーグループキーは JCo サーバー接続のユニーク性を決定します)。 - `jco.server.gwhost` - `jco.server.gwserv` - `jco.server.progid` 2 つのサーバーで ​`gwhost`​、​`gwserv`​、および ​`progid`​ の値が異なる場合のみ、2 つのサーバーを同じ Mule インスタンスで開始できます (JCo はこの情報をシングルトンクラスで保持します)。 ## [](#スローされる一般的な例外メッセージの理解)スローされる一般的な例外メッセージの理解 スローされる一般的な例外メッセージとその解釈方法のリストを次に示します。 - SAP:CONNECTIVITY A connection cannot be established. (接続を確立できません。) - SAP:INVALID\_CACHE The cache used internally by the JCo library is corrupted or can’t be read. (JCo ライブラリで内部的に使用されているキャッシュが破損しているか、読み取ることができません。) - SAP:INVALID\_INPUT User input cannot be parsed or is incorrect. (ユーザー入力を解析できないか、ユーザー入力が正しくありません。) - SAP:METADATA\_UNAVAILABLE The metadata for an IDoc segment is unavailable. (IDoc セグメントのメタデータを利用できません。) - SAP:NOT\_FOUND A function or IDoc template cannot be found or retrieved. (関数または IDoc テンプレートが見つからないか、取得できません。) - SAP:NOT\_SUPPORTED An action occurs that is not supported by any JCo handler. (JCo ハンドラーでサポートされていないアクションが実行されました。) - SAP:PARSING The JCo library has a parsing issue or the connector cannot convert XML to a BAPI function or an IDoc. (JCo ライブラリに解析の問題があるか、コネクタが XML を BAPI 関数または IDoc に変換できません。) - SAP:RETRY\_EXHAUSTED Execution block retries are exhausted. (実行ブロックの再試行が終了しました。) - SAP:SYSTEM\_BUSY The remote ABAP system is too busy to handle a request. (リモートの ABAP システムが混雑しているため要求を処理できません。) - SAP:TIMEOUT A timeout exception happens inside the JCo library. (JCo ライブラリ内でタイムアウト例外が発生しました。) ## [](#関連情報)関連情報 - [Anypoint Connector の概要](https://docs.mulesoft.com/connectors/introduction/introduction-to-anypoint-connectors) - [SAP Connector リファレンス](https://docs.mulesoft.com/jp/sap-connector/latest/sap-connector-reference) - [MuleSoft ヘルプセンター](https://help.mulesoft.com) - [Known Issues](https://help.salesforce.com/s/issues) # SAP Connector 5.9 の例 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/latest/_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 EDI_DC40 800 0000000003519646 740 30 1 2 MATMAS01 MATMAS SAPIDE LS T90CLNT090 MULE01_TP LS MULE01_LS 20180606 133420 20180606133420 005 000000000000000088 19970527 MORLEY 20030122 I021066 KVB X FERT M 02004 PCE 000 0.200 0.200 KGM 0.000 0001 09 0.000 0.000 0.000 0.000 0.000 0.000 0.0 0.0 0 0 0 0 0 KVB 00000000 00000000 00 0.0 0.0 000000000 005 1 AS-100 T-shirt ZH 005 4 AS-100 T-shirt RO 005 5 AS-100 T-shirt SL 005 6 AS-100 T-shirt HR 005 E AS-100 T-shirt EN 005 F AS-100 T-shirt FR 005 G AS-100 T-shirt EL 005 J AS-100 T ??? JA 005 W AS-100 T-shirt BG 005 d AS-100 T-shirt SH 005 1000 V X 0 0 M 0.00 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0 00000000 0.00 0.00 0.00 0.000 0 0 0.0 0.0 0 0.00 0.000 0.0 00000000 01 0.00 0.000 0.00 0.000 000 000 000 0.000 0.00 0 00000000 0.00 00000000 00000000 0 00 00000000 0 0.000 0.000 0.000 0.000 00 0.000 005 2300 VB X 0 0 M 0.00 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0 00000000 0.00 0.00 0.00 0.000 0 0 0.0 0.0 0 0.00 0.000 0001 0.0 00000000 01 0.00 0.000 0.00 0.000 000 000 000 0.000 0.00 0 00000000 0.00 00000000 00000000 00000000 0 00 00000000 0 0.000 0.000 0.000 0.000 00 0.000 005 PCE 1 1 0.000 0.000 0.000 0.000 0.200 KGM 0 0 0.000 005 2300 X S 0 0.3 1 7920 S 0 0.3 1 7920 S 0 0.3 1998 09 0 00000000 0 0 0 0 0.000 0.000 0 0 0 0 0 00000000 00000000 00000000 0 0 00 B 000100014878 000100014879 00 00 00 000 000 000 0000 0000 0000 0 7920 1 X 0 005 ES MWST 0 ',"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\]**​ のプロパティに次の値を設定します。
項目 値

IDoc Name (IDoc 名)

MATMAS01

Content (コンテンツ)

#[payload]

### [](#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 EDI_DC40 800 0000000003519646 740 30 1 2 MATMAS01 MATMAS SAPIDE LS T90CLNT090 MULE01_TP LS MULE01_LS 20180606 133420 20180606133420
',"application/xml") ]]> ``` ## [](#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/latest/_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\]**​ のプロパティに次の値を設定します。
項目 値

Gateway host (ゲートウェイホスト)

ゲートウェイサーバーを実行するホスト

Gateway service (ゲートウェイサービス)

3200

Program id (プログラム ID)

MULE01_PID

Connection count (接続数)

1

Idoc type filter regex (Idoc 種別検索条件の正規表現)

MATMAS01

[Gateway host (ゲートウェイホスト)]​、​[Gateway service (ゲートウェイサービス)]​、​[Program id (プログラム ID)]​ は、顧客の SAP チームから取得する必要があります。

SAP インスタンスに関連するすべての情報 (設定やログイン情報など) を顧客の SAP チームから取得する必要があります。

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 --- ``` Studio コンソールでの応答例 ```dataweave EDI_DC40 800 0000000003572826 740 30 1 2 MATMAS01 MATMAS SAPIDE LS T90CLNT090 MULE11_TP LS MULE11_LS 20191004 050305 20191004050305 ... ``` ## [](#receive-an-sap-function)SAP 関数を受信する この例は、SAP 関数を受信する Mule アプリケーションを作成する方法を示しています。この例では、関数が別の Mule フローまたは SAP の GUI からトリガーされたときに結果を表示します。次のスクリーンショットは、この例の Studio フローを示しています。 ![SAP 接続を確立するための Studio フロー](/mulesoft/current/ja-jp/sap-connector/latest/_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/latest/_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 --- ``` ## [](#manage-transactions)トランザクションの管理 この例では、銀行レコードを処理する標準 BAPI で 2 つのコールを実行し、それらのトランザクションを管理します。 次のスクリーンショットは、この例の Studio フローを示しています。 ![トランザクションを管理する最初の Studio フロー](/mulesoft/current/ja-jp/sap-connector/latest/_images/managetransactions-flow1.png) ![トランザクションを管理する 2 番目の Studio フロー](/mulesoft/current/ja-jp/sap-connector/latest/_images/managetransactions-flow2.png) ![トランザクションを管理する 3 番目の Studio フロー](/mulesoft/current/ja-jp/sap-connector/latest/_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 US 021000089 Citibank NY Park Avenue New York CITIUSXX 021000089 Manhattan 2005-03-11 C5031845 0 0 0 000 000000 0 ``` 3. Web ブラウザーから次の URL を入力して 2 番目のフローをテストします。 `http://localhost:8081/sync-mule-transaction` 次のような要求の XML 出力が表示されます。 ```dataweave TA 3000 10 00 .................... S V1 311 Standard Order 23669 has been saved 000000 Standard Order 23669 SALES_HEADER_IN 0 T90CLNT090 ``` 4. Web ブラウザーから次の URL を入力して 3 番目のフローをテストします。 `http://localhost:8081/async-rfc` 次のような要求の XML 出力が表示されます。 ```dataweave US 0 ``` ### [](#トランザクションを管理するための-xml)トランザクションを管理するための XML トランザクションの管理の例のフローをすばやく読み込むには、Studio で次のコードを新しい Mule アプリケーションに貼り付けます。環境に合わせて値を変更してください。 ```xml ``` ## [](#configure-multiple-gateways)複数のゲートウェイの設定 この例では、1 つのゲートウェイ接続ではなく、負荷を分散してパフォーマンスを向上させるために複数のゲートウェイ接続を使用して、メッセージサーバーを設定する Mule アプリケーションを作成する方法を示します。 次のスクリーンショットは、この例の Studio フローを示しています。 ![複数のゲートウェイを使用してメッセージサーバーを設定するための Studio フロー](/mulesoft/current/ja-jp/sap-connector/latest/_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\]**​ プロパティタブで、次の項目を設定します。
項目 値

Gateway host (ゲートウェイホスト)

54.160.77.19

Gateway service (ゲートウェイサービス)

3300

Program id (プログラム ID)

MULE11_IDOC_PID

Connection count (接続数)

1

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\]**​ プロパティタブで、次の項目を設定します。
項目 値

Function Name (関数名)

"ZMMFM_TRIGGER_IDOC_MATMAS"

Content (コンテンツ)

payload

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\]**​ プロパティタブで、次の項目を設定します。
項目 値

Function Name (関数名)

"ZMMFM_TRIGGER_IDOC_MATMAS"

Content (コンテンツ)

payload

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 ``` ## [](#関連情報)関連情報 - [Anypoint Connector の概要](https://docs.mulesoft.com/connectors/introduction/introduction-to-anypoint-connectors) - [MuleSoft ヘルプセンター](https://help.mulesoft.com) # SAP Connector 5.9 の用語

可能な場合は、Equality の会社の値に一致するように、含めない用語を変更しました。顧客の実装に対する影響を回避するために、一部の用語は変更されていません。

次に、一般的に要される SAP システムの頭字語を示します。 ABAP (アドバンスドビジネスアプリケーションプログラミング) SAP の独自プログラミング言語であり、ビジネスアプリケーションをビルドするための NetWeaver プラットフォームの一部。 ALE (アプリケーションリンクイネーブリング) SAP システムの分散アプリケーションおよび統合インストールをセットアップします。これには、緩やかにリンクしている SAP アプリケーション間で整合性が確保されたデータを使用するビジネス駆動型メッセージエクスチェンジが含まれます。アプリケーションは、中央データベースを使用せずに、同期通信および非同期通信で統合されます。 BAPI (ビジネスアプリケーションプログラミングインターフェース) 設計条件を満たし、次のような機能を提供する関数モジュール。 - SAP ビジネスオブジェクトのメソッドを実装する。 - さまざまなバージョンの SAP システムで静的インターフェースを維持する。 - リモートで有効化する。 - ユーザー操作の有無に関係なく実行が完了する。 - エラーを処理する。 FM (関数モジュール) SAP の ABAP 言語で定義された手順。これにより、SAP でグローバル関数をカプセル化および再利用できます。 IDoc (中間ドキュメント) SAP システム間で電子データを交換するための標準 SAP 形式。通常、メッセージ種別 (納品書や発注書など) ごとに異なる特殊な形式 (IDoc 種別と呼ばれる) に対応しています。ただし、関連するコンテンツが含まれる複数のメッセージ種別を 1 つの IDoc 種別に割り当てることもできます。 Java API 動的なメタデータルックアップおよびキャッシュを処理します。Java API は、SAP BAPI 関数モジュールのパラメーターおよびテーブルで使用する ​`JCO.Function`​ コンテナを Java で実装します。Java アプリケーションは、Java API 上に構築されます。 JNI (Java ネイティブインターフェース) JNI は、SAP Connector ライブラリのレイヤーです。JCo は、Java で C ライブラリをラップして、SAP システムへのプラットフォームネイティブなアクセスを提供します。RFC ミドルウェアは、JNI レイヤーを介して RFC ライブラリを使用します。 RFC (リモート関数コール) SAP システムとの通信は、RFC プロトコルを介して行われます。リモート関数コールは、BAPI をコールするか、コール元プログラムとして別のシステムで実行される IDoc 処理をトリガーします。RFC インターフェースにより、2 つの SAP システム間または SAP と外部システム間の関数コールが可能になります。 RFC レイヤー リモート関数コールを処理する SAP コンポーネント。 RFC ライブラリ SAP システムにアクセスするための C 言語ベースの関数のライブラリ。RFC ライブラリの対応は、JNI によって行われます。 SAP Java IDoc クラスライブラリ SAP IDoc の構造化された高レベルの解析とナビゲーションを Java で提供し、次のアドオンパッケージで構成されます。 - SAP Java ベース IDoc クラスライブラリ: ミドルウェアに依存する Java IDoc クラスライブラリの実装の一般的な基本クラスとインターフェースのセットを提供する、ミドルウェアに依存しないライブラリ。 - SAP Java Connector IDoc クラスライブラリ: IDoc を作成、送信、受信するためのミドルウェアに依存しないライブラリ。 SAP NetWeaver SAP ソリューションで使用される主要なテクノロジーおよびアプリケーションプラットフォームの 1 つ。NetWeaver の主要なコンポーネントは、ERP、CRM、SCM、PLM、SRM、BI などの SAP アプリケーションのランタイム環境を提供する SAP Web アプリケーションサーバー (WebAS) です。その他に、エンタープライズポータル、エクスチェンジインフラストラクチャ、マスターデータ管理、モバイルインフラストラクチャなどのコンポーネントもあります。SAP NetWeaver は、これらの技術的なコンポーネントの総称です。SAP NetWeaver は、Java スタックと ABAP スタックの両方で実行されます。 SNC (セキュアネットワークコミュニケーション) SAP NetWeaver のシングルサインオンや、SAP システムと連携する外部セキュリティ製品と統合します。SNC は、SAP システムでは直接使用できないセキュリティ関数を提供します。 ## [](#関連情報)関連情報 - [Anypoint Connectors Overview](https://docs.mulesoft.com/connectors/introduction/introduction-to-anypoint-connectors) - [MuleSoft ヘルプセンター](https://help.mulesoft.com) # SAP Connector 5.9 の追加設定 SAP Connector の基本設定を完了したら、詳細設定の変更や拡張プロパティの定義など、追加の設定タスクを実行できます。 ## [](#一般設定)一般設定 1. キャンバスの下部にある ​**\[Global Elements (グローバル要素)\]**​ タブをクリックします。 2. **\[Create (作成)\]**​ をクリックします。 3. **\[Connector Configuration (コネクタ設定)\]**​ を展開し、​**\[SAP Inbound (SAP インバウンド)\]**​ または ​**\[SAP Outbound (SAP アウトバウンド)\]**​ を選択して、​**\[OK\]**​ をクリックします。 4. **\[Global Element Properties (グローバル要素のプロパティ)\]**​ 画面の上部にある ​**\[Advanced (詳細)\]**​ タブをクリックします。 ![\[Global Element Properties (グローバル要素プロパティ)\] ウィンドウ内で選択されている \[Advanced (詳細)\] タブ](_images/sap-connector-config-adv.png) 5. **\[General (一般)\]**​ セクションで、​**\[Max Idle time (最大アイドル時間)\]**​ を設定します。 1. **\[Expiration policy (有効期限ポリシー)\]**​ を選択します。 2. **\[Max Idle time (最大アイドル時間)\]**​ に値を入力し、​**\[Time Unit (時間単位)\]**​ を追加します。 3. **\[OK\]**​ をクリックします。
項目 型 説明 デフォルト値

Expiration Policy (有効期限ポリシー)

ExpirationPolicy

動的設定インスタンスがアイドル状態を続けられる最小時間を設定します。この時間が経過すると、Runtime で期限切れに相当するとみなされます。これは、インスタンスが有効期限の対象となった瞬間にプラットフォームでそのインスタンスが期限切れになるということではありません。必要に応じて、Runtime がインスタンスをパージします。

Max Idle time (最大アイドル時間)

Number (数値)

有効期限の対象とみなされるまで、動的設定インスタンスがアイドル状態を維持できる最大時間のスカラー時間値。

Time unit (時間単位)

Enumeration (列挙)。次のいずれかになります。

  • DAYS

  • HOURS

  • MICROSECONDS

  • MILLISECONDS

  • MINUTES

  • NANOSECONDS (ナノ秒) SECONDS (秒)

## [](#詳細設定)詳細設定 ![\[Global Element Properties (グローバル要素プロパティ)\] ウィンドウの \[Advanced (詳細)\] タブの項目](_images/sap-advanced.png) \[Advanced (詳細)\] 設定では、エンコード、バージョン、フラグ、形式、およびタイムアウトの各パラメーターを設定できます。 これらの項目値を変更するには、​**\[Global Element Properties (グローバル要素のプロパティ)\]**​ 画面の上部にある ​**\[Advanced (詳細)\]**​ タブをクリックします。
項目 XML 属性 説明 デフォルト値

Display Name (表示名)

name (名前)

Mule 設定で内部的に使用されるエンドポイントの参照名を設定します。

Encoding (エンコード)

encoding

エンコードの正規名を設定します。 Oracle のサポートされるエンコード​を参照してください。

Default IDocument Version (デフォルトの IDoc バージョン)

defaultIdocumentVersion

中間ドキュメント (IDoc) を送信する場合、バージョンを設定します。IDoc バージョンの値は、​com.sap.conn.idoc.IDocFactory​ の ​IDOC_VERSION_xxxx​ 定数に対応しています。

Disable Function template cache flag ([関数テンプレートキャッシュを無効化] フラグ)

disableFunctionTemplateCacheFlag

関数テンプレートキャッシュを無効化するには、これを設定します。

false

Evaluate response flag ([応答を評価] フラグ)

evaluateResponseFlag

エラー応答で例外を発生させるのか、ユーザーが別の結果を使用してエラー応答を処理できるようにするのかを設定します。

false

Log trace flag ([トレースを記録] フラグ)

logTraceFlag

トレースを Mule サーバーに記録するかどうかを設定します。

false

Use SAP format (SAP 形式の使用)

useSAPFormat

同期リモート関数コール (sRFC) を使用してビジネスアプリケーションプログラミングインターフェース (BAPI) 関数を操作するときに SAP デフォルト形式を使用するには、これを設定します。

false

## [](#拡張プロパティの定義)拡張プロパティの定義 拡張プロパティを使用すると、SAP アウトバウンド設定パラメーターを調整できます。 SAP Connector のグローバル要素の拡張プロパティを定義する手順は、次のとおりです。 1. **\[General (一般)\]**​ ペインの ​**\[Advanced (詳細)\]**​ タブに移動します。 ![\[一般\] タブ内で選択されている \[Advanced (詳細)\] タブ](_images/sap-connector-advanced-tab.png) 2. ウィンドウの上部にある ​**\[Extended Properties (拡張プロパティ)\]**​ セクションを見つけます。 3. **\[Edit inline (インライン編集)\]**​ オプションを選択します。 4. **\[+\]**​ をクリックして、新しい拡張プロパティを追加します。 SAP で使用しているものと同じプロパティ名を使用します。 1. [Pooling Config (プーリング設定)](https://help.sap.com/viewer/b865ed651e414196b39f8922db2122c7/Cloud/en-US/8278bed44893498f95d5d6d5f0a47f35.html) 2. [Target System configuration (対象システム設定)](https://help.sap.com/viewer/b865ed651e414196b39f8922db2122c7/Cloud/en-US/f8fac995b0144a0b8ec0801b8f7bab3e.html) ### [](#クライアント環境の設定)クライアント環境の設定 使用しているオペレーティングシステムに依存するシステム変数を設定し、PSE (パーソナルセキュリティ環境) を生成します。 1. 次のコマンドを使用して cmd またはターミナルを開き、SAPCAR および SAP 暗号ライブラリを展開します。 \`SAPCAR -xvf これによりフォルダー​**からファイルが抽出されます**​。 2. 次の環境変数を設定します。​**\*​ \*この例では、ライブラリへのパスは「C:\\Users\\Administrator\\Desktop\\SNC」です。** - SNC\_LIB - SECUDIR = ​`` - LD\_LIBRARY\_PATH​ = ​`\sapcrypto.dll` - SSF\_LIBRARY\_PATH​ = ​`\sapcrypto.dll` Windows の場合、​`sapcrypto.dll`​ の 64 ビットバージョンは別のパスにあり、​SNC\_LIB\_64​ という新しい変数に追加されています。 cmd またはターミナルで次のコマンドを使用して PSE を作成します。 `sapgenpse gen_pse -v -p RFC.pse` このコマンドを実行する場合、後で使用するパスワードまたは PIN と、一意である必要がある識別名を入力する必要があります。STRUST ですでに使用されている名前があるかどうかを確認できます。 3. セッションユーザーが PSE にアクセスするために必要とするログイン情報を追加します。PSE は「sapgenpse seclogin -p RFC -O you\_user」コマンドを使用して cred\_v2 ファイルを作成します。 ## [](#次のステップ)次のステップ これで設定が完了したので、SAP の​[例](https://docs.mulesoft.com/jp/sap-connector/latest/sap-connector-examples)​を試すことができます。 ## [](#関連情報)関連情報 - [Anypoint Connector の概要](https://docs.mulesoft.com/connectors/introduction/introduction-to-anypoint-connectors) - [MuleSoft ヘルプセンター](https://help.mulesoft.com) # SAP Connector 5.9 リファレンス SAP 用 Anypoint Connector (SAP Connector) を使用すると、SAP NetWeaver に基づいてデータを外部システムと統合できます。
バージョン 5.0 以降、SAP Connector では、SAP S/4HANA のオンプレミスインスタンスへの接続もサポートされるようになりました。
## [](#制限事項)制限事項 - バージョン 5.4.0 以前の SAP Connector では、同じ ​PROGRAM\_ID​、​GATEWAY\_SERVICE​、​GATEWAY\_HOST​ を持つ同じ Mule Runtime Engine にデプロイされた複数のサーバーを JCo ライブラリによって作成することはできません。同じ ​PROGRAM\_ID​、​GATEWAY\_SERVICE​、および ​GATEWAY\_HOST​ を持つ 2 つのサーバーを作成しようとすると、1 つのサーバーのみが作成されます。この問題を回避するには、2 つの異なる Mule Runtime Engine を使用するか、2 つの異なる ​GATEWAY\_HOST​ を持つ同じ ​PROGRAM\_ID​ を使用します。 - SAP Connector では Bitronix トランザクションマネージャーはサポートされていません。 - **Document Listener**​ および ​**Function Listener**​ ソースでは、Mule トランザクションはサポートされていません。(​**\[Advanced (詳細)\] タブ**​の) ​**\[Transactional action (トランザクションアクション)\]**​ および ​**\[Transaction type (トランザクション種別)\]**​ パラメーターは両方のソースで使用できますが、トランザクション機能は実装されていません。 - SAP リスナー (​**\[Document Listener\]**​ と ​**\[Function Listener\]**​) の再接続戦略では JCo ライブラリのみに依存しています。つまり、Mule の再接続メカニズムは再接続に影響しません。 - 接続に問題がある場合、バックグラウンドで実行される JCO サーバーによって再接続が管理されます。JCo RFC プロバイダーにより、Java サーバーと ABAP ゲートウェイ間の通信エラーが認識され、再接続が再試行されます。最初の再接続に失敗すると、1 秒待機して次の再接続試行が行われます。再度再接続に失敗すると、再接続の待機時間は 1 秒から 2 秒と 2 倍になり、最終的にデフォルトの最大待機期間である 3600 秒 (1 時間) になるまで続きます。​`-Djco.server.max_startup_delay=`​ JMV パラメーターを使用して最大再接続タイムアウトを設定します。 - SAP の ​`XSTRING`​ データ形式はバイナリ blop 形式です。​`XSTRING`​ 項目の値を送信するには、RFC ステップに送信する XML 内で ​[toHex](https://docs.mulesoft.com/dataweave/latest/dw-numbers-functions-tohex)​ 関数を使用してバイナリを base-32 でエンコードする必要があります。 ## [](#sap)設定 SAP Connector のデフォルト設定。
名前 型 説明 デフォルト値 必須

Name (名前)

String (文字列)

この設定の名前。コネクタはこの名前の設定を参照します。

x

Connection (接続)

この設定の接続種別。

x

Expiration Policy (有効期限ポリシー)

動的設定インスタンスがアイドル状態を続けられる最小時間を設定します。この時間が経過すると、Mule Runtime で期限切れに相当するとみなされます。

Encoding (エンコード)

String (文字列)

エンコードの正規名。 Oracle のサポートされるエンコード​を参照してください。

Default Idocument Version (デフォルトの IDoc バージョン)

String (文字列)

デフォルトの IDoc バージョン。

0

Disable Jco Internal Cache (Jco 内部キャッシュを無効化)

Boolean (ブール)

JCo 内部キャッシュを使用するかどうかを示すフラグ。SAP JCo 内部キャッシュを無効にするには、このフラグを ​true​ に設定します。デフォルトでは、JCo は最初のコールの後にメタデータを保存し、後続のコールでそのテンプレートを入力します。このフラグは関数とソースの両方に適用されます。

false

Evaluate Response Flag ([応答を評価] フラグ)

Boolean (ブール)

エラー応答で例外をスローするか、ユーザーがエラー応答を別の結果として処理できるようにするのかを示すフラグ。このフラグは、メッセージで例外 (E) をスローするのか、警告 (W) 付きの結果として処理するのかを指定するために使用される例外またはログメカニズムです。

フラグを ​true​ に設定した場合、例外 (E) メッセージが返されると、そのメッセージと共に例外がスローされます。

フラグを ​true​ に設定した場合、警告 (W) メッセージが返されると、警告メッセージが記録されます。

false

Log Trace Flag ([トレースを記録] フラグ)

Boolean (ブール)

トレースを Mule サーバーに記録するかどうかを示すフラグ。トレースを記録するには、このフラグを ​true​ に設定します。

false

Use SAP Format (SAP 形式の使用)

Boolean (ブール)

SAP 値を返すための Mule 3 形式をサポートするかどうかを決定します。​JCoField​ を解析するときに ​JCoToBusinessObjectParser​ クラスで使用されます。BAPIFunctions over sRFC を使用する場合にのみ SAP デフォルト形式を使用します。

  • true​

    値は元の SAP 形式の文字列として返されます。

  • false​

    元の値が対応する Java オブジェクトに変換され、シリアル化されて返されます。

false

Use SAP Format On Function Listener (関数リスナーでの SAP 形式の使用)

Boolean (ブール)

SAP 値を返すための Mule 3 形式をサポートするかどうかを決定します。​JCoField​ を解析するために使用されます。BAPI 関数リスナーを使用する場合にのみ SAP デフォルト形式を使用します。

  • true​

    値は元の SAP 形式の文字列として返されます。

  • false​

    元の値が対応する Java オブジェクトに変換され、シリアル化されて返されます。

false

### [](#sap_certificate)\[Certificate (証明書)\] 接続種別 X509 証明書を使用してユーザーを認証します。
名前 型 説明 デフォルト値 必須

SAP system number (SAP システム番号)

String (文字列)

SAP システムの 2 桁のシステム番号 (sysnr)。

x

SAP client ID (SAP クライアント ID)

String (文字列)

3 桁のクライアント番号。数値で表示する場合は先行ゼロを保持します。

x

Destination Name (宛先名)

String (文字列)

このコネクタによって生成される宛先の識別子。設定されていない場合、ランダムな値が作成されます。

Login language (ログイン言語)

String (文字列)

コネクタで使用される言語コード。言語によって、SAP アダプターとアプリケーションサーバー間の通信に使用されるコードページが決定されます。

EN

Extended Properties (拡張プロパティ)

Object (オブジェクト)

データベースサーバー固有のすべての接続パラメーターを渡すために使用されます。

X.509 Certificate (X.509 証明書)

String (文字列)

X.509 証明書へのパス。これは、コネクタがクライアントとして機能する場合に必要です。

Application server host (アプリケーションサーバーホスト)

String (文字列)

SAP アプリケーションサーバーのホスト。

Message server configuration (メッセージサーバーの設定)

メッセージサーバーの使用の設定。

Enable RFC tracing on server (サーバーでの RFC トレースの有効化)

Boolean (ブール)

サーバーで RFC トレースを有効または無効にします。

false

Enable CPIC tracing on server (サーバーでの CPIC トレースの有効化)

Enumeration (列挙)。次のいずれかになります。

  • INHERIT

  • NO_TRACING​

  • LEVEL_1​

  • LEVEL_2​

  • LEVEL_3

サーバーで CPIC トレースを有効または無効にします。

Reconnection (再接続)

コネクタ操作で外部サーバーへの接続に失敗した場合に使用する再接続戦略を設定します。

### [](#sap_kerberos)Kerberos 接続種別 Kerberos プロトコルを実装してユーザーを認証および承認します。
名前 型 説明 デフォルト値 必須

SAP system number (SAP システム番号)

String (文字列)

SAP システムの 2 桁のシステム番号 (sysnr)。

x

SAP client ID (SAP クライアント ID)

String (文字列)

3 桁のクライアント番号。数値で表示する場合は先行ゼロを保持します。

x

Destination Name (宛先名)

String (文字列)

このコネクタによって生成される宛先の識別子。設定されていない場合、ランダムな値が作成されます。

Login language (ログイン言語)

String (文字列)

コネクタで使用される言語コード。言語によって、SAP アダプターとアプリケーションサーバー間の通信に使用されるコードページが決定されます。

EN

Extended Properties (拡張プロパティ)

Object (オブジェクト)

データベースサーバー固有のすべての接続パラメーターを渡すために使用されます。

Application server host (アプリケーションサーバーホスト)

String (文字列)

SAP アプリケーションサーバーのホスト。

Message server configuration (メッセージサーバーの設定)

メッセージサーバーの使用の設定。

Enable RFC tracing on server (サーバーでの RFC トレースの有効化)

Boolean (ブール)

サーバーで RFC トレースを有効または無効にします。

false

Enable CPIC tracing on server (サーバーでの CPIC トレースの有効化)

Enumeration (列挙)。次のいずれかになります。

  • INHERIT

  • NO_TRACING​

  • LEVEL_1​

  • LEVEL_2​

  • LEVEL_3

サーバーで CPIC トレースを有効または無効にします。

Kerberos Config File Path (Kerberos 設定ファイルパス)

String (文字列)

krb5.conf ファイルへのパス。

x

Keytab File Path (Keytab ファイルパス)

String (文字列)

keytab ファイルへのパス。

x

GSS Library Path (GSS ライブラリパス)

String (文字列)

gss ライブラリへのパス。

x

Principal (プリンシパル)

String (文字列)

コネクタが SAP にログインするために使用するプリンシパル。

x

Client SNC Partner Name (クライアント SNC のパートナー名)

String (文字列)

jco.client.snc_partnername​ プロパティ。

x

Client SNC My Name (クライアント SNC の私の名前)

String (文字列)

jco.client.snc_myname​ プロパティ。

x

Server SNC Partner Name (サーバー SNC のパートナー名)

String (文字列)

jco.server.snc_partnername​ プロパティ。

Server SNC My Name (サーバー SNC の私の名前)

String (文字列)

jco.server.snc_myname​ プロパティ。

Reconnection (再接続)

コネクタ操作で外部サーバーへの接続に失敗した場合に使用する再接続戦略を設定します。

### [](#sap_simple-connection-provider)Simple Connection Provider Connection Type ユーザー名とパスワードを使用して接続します。
名前 型 説明 デフォルト値 必須

SAP system number (SAP システム番号)

String (文字列)

SAP システムの 2 桁のシステム番号 (sysnr)。

x

SAP client ID (SAP クライアント ID)

String (文字列)

3 桁のクライアント番号。数値で表示する場合は先行ゼロを保持します。

x

Destination Name (宛先名)

String (文字列)

このコネクタによって生成される宛先の識別子。設定されていない場合、ランダムな値が作成されます。

Login language (ログイン言語)

String (文字列)

コネクタで使用される言語コード。言語によって、SAP アダプターとアプリケーションサーバー間の通信に使用されるコードページが決定されます。

EN

Extended Properties (拡張プロパティ)

Object (オブジェクト)

データベースサーバー固有のすべての接続パラメーターを渡すために使用されます。

Username (ユーザー名)

String (文字列)

コネクタが SAP にログインするために使用するユーザー名。

x

Password (パスワード)

String (文字列)

ログインユーザー名に関連付けられているパスワード。

x

Application server host (アプリケーションサーバーホスト)

String (文字列)

SAP アプリケーションサーバーのホスト。

Message server configuration (メッセージサーバーの設定)

メッセージサーバーの使用の設定。

Enable RFC tracing on server (サーバーでの RFC トレースの有効化)

Boolean (ブール)

サーバーで RFC トレースを有効または無効にします。

false

Enable CPIC tracing on server (サーバーでの CPIC トレースの有効化)

Enumeration (列挙)。次のいずれかになります。

  • INHERIT

  • NO_TRACING​

  • LEVEL_1​

  • LEVEL_2​

  • LEVEL_3

サーバーで CPIC トレースを有効または無効にします。

Reconnection (再接続)

アプリケーションがデプロイされると、すべてのコネクタで接続テストが実行されます。​true​ に設定されている場合、関連する再接続戦略をすべて実行した後にテストに合格しないと、デプロイメントが失敗します。

## [](#ソース)ソース - [Document Listener](#document-listener) - [Function Listener](#function-listener) ### [](#document-listener)Document Listener `` 受信 IDoc をリスンします。
名前 型 説明 デフォルト値 必須

Configuration (設定)

String (文字列)

使用する設定の名前。

x

Gateway Host (ゲートウェイホスト)

String (文字列)

ゲートウェイサーバーを実行するホストの名前。これは、ゲートウェイハンドラーを実行するホストの名前です。SAP ゲートウェイは、SAP 以外のアプリケーションを SAP アプリケーションに接続するために使用される開発フレームワークです。RFC 宛先を使用して、信頼されるシステムとして SAP ゲートウェイホストを設定できます。

x

Gateway Service (ゲートウェイサービス)

String (文字列)

SAP システムのゲートウェイサービスのサービスポート。ポートの代わりに名前を使用するには、ゲートウェイサービス名をゲートウェイサービスポートにマップする必要があります。

x

Program ID (プログラム ID)

String (文字列)

ゲートウェイに登録されている SAP システムプログラム ID。特定のゲートウェイで一意である必要があります。

x

Connection Count (接続数)

Number (数値)

ゲートウェイに登録する接続の数。複数の接続がある場合、ハンドラー要求は並列処理されます。たとえば、2 つの接続が設定されている場合、これにより、要求を並列処理する 2 つのハンドラーワーカーまたはスレッドが作成されます。これらは、一緒に開始する 2 つのソースのように機能します。

1

Idoc Type Filter Regex (Idoc 種別検索条件の正規表現)

String (文字列)

受信したすべての IDoc を種別で絞り込むための式。

Idoc Type Extension Filter Regex (Idoc 種別拡張機能検索条件の正規表現)

String (文字列)

受信したすべての IDoc を種別拡張機能で絞り込むための式。

Message server host (メッセージサーバーホスト)

String (文字列)

メッセージサーバーのホスト。

Message server port (メッセージサーバーポート)

String (文字列)

メッセージサーバー名またはポート番号。

System ID (システム ID)

String (文字列)

メッセージサーバーが属するシステムのシステム ID。

Group (グループ)

String (文字列)

ABAP で定義され、アプリケーションサーバーセットを識別するログオングループ。

Update interval (更新間隔)

String (文字列)

メッセージサーバーがアプリケーションサーバーのリストを取得する頻度。

IDoc Render Options (IDoc 表示オプション)

IDoc 表示オプション。

Encoding (エンコード)

String (文字列)

エンコードの正規名。 Oracle のサポートされるエンコード​を参照してください。

Transactional Action (トランザクションアクション)

Enumeration (列挙)。次のいずれかになります。

  • ALWAYS_BEGIN​

  • NONE (なし)

トランザクションに関してソースで実行する開始アクションの種別。

NONE

Transaction Type (トランザクション種別)

Enumeration (列挙)。次のいずれかになります。

  • LOCAL

  • XA

作成するトランザクションの種別。使用できるかどうかは、Mule バージョンによって決まります。

LOCAL

Primary Node Only (プライマリノードのみ)

Boolean (ブール)

クラスターでの Mule インスタンスの実行時、このソースをプライマリノード上でのみ実行するかどうかを決定します。

Streaming Strategy (ストリーミング戦略)

Mule によるストリームの処理方法を設定します。反復可能ストリームは、デフォルトの動作です。

Redelivery Policy (再配信ポリシー)

同じメッセージの再配信を処理するためのポリシーを定義します。

Reconnection Strategy (再接続戦略)

接続エラーが発生した場合の再試行戦略。

#### [](#出力)出力

型

Binary (バイナリ)

Attributes Type (属性型)

#### [](#関連する設定)関連する設定 - [設定](#sap) ### [](#function-listener)Function Listener `` 受信した BAPI 関数をリスンします。
名前 型 説明 デフォルト値 必須

Configuration (設定)

String (文字列)

使用する設定の名前。

x

Gateway Host (ゲートウェイホスト)

String (文字列)

ゲートウェイサーバーを実行するホストの名前。これは、ゲートウェイハンドラーを実行するホストの名前です。SAP ゲートウェイは、SAP 以外のアプリケーションを SAP アプリケーションに接続するために使用される開発フレームワークです。RFC 宛先を使用して、信頼されるシステムとして SAP ゲートウェイホストを設定できます。

x

Gateway Service (ゲートウェイサービス)

String (文字列)

SAP システムのゲートウェイサービスのサービスポート。ポートの代わりに名前を使用するには、ゲートウェイサービス名をゲートウェイサービスポートにマップする必要があります。

x

Program ID (プログラム ID)

String (文字列)

ゲートウェイに登録されている SAP システムプログラム ID。特定のゲートウェイで一意である必要があります。

x

Connection Count (接続数)

Number (数値)

ゲートウェイに登録する接続の数。複数の接続がある場合、ハンドラー要求は並列処理されます。たとえば、2 つの接続が設定されている場合、これにより、要求を並列処理する 2 つのハンドラーワーカーまたはスレッドが作成されます。これらは、一緒に開始する 2 つのソースのように機能します。

1

Targeted Function (対象関数)

String (文字列)

取得する関数の名前。受信した BAPI 関数を名前で絞り込みます。

Message server host (メッセージサーバーホスト)

String (文字列)

メッセージサーバーのホスト。

Message server port (メッセージサーバーポート)

String (文字列)

メッセージサーバー名またはポート番号。

System ID (システム ID)

String (文字列)

メッセージサーバーが属するシステムのシステム ID。

Group (グループ)

String (文字列)

ABAP で定義され、アプリケーションサーバーセットを識別するログオングループ。

Update interval (更新間隔)

String (文字列)

メッセージサーバーがアプリケーションサーバーのリストを取得する頻度。

Encoding (エンコード)

String (文字列)

エンコードの正規名。 Oracle のサポートされるエンコード​を参照してください。

Transactional Action (トランザクションアクション)

Enumeration (列挙)。次のいずれかになります。

  • ALWAYS_BEGIN​

  • NONE (なし)

トランザクションに関してソースで実行する開始アクションの種別。

NONE

Transaction Type (トランザクション種別)

Enumeration (列挙)。次のいずれかになります。

  • LOCAL

  • XA

作成するトランザクションの種別。使用できるかどうかは、Mule バージョンによって決まります。

LOCAL

Primary Node Only (プライマリノードのみ)

Boolean (ブール)

クラスターでの Mule インスタンスの実行時、このソースをプライマリノード上でのみ実行するかどうかを決定します。

Streaming Strategy (ストリーミング戦略)

Mule によるストリームの処理方法を設定します。反復可能ストリームは、デフォルトの動作です。

Redelivery Policy (再配信ポリシー)

同じメッセージの再配信を処理するためのポリシーを定義します。

Reconnection Strategy (再接続戦略)

接続エラーが発生した場合の再試行戦略。

Response (応答)

Binary (バイナリ)

ソース応答。

SAP 5.6 以降では、​Function Listener​ がトリガーされて、応答が SAP に戻されたときにテーブルの特定の行を更新できます。特定の行を更新するには、更新する行のインデックスを使用して、​INDEX_ROW_UPDATE​ パラメーターをペイロードに追加します。

#[payload]

#### [](#出力-2)出力

型

Binary (バイナリ)

Attributes Type (属性型)

#### [](#関連する設定-2)関連する設定 - [設定](#sap) ## [](#操作)操作 - [Asynchronous Remote Function Call (非推奨)](#asyncRfc) - [Asynchronous Remote Function Call](#asynchronousRemoteFunctionCall) - [Confirm Transaction](#confirmTransactionId) - [Get Function](#getFunction) - [Retrieve IDoc](#retrieveIdoc) - [Send IDoc](#send) - [Start SAP Transaction](#startsaptransaction) - [Synchronous Remote Function Call (非推奨)](#syncRfc) - [Synchronous Remote Function Call](#synchronousRemoteFunctionCall) ### [](#asyncRfc)Asynchronous Remote Function Call (非推奨) `` この操作は非推奨です。代わりに ​[​**Asynchronous Remote Function Call**](#asynchronousRemoteFunctionCall)​ 操作を使用してください。 この操作は、JCo 3.0.x でのみ機能します。 キューリモート関数コール (qRFC) を介して BAPIFunction を実行します。 qRFC はトランザクション RFC (tRFC) の拡張機能であり、個々のステップが順番に処理されることを保証します。これにより、複数の作業論理単位 (LUW) トランザクションがアプリケーションで指定された順序で処理されます。 インバウンドキューとアウトバウンドキューを使用して tRFC をシリアル化できるため、キュー RFC という名前になっています。 キュー (qRFC) は tRFC の拡張機能として、処理順序を定義するのに最適です。qRFC を使用して、複数のトランザクションを定義済みの順序で処理することを保証します。
名前 型 説明 デフォルト値 必須

Configuration (設定)

String (文字列)

使用する設定の名前。

x

Function Name (関数名)

String (文字列)

実行する関数の名前。

x

Content (コンテンツ)

Binary (バイナリ)

実行する BAPIFunction。

#[payload]

Transaction Id (トランザクション ID)

String (文字列)

RFC が 1 回のみ実行されるように RFC を識別する ID。

x

Queue Name (キュー名)

String (文字列)

RFC が実行されるキューの名前。処理される各 tRFC コールにはアプリケーションによりキュー名が与えられるため、これは qRFC に適用されます。qRFC トランザクションごとにキュー名とバージョンが必要です。

Encoding (エンコード)

String (文字列)

エンコードの正規名。 Oracle のサポートされるエンコード​を参照してください。

Transactional Action (トランザクションアクション)

Enumeration (列挙)。次のいずれかになります。

  • ALWAYS_JOIN​

  • JOIN_IF_POSSIBLE​

  • NOT_SUPPORTED

トランザクションに関して操作で実行する結合アクションの種別。

JOIN_IF_POSSIBLE

Reconnection Strategy (再接続戦略)

接続エラーが発生した場合の再試行戦略。

#### [](#関連する設定-3)関連する設定 - [設定](#sap) #### [](#スロー)スロー - SAP:CONNECTIVITY - SAP:INVALID\_CACHE - SAP:INVALID\_INPUT - SAP:METADATA\_UNAVAILABLE - SAP:NOT\_FOUND - SAP:NOT\_SUPPORTED - SAP:PARSING - SAP:RETRY\_EXHAUSTED - SAP:SYSTEM\_BUSY - SAP:TIMEOUT ### [](#asynchronousRemoteFunctionCall)Asynchronous Remote Function Call `` この操作は、JCo 3.0.x でのみ機能し、応答に有効な XML コンテンツが含まれていることを想定します。 キューリモート関数コール (qRFC) を介して BAPIFunction を実行し、JCo ライブラリチェックで指定のペイロードが無効な場合に ​`SAP:INVALID_INPUT`​ をスローします。 qRFC はトランザクション RFC (tRFC) の拡張機能であり、個々のステップが順番に処理されることを保証します。これにより、複数の作業論理単位 (LUW) トランザクションがアプリケーションで指定された順序で処理されます。 インバウンドキューとアウトバウンドキューを使用して tRFC をシリアル化できるため、キュー RFC という名前になっています。 キュー (qRFC) は tRFC の拡張機能として、処理順序を定義するのに最適です。qRFC を使用して、複数のトランザクションを定義済みの順序で処理することを保証します。
名前 型 説明 デフォルト値 必須

Configuration (設定)

String (文字列)

使用する設定の名前。

x

Function Name (関数名)

String (文字列)

実行する関数の名前。

x

Content (コンテンツ)

Binary (バイナリ)

実行する BAPIFunction。

#[payload]

Transaction Id (トランザクション ID)

String (文字列)

RFC が 1 回のみ実行されるように RFC を識別する ID。

x

Queue Name (キュー名)

String (文字列)

RFC が実行されるキューの名前。処理される各 tRFC コールにはアプリケーションによりキュー名が与えられるため、これは qRFC に適用されます。qRFC トランザクションごとにキュー名とバージョンが必要です。

Encoding (エンコード)

String (文字列)

エンコードの正規名。 Oracle のサポートされるエンコード​を参照してください。

Transactional Action (トランザクションアクション)

Enumeration (列挙)。次のいずれかになります。

  • ALWAYS_JOIN​

  • JOIN_IF_POSSIBLE​

  • NOT_SUPPORTED

トランザクションに関して操作で実行する結合アクションの種別。

JOIN_IF_POSSIBLE

Reconnection Strategy (再接続戦略)

接続エラーが発生した場合の再試行戦略。

#### [](#関連する設定-4)関連する設定 - [設定](#sap) #### [](#スロー-2)スロー - SAP:CONNECTIVITY - SAP:INVALID\_CACHE - SAP:INVALID\_INPUT - SAP:METADATA\_UNAVAILABLE - SAP:NOT\_FOUND - SAP:NOT\_SUPPORTED - SAP:PARSING - SAP:RETRY\_EXHAUSTED - SAP:SYSTEM\_BUSY - SAP:TIMEOUT ### [](#confirmTransactionId)Confirm Transaction `` サーバーに対してトランザクションが成功したことを確認します。
名前 型 説明 デフォルト値 必須

Configuration (設定)

String (文字列)

使用する設定の名前。

x

Transaction ID (TID) (トランザクション ID (TID))

String (文字列)

確認するトランザクションの ID。

x

Transactional Action (トランザクションアクション)

Enumeration (列挙)。次のいずれかになります。

  • ALWAYS_JOIN​

  • JOIN_IF_POSSIBLE​

  • NOT_SUPPORTED

トランザクションに関して操作で実行する結合アクションの種別。

JOIN_IF_POSSIBLE

Reconnection Strategy (再接続戦略)

接続エラーが発生した場合の再試行戦略。

#### [](#関連する設定-5)関連する設定 - [設定](#sap) #### [](#スロー-3)スロー - SAP:CONNECTIVITY - SAP:RETRY\_EXHAUSTED ### [](#getFunction)Get Function `` 名前に基づいて BAPIFunction を取得します。
名前 型 説明 デフォルト値 必須

Configuration (設定)

String (文字列)

使用する設定の名前。

x

Function Name (関数名)

String (文字列)

取得する関数の名前。

x

Encoding (エンコード)

String (文字列)

エンコードの正規名。 Oracle のサポートされるエンコード​を参照してください。

Transactional Action (トランザクションアクション)

Enumeration (列挙)。次のいずれかになります。

  • ALWAYS_JOIN​

  • JOIN_IF_POSSIBLE​

  • NOT_SUPPORTED

トランザクションに関して操作で実行する結合アクションの種別。

JOIN_IF_POSSIBLE

Streaming Strategy (ストリーミング戦略)

Mule によるストリームの処理方法を設定します。反復可能ストリームは、デフォルトの動作です。

Target Variable (対象変数)

String (文字列)

操作の出力を保存する変数の名前。

Target Value (対象値)

String (文字列)

操作の出力を評価する式。式の結果は ​[Target Variable (対象変数)]​ 項目に保存されます。

#[payload]

Reconnection Strategy (再接続戦略)

接続エラーが発生した場合の再試行戦略。

#### [](#出力-3)出力

型

Binary (バイナリ)

#### [](#関連する設定-6)関連する設定 - [設定](#sap) #### [](#スロー-4)スロー - SAP:CONNECTIVITY - SAP:INVALID\_CACHE - SAP:INVALID\_INPUT - SAP:METADATA\_UNAVAILABLE - SAP:NOT\_FOUND - SAP:NOT\_SUPPORTED - SAP:PARSING - SAP:RETRY\_EXHAUSTED - SAP:SYSTEM\_BUSY - SAP:TIMEOUT ### [](#retrieveIdoc)Retrieve IDoc `` キーに基づいて IDoc 構造を取得します。
名前 型 説明 デフォルト値 必須

Configuration (設定)

String (文字列)

使用する設定の名前。

x

IDoc Name (IDoc 名)

String (文字列)

IDoc を取得するために必要な情報が含まれるキー。

x

Encoding (エンコード)

String (文字列)

エンコードの正規名。 Oracle のサポートされるエンコード​を参照してください。

Transactional Action (トランザクションアクション)

Enumeration (列挙)。次のいずれかになります。

  • ALWAYS_JOIN​

  • JOIN_IF_POSSIBLE​

  • NOT_SUPPORTED

トランザクションに関して操作で実行する結合アクションの種別。

JOIN_IF_POSSIBLE

Streaming Strategy (ストリーミング戦略)

Mule によるストリームの処理方法を設定します。反復可能ストリームは、デフォルトの動作です。

Target Variable (対象変数)

String (文字列)

操作の出力を保存する変数の名前。

Target Value (対象値)

String (文字列)

操作の出力を評価する式。式の結果は ​[Target Variable (対象変数)]​ 項目に保存されます。

#[payload]

Reconnection Strategy (再接続戦略)

接続エラーが発生した場合の再試行戦略。

#### [](#出力-4)出力

型

Binary (バイナリ)

#### [](#関連する設定-7)関連する設定 - [設定](#sap) #### [](#スロー-5)スロー - SAP:CONNECTIVITY - SAP:INVALID\_CACHE - SAP:INVALID\_INPUT - SAP:METADATA\_UNAVAILABLE - SAP:NOT\_FOUND - SAP:NOT\_SUPPORTED - SAP:PARSING - SAP:RETRY\_EXHAUSTED - SAP:SYSTEM\_BUSY - SAP:TIMEOUT ### [](#send)Send IDoc `` RFC を介して IDoc を SAP に送信します。RFC は、IDoc の 2 つの種別のいずれかになります。 - トランザクション (tRFC) 非同期リモート関数コール (aRFC) の特殊な形式。 tRFC は、元々独立して処理されていた処理ステップをトランザクションのように処理します。 tRFC は、ネットワークの問題でデータが複数回送信されても、コールされた関数モジュールを RFC サーバーで 1 回のみ実行する非同期通信方法です。RFC クライアントプログラムが tRFC を実行しているときにリモートシステムが使用できる状態になっている必要はありません。tRFC コンポーネントは、コールされる RFC 関数および対応するデータを一意のトランザクション ID (TID) で SAP データベースに保存します。 tRFC は、対象システムで待機しないという点で aRFC に似ています (書留郵便に似ている)。システムが使用できる状態でない場合、スケジューラー RSARFCSE によって選択され、60 秒ごとに実行されるトランザクション ID (SM58) でデータが aRFC テーブルに書き込まれます。 tRFC は、非同期 RFC の拡張機能として、システム間の通信を保護するのに最適です。 - キュー (qRFC) tRFC の拡張機能。 qRFC では、個々のステップが順番に処理されることも保証されます。複数の LUW (作業論理単位トランザクション) がアプリケーションで指定された順序で処理されることを保証するには、qRFC を使用します。 インバウンドキューとアウトバウンドキューを使用して tRFC をシリアル化できるため、キュー RFC (qRFC) という名前になっています。 キュー (qRFC) は tRFC の拡張機能として、処理順序を定義するのに最適です。複数のトランザクションを定義済みの順序で処理する場合、qRFC を実装します。 tRFC と qRFC の両方に TID ハンドラーがあります。
名前 型 説明 デフォルト値 必須

Configuration (設定)

String (文字列)

使用する設定の名前。

x

IDoc Name (IDoc 名)

String (文字列)

実行する IDoc の名前。

x

Content (コンテンツ)

Binary (バイナリ)

実行する IDoc。

#[payload]

バージョン

String (文字列)

IDoc のバージョン。

Transaction Id (トランザクション ID)

String (文字列)

RFC が 1 回のみ実行されるように RFC を識別する ID。

Queue Name (キュー名)

String (文字列)

RFC が実行されるキューの名前。処理される各 tRFC コールにはアプリケーションによりキュー名が与えられるため、これは qRFC に適用されます。qRFC トランザクションごとにキュー名とバージョンが必要です。

IDoc Parsing Options (IDoc 解析オプション)

IDoc 解析オプション。

Encoding (エンコード)

String (文字列)

エンコードの正規名。 Oracle のサポートされるエンコード​を参照してください。

Transactional Action (トランザクションアクション)

Enumeration (列挙)。次のいずれかになります。

  • ALWAYS_JOIN​

  • JOIN_IF_POSSIBLE​

  • NOT_SUPPORTED

トランザクションに関して操作で実行する結合アクションの種別。

JOIN_IF_POSSIBLE

Reconnection Strategy (再接続戦略)

接続エラーが発生した場合の再試行戦略。

#### [](#関連する設定-8)関連する設定 - [設定](#sap) #### [](#スロー-6)スロー - SAP:CONNECTIVITY - SAP:INVALID\_CACHE - SAP:INVALID\_INPUT - SAP:METADATA\_UNAVAILABLE - SAP:NOT\_FOUND - SAP:NOT\_SUPPORTED - SAP:PARSING - SAP:RETRY\_EXHAUSTED - SAP:SYSTEM\_BUSY - SAP:TIMEOUT ### [](#startsaptransaction)Start SAP Transaction `` future コールの一部として使用するトランザクション ID を作成します。
名前 型 説明 デフォルト値 必須

Configuration (設定)

String (文字列)

使用する設定の名前。

x

Transactional Action (トランザクションアクション)

Enumeration (列挙)。次のいずれかになります。

  • ALWAYS_JOIN​

  • JOIN_IF_POSSIBLE​

  • NOT_SUPPORTED

トランザクションに関して操作で実行する結合アクションの種別。

JOIN_IF_POSSIBLE

Target Variable (対象変数)

String (文字列)

操作の出力を保存する変数の名前。

Target Value (対象値)

String (文字列)

操作の出力を評価する式。式の結果は ​[Target Variable (対象変数)]​ 項目に保存されます。

#[payload]

Reconnection Strategy (再接続戦略)

接続エラーが発生した場合の再試行戦略。

#### [](#出力-5)出力

型

String (文字列)

#### [](#関連する設定-9)関連する設定 - [設定](#sap) #### [](#スロー-7)スロー - SAP:CONNECTIVITY - SAP:INVALID\_CACHE - SAP:INVALID\_INPUT - SAP:METADATA\_UNAVAILABLE - SAP:NOT\_FOUND - SAP:NOT\_SUPPORTED - SAP:PARSING - SAP:RETRY\_EXHAUSTED - SAP:SYSTEM\_BUSY - SAP:TIMEOUT ### [](#syncRfc)Synchronous Remote Function Call (非推奨) `` この操作は非推奨です。代わりに ​[​**Synchronous Remote Function Call**](#synchronousRemoteFunctionCall)​ 操作を使用してください。 この操作は、JCo 3.0.x でのみ機能します。 同期リモート関数コール (sRFC) を介して BAPIFunction を実行します。 sRFC では、通信またはデータ転送時に両方のシステム (クライアントとサーバー) が使用できる状態になっていることが必要です。 sRFC は、最も一般的な種別で、sRFC の実行直後に結果が求められる場合に使用されます。 sRFC は、肯定応答が必要なシステム間の通信手段です。 ソースシステムのリソースは、対象システムで待機して、ACKD でメッセージ/データが配信されることを確認します。通信データの整合性と信頼性は確保されます。対象システムが使用できる状態になっていない場合、ソースシステムのリソースは対象システムが使用できる状態になるまで待機します。これにより、ソースシステムのプロセスが対象システムでスリープ/RFC/CPIC モードになり、これらのリソースがブロックされる可能性があります。sRFC は、システム間の通信や、SAP Web アプリケーションサーバーと SAP GUI 間の通信で使用します。
名前 型 説明 デフォルト値 必須

Configuration (設定)

String (文字列)

使用する設定の名前。

x

Function Name (関数名)

String (文字列)

実行する関数の名前。

x

Content (コンテンツ)

Binary (バイナリ)

実行する BAPIFunction。

#[payload]

Encoding (エンコード)

String (文字列)

エンコードの正規名。 Oracle のサポートされるエンコード​を参照してください。

Transactional Action (トランザクションアクション)

Enumeration (列挙)。次のいずれかになります。

  • ALWAYS_JOIN​

  • JOIN_IF_POSSIBLE​

  • NOT_SUPPORTED

トランザクションに関して操作で実行する結合アクションの種別。

JOIN_IF_POSSIBLE

Streaming Strategy (ストリーミング戦略)

Mule によるストリームの処理方法を設定します。反復可能ストリームは、デフォルトの動作です。

Target Variable (対象変数)

String (文字列)

操作の出力を保存する変数の名前。

Target Value (対象値)

String (文字列)

操作の出力を評価する式。式の結果は ​[Target Variable (対象変数)]​ 項目に保存されます。

#[payload]

Reconnection Strategy (再接続戦略)

接続エラーが発生した場合の再試行戦略。

#### [](#出力-6)出力

型

Binary (バイナリ)

#### [](#関連する設定-10)関連する設定 - [設定](#sap) #### [](#スロー-8)スロー - SAP:CONNECTIVITY - SAP:INVALID\_CACHE - SAP:INVALID\_INPUT - SAP:METADATA\_UNAVAILABLE - SAP:NOT\_FOUND - SAP:NOT\_SUPPORTED - SAP:PARSING - SAP:RETRY\_EXHAUSTED - SAP:SYSTEM\_BUSY - SAP:TIMEOUT ### [](#synchronousRemoteFunctionCall)Synchronous Remote Function Call `` この操作は、JCo 3.0.x でのみ機能し、応答に有効な XML コンテンツが含まれていることを想定します。 コールしている関数で SAP の変更に影響を与える必要がある場合は、開かれているトランザクションが必要であるため、​`try`​ ブロックを追加する必要があります。 同期リモート関数コール (sRFC) を介して BAPIFunction を実行し、JCo ライブラリチェックで指定のペイロードが無効な場合に ​`SAP:INVALID_INPUT`​ をスローします。 sRFC では、通信またはデータ転送時に両方のシステム (クライアントとサーバー) が使用できる状態になっていることが必要です。 sRFC は、最も一般的な種別で、sRFC の実行直後に結果が求められる場合に使用されます。 sRFC は、肯定応答が必要なシステム間の通信手段です。 ソースシステムのリソースは、対象システムで待機して、ACKD でメッセージ/データが配信されることを確認します。通信データの整合性と信頼性は確保されます。対象システムが使用できる状態になっていない場合、ソースシステムのリソースは対象システムが使用できる状態になるまで待機します。これにより、ソースシステムのプロセスが対象システムでスリープ/RFC/CPIC モードになり、これらのリソースがブロックされる可能性があります。sRFC は、システム間の通信や、SAP Web アプリケーションサーバーと SAP GUI 間の通信で使用します。
名前 型 説明 デフォルト値 必須

Configuration (設定)

String (文字列)

使用する設定の名前。

x

Function Name (関数名)

String (文字列)

実行する関数の名前。

x

Content (コンテンツ)

Binary (バイナリ)

実行する BAPIFunction。

#[payload]

Encoding (エンコード)

String (文字列)

エンコードの正規名。 Oracle のサポートされるエンコード​を参照してください。

Transactional Action (トランザクションアクション)

Enumeration (列挙)。次のいずれかになります。

  • ALWAYS_JOIN​

  • JOIN_IF_POSSIBLE​

  • NOT_SUPPORTED

トランザクションに関して操作で実行する結合アクションの種別。

JOIN_IF_POSSIBLE

Streaming Strategy (ストリーミング戦略)

Mule によるストリームの処理方法を設定します。反復可能ストリームは、デフォルトの動作です。

Target Variable (対象変数)

String (文字列)

操作の出力を保存する変数の名前。

Target Value (対象値)

String (文字列)

操作の出力を評価する式。式の結果は ​[Target Variable (対象変数)]​ 項目に保存されます。

#[payload]

Reconnection Strategy (再接続戦略)

接続エラーが発生した場合の再試行戦略。

#### [](#出力-7)出力

型

Binary (バイナリ)

#### [](#関連する設定-11)関連する設定 - [設定](#sap) #### [](#スロー-9)スロー - SAP:CONNECTIVITY - SAP:INVALID\_CACHE - SAP:INVALID\_INPUT - SAP:METADATA\_UNAVAILABLE - SAP:NOT\_FOUND - SAP:NOT\_SUPPORTED - SAP:PARSING - SAP:RETRY\_EXHAUSTED - SAP:SYSTEM\_BUSY - SAP:TIMEOUT ## [](#object-types-オブジェクト種別)Object Types (オブジェクト種別) - [Expiration Policy (有効期限ポリシー)](#ExpirationPolicy) - [IDoc 解析パラメーターグループ](#IDocParseParameterGroup) - [IDoc 表示パラメーターグループ](#IDocRenderParameterGroup) - [Message Server (メッセージサーバー)](#MessageServer) - [Reconnect (再接続)](#reconnect) - [\[reconnect-forever\]](#reconnect-forever) - [Reconnection (再接続)](#Reconnection) - [Redelivery Policy (再配信ポリシー)](#RedeliveryPolicy) - [Repeatable File Store Stream (反復可能なファイルストアストリーム)](#repeatable-file-store-stream) - [Repeatable In Memory Stream (反復可能なメモリ内ストリーム)](#repeatable-in-memory-stream) - [SAP Attributes (SAP 属性)](#SapAttributes) ### [](#ExpirationPolicy)Expiration Policy (有効期限ポリシー) 有効期限ポリシー戦略を設定します。
項目 型 説明 デフォルト値 必須

Max Idle Time (最大アイドル時間)

Number (数値)

動的設定インスタンスがアイドル状態を続けられる最大時間を設定します。この時間が経過すると、Mule Runtime で期限切れに相当するとみなされます。

Time Unit (時間単位)

Enumeration (列挙)。次のいずれかになります。

  • NANOSECONDS (ナノ秒)

  • MICROSECONDS (マイクロ秒)

  • MILLISECONDS (ミリ秒)

  • SECONDS (秒)

  • MINUTES (分)

  • HOURS (時間)

  • DAYS (日)

[Max Idle Time (最大アイドル時間)]​ 項目の時間単位。

### [](#IDocParseParameterGroup)IDoc 解析パラメーターグループ IDoc 解析オプション。
項目 型 説明 デフォルト値 必須

Parse With Field Value Checking (解析 - 項目値チェックあり)

Boolean (ブール)

解析時に各 IDoc 項目メタデータに応じた項目値チェックメカニズムを有効にするかどうかを示します。

false

Parse Ignore Unknown Fields (解析 - 不明な項目を無視)

Boolean (ブール)

古い IDoc メタデータを使用して解析している場合など、解析時に不明な項目を無視するかどうかを示します。

false

Parse Ignore Invalid Char Errors (解析 - 無効文字エラーを無視)

Boolean (ブール)

解析時に、宣言されている XML 仕様バージョンに応じた文字範囲チェックのエラーを無視するかどうかを示します。 このオプションを使用すると、項目値内の無効な文字は受け入れられますが、解析する XML ドキュメントに、有効な文字範囲外の文字が含まれる可能性があります。

false

Parse Without Field Data Type Checking (解析 - 項目データ型チェックなし)

Boolean (ブール)

解析時に各 IDoc 項目メタデータに応じた項目データ型チェックメカニズムを無効にするかどうかを示します。

このオプションは慎重に使用してください。

項目の定義済みのデータ型に違反する不正な項目コンテンツが含まれる IDoc を送信すると、AS ABAP での処理時に ABAP システムダンプが発生し、認識されない部分的なデータの損失が発生する可能性があります。

false

Parse Refuse Unknown XML Version (解析 - 不明な XML バージョンを拒否)

Boolean (ブール)

考えられる将来の XML 仕様バージョン 1.2 または 2.0 など、不明な XML 仕様バージョンを宣言している XML ドキュメントを拒否するかどうかを示します。

false

Parse Refuse XML Version10 (解析 - XML バージョン 10 を拒否)

Boolean (ブール)

XML 仕様バージョン 1.0 を使用しないまたは XML 宣言ヘッダーを含まない XML ドキュメントを拒否するかどうかを示します。

false

Parse Refuse XML Version11 (解析 - XML バージョン 11 を拒否)

Boolean (ブール)

XML 仕様バージョン 1.1 を使用する XML ドキュメントを拒否するかどうかを示します。

false

Parse Accept Only Xml Version10 (解析 - XML バージョン 10 のみを受け入れ)

Boolean (ブール)

XML 仕様バージョン 1.0 を使用するまたは XML 宣言ヘッダーを含まない XML ドキュメントのみを受け入れるかどうかを示します。

false

Parse Accept Only Xml Version11 (解析 - XML バージョン 11 のみを受け入れ)

Boolean (ブール)

XML 仕様バージョン 1.1 を使用するまたは XML 宣言ヘッダーを含まない XML ドキュメントのみを受け入れるかどうかを示します。

false

Parse Accept Only Xml Version10 To11 (解析 - XML バージョン 10 ~ 11 のみを受け入れ)

Boolean (ブール)

XML 仕様バージョン 1.0 または 1.1 を使用するまたは XML 宣言ヘッダーを含まない XML ドキュメントのみを受け入れるかどうかを示します。

false

### [](#IDocRenderParameterGroup)IDoc 表示パラメーターグループ IDoc 表示オプション。
項目 型 説明 デフォルト値 必須

Render IDoc Empty Tags (IDoc 表示 - 空のタグ)

Boolean (ブール)

結果の XML ドキュメントに空のタグをすべて含めるかどうかを示します。

false

Render IDoc Ignore Invalid Char Errors (IDoc 表示 - 無効文字エラーを無視)

Boolean (ブール)

使用されている XML 仕様バージョンに応じた文字範囲チェックのエラーを無視するかどうかを示します。

false

Render IDoc Ignore Tag Escape Errors (IDoc 表示 - タグエスケープエラーを無視)

Boolean (ブール)

使用されている IDocXML 形式に応じた XML タグ内のエスケープ文字のエラーを無視するかどうかを示します。

false

Render IDoc Omit Xml Declaration (IDoc 表示 - XML 宣言を除外)

Boolean (ブール)

結果の XML ドキュメントで XML 宣言セクションを除外するかどうかを示します。

false

Render IDoc Optional Encoding Decl (IDoc 表示 - 省略可能なエンコード宣言)

Boolean (ブール)

結果の XML ドキュメントに省略可能な XML エンコード宣言属性を書き込むかどうかを示します。

false

Render IDoc Substitute Invalid Chars (IDoc 表示 - 無効な文字を置き換え)

Boolean (ブール)

IDoc 項目値内の無効な文字を番号記号 ​#​ (​U+0023​) に置き換えるかどうかを示します。

false

Render IDoc With CR (IDoc 表示 - CR を含む)

Boolean (ブール)

結果の XML ドキュメントに ​CR​ (キャリッジリターン) 文字を挿入するかどうかを示します。

false

Render IDoc With CRLF (IDoc 表示 - CRLF を含む)

Boolean (ブール)

結果の XML ドキュメントに ​CR+LF​ (キャリッジリターンとラインフィード) 文字を挿入するかどうかを示します。

false

Render IDoc With LF (IDoc 表示 - LF を含む)

Boolean (ブール)

結果の XML ドキュメントに ​LF​ (ラインフィード) 文字を挿入するかどうかを示します。

false

Render IDoc With Tabs And CR (IDoc 表示 - タブおよび CR を含む)

Boolean (ブール)

結果の XML ドキュメントに ​TAB​ および ​CR​ (タブおよびキャリッジリターン) 文字を挿入するかどうかを示します。

false

Render IDoc With Tabs And CRLF (IDoc 表示 - タブおよび CRLF を含む)

Boolean (ブール)

結果の XML ドキュメントに ​TAB​ および ​CR+LF​ (タブおよびキャリッジリターンとラインフィード) 文字を挿入するかどうかを示します。

false

Render IDoc With Tabs And LF (IDoc 表示 - タブおよび LF を含む)

Boolean (ブール)

結果の XML ドキュメントに ​TAB​ および ​LF​ (タブおよびラインフィード) 文字を挿入するかどうかを示します。

false

Render IDoc Xml10 (IDoc 表示 - Xml10)

Boolean (ブール)

XML 仕様バージョン 1.0 に準拠する XML ドキュメントを作成するかどうかを示します。

false

Render IDoc Xml11 (IDoc 表示 - Xml11)

Boolean (ブール)

XML 仕様バージョン 1.1 に準拠する XML ドキュメントを作成するかどうかを示します。

false

### [](#MessageServer)Message Server (メッセージサーバー) 複数のゲートウェイを使用してメッセージサーバーを設定でき、​**Document Listener**​ ソースに渡すことができるため、負荷分散やパフォーマンスの向上を実現できます。詳細は、​[「複数のゲートウェイの設定」](https://docs.mulesoft.com/jp/sap-connector/latest/sap-connector-examples#configure-multiple-gateways)​を参照してください。
項目 型 説明 デフォルト値 必須

Host (ホスト)

String (文字列)

メッセージサーバーのホスト。

x

System Id (システム ID)

String (文字列)

SAP システムのシステム ID。

x

Port (ポート)

Number (数値)

コネクタがメッセージサーバーにログインするために使用するポート。

Group (グループ)

String (文字列)

SAP アプリケーションサーバーのグループ。

Router (ルーター)

String (文字列)

ファイアウォールによって保護されるシステムに使用する SAP ルーター文字列。

### [](#reconnect)Reconnect (再接続) 標準再接続戦略を設定し、再接続の頻度と、コネクタソースまたは操作で実行できる再接続の試行回数を指定します。
項目 型 説明 デフォルト値 必須

Frequency (頻度)

Number (数値)

再接続を試行する頻度 (ミリ秒)。

Count (数)

Number (数値)

Mule アプリケーションで実行できる再接続の試行回数。

### [](#reconnect-forever-繰り返し再接続)Reconnect Forever (繰り返し再接続) Mule アプリケーションが実行されている間はコネクタソースや操作によって指定された頻度で再接続が試行される Forever 再接続戦略を設定します。
項目 型 説明 デフォルト値 必須

Frequency (頻度)

Number (数値)

再接続を試行する頻度 (ミリ秒)。

### [](#Reconnection)Reconnection (再接続) 操作の再接続戦略を設定します。
項目 型 説明 デフォルト値 必須

Fails Deployment (デプロイメントに失敗)

Boolean (ブール)

アプリケーションのデプロイ時に、関連する再接続戦略をすべて実行した後、接続テストに合格しない場合の処理:

  • true​

    デプロイメントの失敗を許可します。

  • false​

    接続テストの結果を無視します。

Reconnection Strategy (再接続戦略)

使用する再接続戦略。

### [](#RedeliveryPolicy)Redelivery Policy (再配信ポリシー) エラーを生成する要求を実行するための再配信ポリシーを設定します。再配信ポリシーは、フロー内のあらゆる提供元に追加できます。
項目 型 説明 デフォルト値 必須

Max Redelivery Count (最大再配信数)

Number (数値)

REDELIVERY_EXHAUSTED​ エラーが返されるまでに、再配信された要求が処理に失敗できる最大回数。

Use Secure Hash (セキュアハッシュを使用)

Boolean (ブール)

再配信されたメッセージの識別にセキュアハッシュアルゴリズムを使用するかどうか。

Message Digest Algorithm (メッセージダイジェストアルゴリズム)

String (文字列)

[Use Secure Hash (セキュアハッシュを使用)]​ 項目が ​true​ の場合に使用するセキュアハッシュアルゴリズム。メッセージのペイロードが Java オブジェクトの場合、Mule ではこの値が無視され、ペイロードの ​hashCode()​ が返した値が返されます。

Id Expression (ID 式)

String (文字列)

メッセージがいつ再配信されたのかを判断する 1 つ以上の式。このプロパティは、​[Use Secure Hash (セキュアハッシュを使用)]​ 項目が ​false​ の場合にのみ設定できます。

Object Store (オブジェクトストア)

Object Store (オブジェクトストア)

各メッセージの再配信カウンターが保存されるオブジェクトストアを設定します。

### [](#repeatable-file-store-stream)Repeatable File Store Stream (反復可能なファイルストアストリーム) 反復可能なファイルストアストリーミング戦略を設定します。この戦略では、ストリームコンテンツの一部がメモリ内に格納されます。ストリームのコンテンツが、設定されたバッファサイズよりも大きい場合、Mule はバッファのコンテンツをディスクにバックアップしてからメモリをクリアします。
項目 型 説明 デフォルト値 必須

In Memory Size (メモリ内サイズ)

Number (数値)

ストリームのデータで使用できるメモリの最大量。メモリ量がこの値を超えると、コンテンツはディスクにバッファされます。パフォーマンスを最適化する方法は、次のとおりです。

  • バッファサイズを大きくすると、Mule がバッファをディスクに書き込む回数を減らせます。これによってパフォーマンスが高まりますが、より多くのメモリが必要になるため、アプリケーションが処理できる同時要求数が制限されます。

  • バッファサイズを小さくすると、メモリの負荷は低減しますが、応答時間が長くなります。

Buffer Unit (バッファ単位)

Enumeration (列挙)。次のいずれかになります。

  • BYTE (バイト)

  • KB

  • MB

  • GB

[In Memory Size (メモリ内サイズ)]​ 項目の単位。

### [](#repeatable-in-memory-stream)Repeatable In Memory Stream (反復可能なメモリ内ストリーム) データが最大バッファサイズを超えた場合に要求が失敗するメモリ内ストリーミング戦略を設定します。ユースケースで最適なバッファサイズは、必ずパフォーマンステストを実施して決めてください。
項目 型 説明 デフォルト値 必須

Initial Buffer Size (初期バッファサイズ)

Number (数値)

データストリームに割り当てるメモリの初期容量。ストリーミングされたデータがこの値を超える場合は、​[Buffer Size Increment (バッファサイズ増分)]​ の単位で ​[Max In Memory Size (最大メモリ内サイズ)]​ 値を上限としてバッファが拡張されます。

Buffer Size Increment (バッファサイズ増分)

Number (数値)

バッファサイズが初期サイズを超えた場合に、拡張する量。値を ​0​ またはそれ以下に設定すると、バッファは拡張されません。

Max Buffer Size (最大バッファサイズ)

Number (数値)

使用するメモリの最大量。これを超えると、​STREAM_MAXIMUM_SIZE_EXCEEDED​ エラーが発生します。0 以下の値は無制限を意味します。

Buffer Unit (バッファ単位)

Enumeration (列挙)。次のいずれかになります。

  • BYTE (バイト)

  • KB

  • MB

  • GB

[Initial Buffer Size (初期バッファサイズ)]​ 項目、​[Buffer Size Increment (バッファサイズ増分)]​ 項目、​[Buffer Unit (バッファ単位)]​ 項目の単位。

### [](#SapAttributes)SAP Attributes (SAP 属性) SAP ペイロードの属性。
項目 型 説明 デフォルト値 必須

Transaction Id (トランザクション ID)

String (文字列)

トランザクション ID の値。

## [](#関連情報)関連情報 - [Anypoint Connector の概要](https://docs.mulesoft.com/connectors/introduction/introduction-to-anypoint-connectors) - [MuleSoft ヘルプセンター](https://help.mulesoft.com) # SAP Connector 5.x へのアップグレードおよび移行 SAP 用 Anypoint Connector バージョン 5.x には、機能強化と変更が含まれます。SAP Connector 5.x で導入された主な変更の一部を次に示します。 - `Create`​ 操作が ​`Retrieve IDoc`​ という名前に変更されました。 - Execute BAPI Function over qRFC、tRFC、sRFC の各操作が Synchronous Remote Function Call (sRFC) および Asynchronous Remote Function Call (aRFC) 操作にマージされました。 - `Disable function template cache`​ フラグが ​`Disable JCo internal cache`​ という名前に変更され、関数とソースの両方に適用されます。デフォルト値は ​`false`​ です。 - ソースの別名には ​`source`​ の代わりに ​`-listener`​ が含まれるようになりました。たとえば、XML は ​`sap:document-source`​ から ​`sap:document-listener`​ に変更されます。 - SAP 設定には次の変更があります。 - SAP インバウンド設定と SAP アウトバウンド設定が新しい SAP 設定にマージされました。 - **\[Message Server (メッセージサーバー)\]**​ 項目が ​**\[General (一般)\]**​ タブに含まれるようになりました。 この新しい設定により、コネクタで使用する設定をより直感的に理解できるようになります。 これらの新機能と機能強化によって、後方互換性の問題が生じる場合があります。 ## [](#アップグレード手順)アップグレード手順 以下の手順でアップグレードを実行します。 1. Anypoint Studio で、Mule プロジェクトを作成します。 2. **\[Mule Palette (Mule パレット)\]**​ ビューで、​**\[Search in Exchange (Exchange 内を検索)\]**​ をクリックします。 3. **\[Add Dependencies to Project (連動関係をプロジェクトに追加)\]**​ で、検索項目に「​`sap`​」と入力します。 4. **\[Available modules (使用可能なモジュール)\]**​ で ​**\[SAP Connector - Mule 4\]**​ をクリックし、​**\[Add (追加)\]**​ をクリックします。 5. **\[Finish (完了)\]**​ をクリックします。 6. Mule プロジェクトの ​`pom.xml`​ ファイルで SAP Connector の連動関係バージョンが 5.x.x であることを確認します。ここで ​`x.x`​ はマイナーリリースとパッチバージョン番号です。たとえば、v5.2 にアップグレードする場合、pom.xml ファイルの連動関係バージョンは 5.2.0 である必要があります。 Studio はコネクタを自動的にアップグレードします。 ### [](#アップグレードを確認する)アップグレードを確認する コネクタの最新バージョンをインストールしたら、次の手順に従ってアップグレードを確認します。 1. Studio の ​**\[Problems (問題)\]**​ または ​**\[Console (コンソール)\]**​ ビューでエラーがないことを確認します。 2. プロジェクトの ​`pom.xml`​ ファイルに問題がないことを確認します。 3. 接続をテストして、操作が機能することを確認します。 ### [](#アップグレードの復元)アップグレードの復元 以前のバージョンの SAP Connector に戻す必要がある場合、プロジェクトの ​`pom.xml`​ ファイルの ​`sap-connector`​ 連動関係バージョンを前のバージョンに変更します。 Anypoint Studio でプロジェクトの ​`pom.xml`​ ファイルを更新する必要があります。 ## [](#関連情報)関連情報 - [Anypoint Connector の概要](https://docs.mulesoft.com/connectors/introduction/introduction-to-anypoint-connectors) - [MuleSoft ヘルプセンター](https://help.mulesoft.com) # SAP Connector 5.x へのアップグレードおよび移行 SAP 用 Anypoint Connector バージョン 5.x には、機能強化と変更が含まれます。SAP Connector 5.x で導入された主な変更の一部を次に示します。 - `Create`​ 操作が ​`Retrieve IDoc`​ という名前に変更されました。 - Execute BAPI Function over qRFC、tRFC、sRFC の各操作が Synchronous Remote Function Call (sRFC) および Asynchronous Remote Function Call (aRFC) 操作にマージされました。 - `Disable function template cache`​ フラグが ​`Disable JCo internal cache`​ という名前に変更され、関数とソースの両方に適用されます。デフォルト値は ​`false`​ です。 - ソースの別名には ​`source`​ の代わりに ​`-listener`​ が含まれるようになりました。たとえば、XML は ​`sap:document-source`​ から ​`sap:document-listener`​ に変更されます。 - SAP 設定には次の変更があります。 - SAP インバウンド設定と SAP アウトバウンド設定が新しい SAP 設定にマージされました。 - **\[Message Server (メッセージサーバー)\]**​ 項目が ​**\[General (一般)\]**​ タブに含まれるようになりました。 この新しい設定により、コネクタで使用する設定をより直感的に理解できるようになります。 これらの新機能と機能強化によって、後方互換性の問題が生じる場合があります。 ## [](#アップグレード手順)アップグレード手順 以下の手順でアップグレードを実行します。 1. Anypoint Studio で、Mule プロジェクトを作成します。 2. **\[Mule Palette (Mule パレット)\]**​ ビューで、​**\[Search in Exchange (Exchange 内を検索)\]**​ をクリックします。 3. **\[Add Dependencies to Project (連動関係をプロジェクトに追加)\]**​ で、検索項目に「​`sap`​」と入力します。 4. **\[Available modules (使用可能なモジュール)\]**​ で ​**\[SAP Connector - Mule 4\]**​ をクリックし、​**\[Add (追加)\]**​ をクリックします。 5. **\[Finish (完了)\]**​ をクリックします。 6. Mule プロジェクトの ​`pom.xml`​ ファイルで SAP Connector の連動関係バージョンが 5.x.x であることを確認します。ここで ​`x.x`​ はマイナーリリースとパッチバージョン番号です。たとえば、v5.2 にアップグレードする場合、pom.xml ファイルの連動関係バージョンは 5.2.0 である必要があります。 Studio はコネクタを自動的にアップグレードします。 ### [](#アップグレードを確認する)アップグレードを確認する コネクタの最新バージョンをインストールしたら、次の手順に従ってアップグレードを確認します。 1. Studio の ​**\[Problems (問題)\]**​ または ​**\[Console (コンソール)\]**​ ビューでエラーがないことを確認します。 2. プロジェクトの ​`pom.xml`​ ファイルに問題がないことを確認します。 3. 接続をテストして、操作が機能することを確認します。 ### [](#アップグレードの復元)アップグレードの復元 以前のバージョンの SAP Connector に戻す必要がある場合、プロジェクトの ​`pom.xml`​ ファイルの ​`sap-connector`​ 連動関係バージョンを前のバージョンに変更します。 Anypoint Studio でプロジェクトの ​`pom.xml`​ ファイルを更新する必要があります。 ## [](#関連情報)関連情報 - [Anypoint Connector の概要](https://docs.mulesoft.com/connectors/introduction/introduction-to-anypoint-connectors) - [MuleSoft ヘルプセンター](https://help.mulesoft.com) # SAP Connector 5.x へのアップグレードおよび移行 SAP 用 Anypoint Connector バージョン 5.x には、機能強化と変更が含まれます。SAP Connector 5.x で導入された主な変更の一部を次に示します。 - `Create`​ 操作が ​`Retrieve IDoc`​ という名前に変更されました。 - Execute BAPI Function over qRFC、tRFC、sRFC の各操作が Synchronous Remote Function Call (sRFC) および Asynchronous Remote Function Call (aRFC) 操作にマージされました。 - `Disable function template cache`​ フラグが ​`Disable JCo internal cache`​ という名前に変更され、関数とソースの両方に適用されます。デフォルト値は ​`false`​ です。 - ソースの別名には ​`source`​ の代わりに ​`-listener`​ が含まれるようになりました。たとえば、XML は ​`sap:document-source`​ から ​`sap:document-listener`​ に変更されます。 - SAP 設定には次の変更があります。 - SAP インバウンド設定と SAP アウトバウンド設定が新しい SAP 設定にマージされました。 - **\[Message Server (メッセージサーバー)\]**​ 項目が ​**\[General (一般)\]**​ タブに含まれるようになりました。 この新しい設定により、コネクタで使用する設定をより直感的に理解できるようになります。 これらの新機能と機能強化によって、後方互換性の問題が生じる場合があります。 ## [](#アップグレード手順)アップグレード手順 以下の手順でアップグレードを実行します。 1. Anypoint Studio で、Mule プロジェクトを作成します。 2. **\[Mule Palette (Mule パレット)\]**​ ビューで、​**\[Search in Exchange (Exchange 内を検索)\]**​ をクリックします。 3. **\[Add Dependencies to Project (連動関係をプロジェクトに追加)\]**​ で、検索項目に「​`sap`​」と入力します。 4. **\[Available modules (使用可能なモジュール)\]**​ で ​**\[SAP Connector - Mule 4\]**​ をクリックし、​**\[Add (追加)\]**​ をクリックします。 5. **\[Finish (完了)\]**​ をクリックします。 6. Mule プロジェクトの ​`pom.xml`​ ファイルで SAP Connector の連動関係バージョンが 5.x.x であることを確認します。ここで ​`x.x`​ はマイナーリリースとパッチバージョン番号です。たとえば、v5.2 にアップグレードする場合、pom.xml ファイルの連動関係バージョンは 5.2.0 である必要があります。 Studio はコネクタを自動的にアップグレードします。 ### [](#アップグレードを確認する)アップグレードを確認する コネクタの最新バージョンをインストールしたら、次の手順に従ってアップグレードを確認します。 1. Studio の ​**\[Problems (問題)\]**​ または ​**\[Console (コンソール)\]**​ ビューでエラーがないことを確認します。 2. プロジェクトの ​`pom.xml`​ ファイルに問題がないことを確認します。 3. 接続をテストして、操作が機能することを確認します。 ### [](#アップグレードの復元)アップグレードの復元 以前のバージョンの SAP Connector に戻す必要がある場合、プロジェクトの ​`pom.xml`​ ファイルの ​`sap-connector`​ 連動関係バージョンを前のバージョンに変更します。 Anypoint Studio でプロジェクトの ​`pom.xml`​ ファイルを更新する必要があります。 ## [](#関連情報)関連情報 - [Anypoint Connector の概要](https://docs.mulesoft.com/connectors/introduction/introduction-to-anypoint-connectors) - [MuleSoft ヘルプセンター](https://help.mulesoft.com) # SAP Connector 5.x へのアップグレードおよび移行 SAP 用 Anypoint Connector バージョン 5.x には、機能強化と変更が含まれます。SAP Connector 5.x で導入された主な変更の一部を次に示します。 - `Create`​ 操作が ​`Retrieve IDoc`​ という名前に変更されました。 - Execute BAPI Function over qRFC、tRFC、sRFC の各操作が Synchronous Remote Function Call (sRFC) および Asynchronous Remote Function Call (aRFC) 操作にマージされました。 - `Disable function template cache`​ フラグが ​`Disable JCo internal cache`​ という名前に変更され、関数とソースの両方に適用されます。デフォルト値は ​`false`​ です。 - ソースの別名には ​`source`​ の代わりに ​`-listener`​ が含まれるようになりました。たとえば、XML は ​`sap:document-source`​ から ​`sap:document-listener`​ に変更されます。 - SAP 設定には次の変更があります。 - SAP インバウンド設定と SAP アウトバウンド設定が新しい SAP 設定にマージされました。 - **\[Message Server (メッセージサーバー)\]**​ 項目が ​**\[General (一般)\]**​ タブに含まれるようになりました。 この新しい設定により、コネクタで使用する設定をより直感的に理解できるようになります。 これらの新機能と機能強化によって、後方互換性の問題が生じる場合があります。 ## [](#アップグレード手順)アップグレード手順 以下の手順でアップグレードを実行します。 1. Anypoint Studio で、Mule プロジェクトを作成します。 2. **\[Mule Palette (Mule パレット)\]**​ ビューで、​**\[Search in Exchange (Exchange 内を検索)\]**​ をクリックします。 3. **\[Add Dependencies to Project (連動関係をプロジェクトに追加)\]**​ で、検索項目に「​`sap`​」と入力します。 4. **\[Available modules (使用可能なモジュール)\]**​ で ​**\[SAP Connector - Mule 4\]**​ を選択し、​**\[Add (追加)\]**​ をクリックします。 5. **\[Finish (完了)\]**​ をクリックします。 6. Mule プロジェクトの ​`pom.xml`​ ファイルで SAP Connector の連動関係バージョンが 5.x.x であることを確認します。ここで ​`x.x`​ はマイナーリリースとパッチバージョン番号です。たとえば、v5.2 にアップグレードする場合、pom.xml ファイルの連動関係バージョンは 5.2.0 である必要があります。 Studio はコネクタを自動的にアップグレードします。 ### [](#アップグレードを確認する)アップグレードを確認する コネクタの最新バージョンをインストールしたら、次の手順に従ってアップグレードを確認します。 1. Studio の ​**\[Problems (問題)\]**​ または ​**\[Console (コンソール)\]**​ ビューでエラーがないことを確認します。 2. プロジェクトの ​`pom.xml`​ ファイルに問題がないことを確認します。 3. 接続をテストして、操作が機能することを確認します。 ### [](#アップグレードの復元)アップグレードの復元 以前のバージョンの SAP Connector に戻す必要がある場合、プロジェクトの ​`pom.xml`​ ファイルの ​`sap-connector`​ 連動関係バージョンを前のバージョンに変更します。 Anypoint Studio でプロジェクトの ​`pom.xml`​ ファイルを更新する必要があります。 ## [](#関連情報)関連情報 - [Anypoint Connector の概要](https://docs.mulesoft.com/connectors/introduction/introduction-to-anypoint-connectors) - [MuleSoft ヘルプセンター](https://help.mulesoft.com) # SAP Connector 5.x へのアップグレードおよび移行 SAP 用 Anypoint Connector バージョン 5.x には、機能強化と変更が含まれます。SAP Connector 5.x で導入された主な変更の一部を次に示します。 - `Create`​ 操作が ​`Retrieve IDoc`​ という名前に変更されました。 - Execute BAPI Function over qRFC、tRFC、sRFC の各操作が Synchronous Remote Function Call (sRFC) および Asynchronous Remote Function Call (aRFC) 操作にマージされました。 - `Disable function template cache`​ フラグが ​`Disable JCo internal cache`​ という名前に変更され、関数とソースの両方に適用されます。デフォルト値は ​`false`​ です。 - ソースの別名には ​`source`​ の代わりに ​`-listener`​ が含まれるようになりました。たとえば、XML は ​`sap:document-source`​ から ​`sap:document-listener`​ に変更されます。 - SAP 設定には次の変更があります。 - SAP インバウンド設定と SAP アウトバウンド設定が新しい SAP 設定にマージされました。 - **\[Message Server (メッセージサーバー)\]**​ 項目が ​**\[General (一般)\]**​ タブに含まれるようになりました。 この新しい設定により、コネクタで使用する設定をより直感的に理解できるようになります。 これらの新機能と機能強化によって、後方互換性の問題が生じる場合があります。 ## [](#アップグレード手順)アップグレード手順 以下の手順でアップグレードを実行します。 1. Anypoint Studio で、Mule プロジェクトを作成します。 2. **\[Mule Palette (Mule パレット)\]**​ ビューで、​**\[Search in Exchange (Exchange 内を検索)\]**​ をクリックします。 3. **\[Add Dependencies to Project (連動関係をプロジェクトに追加)\]**​ で、検索項目に「​`sap`​」と入力します。 4. **\[Available modules (使用可能なモジュール)\]**​ で ​**\[SAP Connector - Mule 4\]**​ を選択し、​**\[Add (追加)\]**​ をクリックします。 5. **\[Finish (完了)\]**​ をクリックします。 6. Mule プロジェクトの ​`pom.xml`​ ファイルで SAP Connector の連動関係バージョンが 5.x.x であることを確認します。ここで ​`x.x`​ はマイナーリリースとパッチバージョン番号です。たとえば、v5.2 にアップグレードする場合、pom.xml ファイルの連動関係バージョンは 5.2.0 である必要があります。 Studio はコネクタを自動的にアップグレードします。 ### [](#アップグレードを確認する)アップグレードを確認する コネクタの最新バージョンをインストールしたら、次の手順に従ってアップグレードを確認します。 1. Studio の ​**\[Problems (問題)\]**​ または ​**\[Console (コンソール)\]**​ ビューでエラーがないことを確認します。 2. プロジェクトの ​`pom.xml`​ ファイルに問題がないことを確認します。 3. 接続をテストして、操作が機能することを確認します。 ### [](#アップグレードの復元)アップグレードの復元 以前のバージョンの SAP Connector に戻す必要がある場合、プロジェクトの ​`pom.xml`​ ファイルの ​`sap-connector`​ 連動関係バージョンを前のバージョンに変更します。 Anypoint Studio でプロジェクトの ​`pom.xml`​ ファイルを更新する必要があります。 ## [](#関連情報)関連情報 - [Anypoint Connector の概要](https://docs.mulesoft.com/connectors/introduction/introduction-to-anypoint-connectors) - [MuleSoft ヘルプセンター](https://help.mulesoft.com) # SAP Connector 5.x へのアップグレードおよび移行 SAP 用 Anypoint Connector バージョン 5.x には、機能強化と変更が含まれます。SAP Connector 5.x で導入された主な変更の一部を次に示します。 - `Create`​ 操作が ​`Retrieve IDoc`​ という名前に変更されました。 - Execute BAPI Function over qRFC、tRFC、sRFC の各操作が Synchronous Remote Function Call (sRFC) および Asynchronous Remote Function Call (aRFC) 操作にマージされました。 - `Disable function template cache`​ フラグが ​`Disable JCo internal cache`​ という名前に変更され、関数とソースの両方に適用されます。デフォルト値は ​`false`​ です。 - ソースの別名には ​`source`​ の代わりに ​`-listener`​ が含まれるようになりました。たとえば、XML は ​`sap:document-source`​ から ​`sap:document-listener`​ に変更されます。 - SAP 設定には次の変更があります。 - SAP インバウンド設定と SAP アウトバウンド設定が新しい SAP 設定にマージされました。 - **\[Message Server (メッセージサーバー)\]**​ 項目が ​**\[General (一般)\]**​ タブに含まれるようになりました。 この新しい設定により、コネクタで使用する設定をより直感的に理解できるようになります。 これらの新機能と機能強化によって、後方互換性の問題が生じる場合があります。 ## [](#アップグレード手順)アップグレード手順 以下の手順でアップグレードを実行します。 1. Anypoint Studio で、Mule プロジェクトを作成します。 2. **\[Mule Palette (Mule パレット)\]**​ ビューで、​**\[Search in Exchange (Exchange 内を検索)\]**​ をクリックします。 3. **\[Add Dependencies to Project (連動関係をプロジェクトに追加)\]**​ で、検索項目に「​`sap`​」と入力します。 4. **\[Available modules (使用可能なモジュール)\]**​ で ​**\[SAP Connector - Mule 4 (SAP Connector - Mule 4)\]**​ をクリックし、​**\[Add (追加)\]**​ をクリックします。 5. **\[Finish (完了)\]**​ をクリックします。 6. Mule プロジェクトの ​`pom.xml`​ ファイルで SAP Connector の連動関係バージョンが 5.x.x であることを確認します。ここで ​`x.x`​ はマイナーリリースとパッチバージョン番号です。たとえば、v5.2 にアップグレードする場合、pom.xml ファイルの連動関係バージョンは 5.2.0 である必要があります。 Studio はコネクタを自動的にアップグレードします。 ### [](#アップグレードを確認する)アップグレードを確認する コネクタの最新バージョンをインストールしたら、次の手順に従ってアップグレードを確認します。 1. Studio の ​**\[Problems (問題)\]**​ または ​**\[Console (コンソール)\]**​ ビューでエラーがないことを確認します。 2. プロジェクトの ​`pom.xml`​ ファイルに問題がないことを確認します。 3. 接続をテストして、操作が機能することを確認します。 ### [](#アップグレードの復元)アップグレードの復元 以前のバージョンの SAP Connector に戻す必要がある場合、プロジェクトの ​`pom.xml`​ ファイルの ​`sap-connector`​ 連動関係バージョンを前のバージョンに変更します。 Anypoint Studio でプロジェクトの ​`pom.xml`​ ファイルを更新する必要があります。 ## [](#関連情報)関連情報 - [Anypoint Connector の概要](https://docs.mulesoft.com/connectors/introduction/introduction-to-anypoint-connectors) - [MuleSoft ヘルプセンター](https://help.mulesoft.com) # SAP Connector の Studio 設定 - Mule 4 SAP Connector をインストールし、Anypoint Studio でコネクタを設定します。 まず、SAP から取得した SAP Java Connector (JCo) ライブラリをインストールします。これで、1 つ以上の SAP Connector 操作を含むアプリケーションを作成できます。Studio を使用すると、アプリケーションを作成して、そのアプリケーションにブラウザーからアクセスできます。 Anypoint Studio で SAP Connector を設定する手順は、次のとおりです。 1. コネクタを Mule プロジェクトに追加します。 2. SAP Connector を設定します。 3. コネクタの入力元を設定します。 ## [](#exchange-を使用して-sap-connector-をプロジェクトに追加する)Exchange を使用して SAP Connector をプロジェクトに追加する 1. Studio で Mule プロジェクトを作成します。 2. Studio タスクバーの左上にある \[Exchange\] アイコンをクリックします。 3. Exchange で、​**\[Login (ログイン)\]**​ をクリックし、Anypoint Platform のユーザー名とパスワードを指定します。 4. Exchange で「SAP」を検索します。 5. \[SAP Connector (SAP Connector)\] を選択して ​**\[Add to project (プロジェクトに追加)\]**​ をクリックします。 6. 画面の指示に従って SAP Connector をインストールします。 ## [](#studio-で-sap-connector-をプロジェクトに追加する)Studio で SAP Connector をプロジェクトに追加する 1. Studio で Mule プロジェクトを作成します。 2. **\[Mule Palette (Mule パレット)\]**​ で、​**\[Search in Exchange (Exchange 内を検索)\]**​ をクリックします。 3. **\[Add Modules to Project (モジュールをプロジェクトに追加)\]**​ で、検索項目に「SAP」と入力します。 4. **\[Available modules (使用可能なモジュール)\]**​ で、​**\[SAP Connector - Mule 4 (SAP Connector - Mule 4)\]**​ を選択します。 5. **\[Add (追加)\]**​ をクリックします。 6. **\[Finish (完了)\]**​ をクリックします。 ## [](#ソース操作を選択する)ソース操作を選択する 1. Anypoint Studio で ​**\[Mule Palette (Mule パレット)\]**​ をクリックして、「SAP」と入力します。 2. 操作を選択します。 SAP からオブジェクトが送信されたときにアプリケーションを開始する場合、次のいずれかの操作を選択し、操作を Studio キャンバスの ​**\[Source (ソース)\]**​ 領域にドラッグします。 - **Document source**​ は IDoc の変更をリスンします。IDoc が変更されると、アプリケーションが実行されます。 - **Function source**​ は SAP 関数モジュールの変更をリスンします。対象の関数モジュールが変更されると、アプリケーションが実行されます。 項目値については、​[「SAP Connector リファレンス」](https://docs.mulesoft.com/jp/sap-connector/5.1/sap-connector-reference)​を参照してください。 **Document source**​ 操作または ​**Function source**​ 操作を選択した場合は、次のセクションに進んで SAP ライブラリをインストールします。 3. 代わりに、​**HTTP リスナー**​や​**スケジューラー**​など、このコネクタの入力元を設定して、操作を Studio キャンバスにドラッグすることもできます。 HTTP リスナーを使用すると、ブラウザーからアプリケーションを開始できます。スケジューラーは特定の時間にアプリケーションを開始します。 4. SAP ライブラリをインストールします。 ## [](#sap-ライブラリをインストールする)SAP ライブラリをインストールする Mule プロジェクトで SAP ライブラリを使用するには、まずライブラリをコンピューターにダウンロードする必要があります。Anypoint Studio では 3 つのライブラリを変換せずに直接使用できます。ライブラリをダウンロードするには、SAP ID が必要です。 各ライブラリのファイル種別は、オペレーティングシステムによって異なります。
OS ファイル種別

Windows

  • sapidoc3.jar

  • sapjco3.jar

  • sapjco3.dll

Mac OS

  • sapidoc3.jar

  • sapjco3.jar

  • libsapjco3.jnilib

Linux

  • sapidoc3.jar

  • sapjco3.jar

  • libsapjco3.so

SAP Connector では、SAP JCo ライブラリバージョン 3.0.x および 3.1.x がサポートされています。
ライブラリをインストールしたら、グローバル要素プロパティをカスタマイズして、接続をテストできます。 ## [](#anypoint-studio-でライブラリを設定する)Anypoint Studio でライブラリを設定する SAP Connector を Studio にインストールして、コネクタを Mule プロジェクトに追加したら、ライブラリを設定します。 1. フローでコネクタをダブルクリックします。 2. **\[Connector Configuration (コネクタ設定)\]**​ 項目の右にあるプラス記号 (​**+**​) をクリックします。 次の画面が表示されます。 ![sap connector configuration 01](/mulesoft/current/ja-jp/sap-connector/5.1/_images/sap-connector-configuration-01.png) ### [](#idoc-ライブラリをインストールする)IDOC ライブラリをインストールする 1. **\[Add Dependency (連動関係を追加)\]**​ をクリックします。 2. **\[Install (インストール)\]**​ をクリックします。 ![sap connector configuration 02](/mulesoft/current/ja-jp/sap-connector/5.1/_images/sap-connector-configuration-02.png) 3. **\[Install (インストール)\]**​ メニューで、​**\[Browse (参照)\]**​ をクリックして、ライブラリファイルを見つけます。 4. 一意のグループ ID、アーティファクト ID、バージョンを指定します。 ![sap connector configuration 02 in](/mulesoft/current/ja-jp/sap-connector/5.1/_images/sap-connector-configuration-02-in.png) 5. **\[Finish (完了)\]**​ をクリックするか、キャンセルする場合は、​**\[Remove Dependency (連動関係を削除)\]**​ をクリックします。 ![sap connector configuration 02 finish](/mulesoft/current/ja-jp/sap-connector/5.1/_images/sap-connector-configuration-02-finish.png) ### [](#jco-ライブラリをインストールする)JCO ライブラリをインストールする 1. **\[Add Dependency (連動関係を追加)\]**​ をクリックします。 2. **\[Install (インストール)\]**​ をクリックします。 ![sap connector configuration 02](/mulesoft/current/ja-jp/sap-connector/5.1/_images/sap-connector-configuration-02.png) 3. **\[Install (インストール)\]**​ メニューで、​**\[Browse (参照)\]**​ をクリックして、ライブラリファイルを見つけます。 4. 一意のグループ ID、アーティファクト ID、バージョンを指定します。 ![sap connector configuration 03 in](/mulesoft/current/ja-jp/sap-connector/5.1/_images/sap-connector-configuration-03-in.png) 5. **\[Finish (完了)\]**​ をクリックするか、キャンセルする場合は、​**\[Remove Dependency (連動関係を削除)\]**​ をクリックします。 ![sap connector configuration 03 finish](/mulesoft/current/ja-jp/sap-connector/5.1/_images/sap-connector-configuration-03-finish.png) ### [](#jco-native-ライブラリをインストールする)JCO Native ライブラリをインストールする 1. **\[Add Dependency (連動関係を追加)\]**​ をクリックします。 2. **\[Install (インストール)\]**​ をクリックします。 ![sap connector configuration 02](/mulesoft/current/ja-jp/sap-connector/5.1/_images/sap-connector-configuration-02.png) 3. **\[Install (インストール)\]**​ メニューで、​**\[Browse (参照)\]**​ をクリックして、ライブラリファイルを見つけます。 MacOS では、JCO バージョン 3.1.2 以降、ネイティブライブラリの拡張子が ​`jnilib`​ から ​`dylib`​ に変更されました。Anypoint Studio バージョン 7.0 ~ 7.6 には、​`dylib`​ ファイル種別の選択に対する制限があります。 1. ローカルマシンからライブラリをインストールした後: 2. **\[Shared Folder (共有フォルダー)\]**​ ウィンドウの一番下に移動します。 3. **\[Any (任意)\]**​ を選択して、​`dylib`​ ネイティブライブラリを選択します。 4. **\[Install file into local repository (ローカルリポジトリにファイルをインストール)\]**​ ウィンドウで、次の項目の値を入力します。 - **Group ID (グループ ID)** - **Artifact ID (アーティファクト ID)** - **Version (バージョン)** 4. 一意のグループ ID、アーティファクト ID、バージョンを指定します。 ![sap connector configuration 04 in](/mulesoft/current/ja-jp/sap-connector/5.1/_images/sap-connector-configuration-04-in.png) 5. **\[Finish (完了)\]**​ をクリックするか、キャンセルする場合は、​**\[Remove Dependency (連動関係を削除)\]**​ をクリックします。 ![sap connector configuration 04 finish](/mulesoft/current/ja-jp/sap-connector/5.1/_images/sap-connector-configuration-04-finish.png) ライブラリのインストールが終了したら、正常にインストールされた各ライブラリに緑色のチェックマークが付いた次のような設定画面が表示されます。 ![sap connector libraries installed](/mulesoft/current/ja-jp/sap-connector/5.1/_images/sap-connector-libraries-installed.png) ## [](#接続をテストする)接続をテストする 1. SAP ログインにサインインして必要な情報を取得し、「​[Studio での設定](#gepparms)​」の説明に従って、残りの ​**\[Global Element Properties (グローバル要素のプロパティ)\]**​ 項目を設定します。 2. **\[Test Connection (接続をテスト)\]**​ をクリックして、ログイン情報が正しいことを確認します。 ## [](#コネクタの設定)コネクタの設定 Mule プロジェクトに複数の SAP Connector インスタンスがある場合、グローバル SAP 要素を作成できます。SAP Connector オブジェクトには、SAP サーバーに接続できるようにする設定プロパティが保持されています。 SAP Connector の設定を作成する手順は、次のとおりです。 1. **\[Global Elements (グローバル要素)\]**​ セクションに移動し、​**\[Create (作成)\]**​ をクリックします。 2. **\[Connector Configuration (コネクタ設定)\]**​ セクションで ​**\[SAP Inbound (SAP インバウンド)\]**​ または ​**\[SAP Outbound (SAP アウトバウンド)\]**​ のいずれかを選択します。 3. **\[General (一般)\]**​ タブペインで、SAP 接続を定義するのに必要なパラメーターを入力します。これは、SAP システム管理者が提供できます。 SAP グローバル要素プロパティにより、接続プロパティを定義したり、必要な SAP 連動関係をプロジェクトに追加したりできます。 SAP Connector では、使いやすいように最も一般的なプロパティのみがコネクタパラメーターとして表示されます。​**\[Properties (プロパティ)\]**​ パネルにリストされていないプロパティを設定するには、​[「拡張プロパティの定義」](https://docs.mulesoft.com/jp/sap-connector/5.1/sap-connector-config-topics)​トピックを参照してください。 最低限定義する必要のある属性は次のとおりです。
項目 説明

Application Server Host (アプリケーションサーバーホスト)

SAP エンドポイント。

Username (ユーザー名)

認証された SAP ユーザーのユーザー名。

Password (パスワード)

認証された SAP ユーザーのパスワードログイン情報。

System Number (システム番号)

SAP システムに接続するために使用されるシステム番号。

Client (クライアント)

SAP システムに接続するために使用される SAP クライアント ID (通常は数値)。

Login Language (ログイン言語)

SAP 接続で使用される言語。たとえば、英語の場合は ​EN​ になります。

プロパティプレースホルダー構文は簡単かつ再利用可能な方法であるため、この方法を使用してログイン情報を読み込むことをお勧めします。 SAP インスタンスへの接続が正しいことを確認するには、​**\[Test Connection (接続をテスト)\]**​ をクリックします。ログイン情報が正しければ、​`Test Connection Successful`​ というメッセージが表示されます。 ## [](#次のステップ)次のステップ Studio でこのコネクタを設定したら、​[「追加設定情報」](https://docs.mulesoft.com/jp/sap-connector/5.1/sap-connector-config-topics)​トピックで設定に関する他のトピックを参照してください。 ## [](#関連情報)関連情報 [MuleSoft ヘルプセンター](https://help.mulesoft.com) # SAP Connector のトラブルシューティング このページには、SAP 用 Anypoint Connector (SAP Connector) の一般的なトラブルシューティングに関する提案が記載されています。 ## [](#common-throws)一般的なスロー - SAP:CONNECTIVITY A connection cannot be established. (接続を確立できません。) - SAP:INVALID\_CACHE The cache used internally by the JCo library is corrupted or can’t be read. (JCo ライブラリで内部的に使用されているキャッシュが破損しているか、読み取ることができません。) - SAP:INVALID\_INPUT User input cannot be parsed or is incorrect. (ユーザー入力を解析できないか、ユーザー入力が正しくありません。) - SAP:METADATA\_UNAVAILABLE The metadata for an IDoc segment is unavailable. (IDoc セグメントのメタデータを利用できません。) - SAP:NOT\_FOUND A function or IDoc template cannot be found or retrieved. (関数または IDoc テンプレートが見つからないか、取得できません。) - SAP:NOT\_SUPPORTED An action occurs that is not supported by any JCo handler. (JCo ハンドラーでサポートされていないアクションが実行されました。) - SAP:PARSING The JCo library has a parsing issue or the connector cannot convert XML to a BAPI function or an IDoc. (JCo ライブラリに解析の問題があるか、コネクタが XML を BAPI 関数または IDoc に変換できません。) - SAP:RETRY\_EXHAUSTED Execution block retries are exhausted. (実行ブロックの再試行が終了しました。) - SAP:SYSTEM\_BUSY The remote ABAP system is too busy to handle a request. (リモートの ABAP システムが混雑しているため要求を処理できません。) - SAP:TIMEOUT A timeout exception happens inside the JCo library. (JCo ライブラリ内でタイムアウト例外が発生しました。) ## [](#common-solutions)一般的な解決策 ### [](#check-log-files)ログファイルを確認する Mule では (アプリケーションごとに) 次のログファイルが ​`$MULE_HOME\logs`​ ディレクトリに保存されます。 - `mule.log` デフォルトの Mule ログファイル - `mule-app-YOUR_APP_NAME.log` アプリケーションごとのログファイル ### [](#enable-jco-trace)JCo トレースを有効にする JCo トレースは Mule の外部から有効にできます。JCo トレースは次の Java 起動環境プロパティを受け入れます。 - `-Djco.trace_level=N` N は 0 ~ 10 で、10 は最も詳細なトレース - `-Djco.trace_path=` 省略可能 JCo は ​`0`​ (デフォルト) ~ ​`10`​ のトレースレベルをサポートします。トレースレベルが高いほど、トレースデータの量が増加します。各トレースレベルには、下位のトレースレベルのすべてのトレースデータも含まれます。多くの JCo コールと転送されるコンテンツで高い JCo トレースレベルを使用する場合は、十分なディスク容量が使用可能であることを確認してください。 コネクタレベルでトレースを有効にする手順は、次のとおりです。 1. 属性 ​`jcoTrace`​ を ​`true`​ に設定するか、値 ​`1`​ の拡張 JCo プロパティ ​`jco.client.trace`​ または ​`jco.server.trace`​ を指定します。 2. Mule の起動時に ​`-Djco.trace_level=N`​ の値を指定します。
トレースレベル AS Java セキュリティレベル JCo 3 トレースコンテンツ

0

NONE

トレースなし

1

ERROR

JCo バージョンとランタイム環境情報、およびアプリケーションエラーを含まない JCo 内部エラーと例外

2

WARNING

JCo 警告メッセージ (ABAP 以外のシステム例外など)

3

INFO

JCo 情報メッセージ (ABAP 例外など)

4

PATH

RFC コールおよび重要な公開 API コール

5

DEBUG​

重要な内部ミドルウェアコール
コードページ情報

6

DEBUG​

接続属性
ASCII コンテンツデータ (構造の最初の 1000 文字またはテーブルの最初の 5 行)

7

DEBUG

RFC メタデータ (名前、型、オフセット、長さ、インポートおよびエクスポートオプション、およびコンテンツデータのその他の 16 進数値を含む)

8

DEBUG​

完全なコンテンツデータダンプ (文字または行の制限なし)
コール元のスタックトレース情報 (たとえば、​getClient()​ はアプリケーションを識別します)

9

DEBUG

追加情報なし (将来の使用のために予約済み)

10

DEBUG

追加情報なし (将来の使用のために予約済み)

3. 必要に応じて、​`-Djco.trace_path=`​ の値を指定します。 通常、これは、トレースファイルが保存されている既存のディレクトリへの完全パスですが、他の特別な値を適用できます。 - `stdout` JCo トレース情報は標準​**出力**​ストリームに送信されます。 - `stderr` JCo トレース情報は標準​**エラー**​ストリームに送信されます。 `-Djco.trace_path`​ を設定しない場合、トレースファイルは作業ディレクトリに保存されます。Mule スタンドアロンインスタンスの場合、通常は ​`$MULE_HOME/bin`​ フォルダーになります。 ## [](#common-errors)一般的なエラー ### [](#error-jco-missing-libs)JCo ライブラリの欠落エラー 通常、1 つ以上の必須の SAP JCo 連動関係を読み込まずに接続のテストや Mule アプリケーションのデプロイを実行した場合にこのエラーが発生します。 - JCo ネイティブライブラリの欠落 ```text java.lang.ExceptionInInitializerError: JCo initialization failed with java.lang.UnsatisfiedLinkError: no sapjco3 in java.library.path ``` ![SAP エラー、JCo ネイティブライブラリ](/mulesoft/current/ja-jp/sap-connector/5.1/_images/sap-error-jco-libs1.png) - JCo JAR の欠落 java.lang.NoClassDefFoundError: com/sap/conn/jco/JCoTraceListener ![SAP エラー、JCo JAR](/mulesoft/current/ja-jp/sap-connector/5.1/_images/sap-error-jco-libs2.png) - IDoc JAR の欠落 java.lang.NoClassDefFoundError: com/sap/conn/idoc/IDocMetaDataUnavailableException ![SAP エラー、IDoc JAR](/mulesoft/current/ja-jp/sap-connector/5.1/_images/sap-error-jco-libs3.png) このエラーを解決する手順は、次のとおりです。 1. **\[Required dependencies (必須の連動関係)\]**​ セクションで、赤い感嘆符アイコンが付いている連動関係の横にある ​**\[Add File (ファイルを追加)\]**​ ボタンをクリックします。 2. 連動関係を参照し、適切なファイルを選択します。 欠落している連動関係がプロジェクトのクラスパスに自動的に追加されます。
Package Explorer​ で、プロジェクトを右クリックし、​[Build Path (ビルドパス)] > [Configure Build Path (ビルドパスを設定)]​ に移動すると、プロジェクトのビルドパス内のライブラリが表示されます。
### [](#error-jco-classloader-conflicts)JCo クラスローダーの競合 ネイティブライブラリをグローバル設定から読み込むと、ファイルのコピーが ​`$YOUR_APP/src/main/app/lib`​ 内に配置されますが、ソースファイルは削除されません。そのため、接続のテストやアプリケーションのデプロイを実行するときに、JCo JAR ファイルと同じディレクトリを共有していると、次の例外が発生します。 ```text java.lang.ExceptionInInitializerError: JCo initialization failed with java.lang.UnsatisfiedLinkError: Native Library /home/mule/sap-errors/lib/jco/libsapjco3.so already loaded in another classloader ``` ![SAP エラー、JCo クラスローダーフォルダー](/mulesoft/current/ja-jp/sap-connector/5.1/_images/sap-error-jco-classloader-folder.png) このエラーを解決する手順は、次のとおりです。 次のいずれかの解決策を選択します。最初の解決策は最も簡単ですが、2 番目の解決策をベストプラクティスとしてお勧めします。 - JCo JAR ファイルが存在するディレクトリから​_重複する_​ネイティブライブラリファイルを削除します。 ![SAP エラー、JCo クラスローダーの修正](/mulesoft/current/ja-jp/sap-connector/5.1/_images/sap-error-jco-classloader-fix.png) - ダイナミックリンクライブラリを保持するように環境変数 ​`LD_LIBRARY_PATH`​ を設定し、同じ Mule Runtime サーバー内にデプロイされている複数のアプリケーションでその環境変数を共有します。 ### [](#error-jco-version-conflicts)JCo バージョンの競合 次のエラーの最も多い原因は、異なるバージョンのネイティブライブラリと JCo JAR ファイルが使用されていることです。 ```text java.lang.ExceptionInInitializerError: Native library sapjco3 is too old. Found library System-defined path to libsapjco3.so has version "720.612", but required is at least version "720.713". ``` このエラーを解決するには、次の要件が満たされていることを確認します。 - 64 ビットモードで動作する JVM では 64 ビット JCo が必要で、32 ビットモードで動作する JVM では 32 ビット JCo が必要です。 - Microsoft Windows では、JCo には Microsoft Visual Studio 2005 C/C++ ランタイムライブラリが必要です。 - `sapjco.jar`​ と、​`sapjco3.dll`​、​`sapjco3.so`​、および ​`sapjco3.jnilib`​ のいずれかの両方が​**同じ JCo パッケージ**​から取得されている必要があります。 使用している JCo ライブラリのバージョンを確認するには、次のいずれかを実行します。 - Windows (UI): 1. `sapjco3.jar`​ ファイルが配置されているディレクトリに移動します。 2. `sapjco3.jar`​ ファイルを右クリックします。 3. コンテキストメニューから ​**\[プログラムから開く\]**​ を選択します。 4. **\[Java 2 Platform Standard Edition\]**​ バイナリをクリックします。 5. 表示された JCo ダイアログに表示されている情報を確認します。 - Mac: 1. ターミナルウィンドウを開きます。 2. `sapjco3.jar`​ ファイルが配置されているディレクトリに移動します。 3. コマンド ​`java -jar sapjco3.jar -version`​ を実行します。 4. 表示された JCo ダイアログに表示されている情報を確認します。 ### [](#error-jco-renaming-conflicts)JCo 名前変更の競合 JCo 3.0.11 以降では、SAP JCo ライブラリファイルは JCo により認識されないため、名前変更できず、次のエラーが表示されます。 ```text java.lang.ExceptionInInitializerError: Illegal JCo archive "sapjco3-3.0.11.jar". It is not allowed to rename or repackage the original archive "sapjco3.jar" ``` このエラーを解決する手順は、次のとおりです。 Apache Maven を使用している場合は、属性 ​`true`​ を持つ ​**maven-dependency-plugin**​ を設定します。 これを設定し、JCo アーティファクトを削除すると、すべての連動関係ライブラリのバージョン番号が削除されます。 詳細は、外部サイトで [「Apache Maven Dependency Plugin (Apache Maven Dependency プラグイン)」](http://maven.apache.org/plugins/maven-dependency-plugin/usage.html)​を参照してください。 ### [](#error-message-not-a-sap-object)メッセージが SAP オブジェクトではない エンドポイントは、BAPI または IDoc を実行するために必要な入力パラメーターを含む SAP オブジェクトを想定します。 以下のメッセージが表示された場合、次のいずれかが考えられます。 - 必要な入力パラメーターが指定されていない。 - 入力パラメーターは指定されているが、SAP オブジェクトが無効である。 ```text org.mule.api.transport.DispatchException: Message is not a SAP object, it is of type "byte[]". Check the transformer for this Connector "SapConnector". Failed to route event via endpoint: SapOutboundEndpoint{endpointUri=sap://function, connector=SapConnector { name=SapConnector lifecycle=start this=4571cebe numberOfConcurrentTransactedReceivers=4 createMultipleTransactedReceivers=true connected=true supportedProtocols=[sap] serviceOverrides= } , name='endpoint.sap.function', mep=ONE_WAY, properties={evaluateFunctionResponse=false, bapiTransaction=false, functionName=BAPI_MATERIAL_AVAILABILITY, rfcType=srfc, outputXml=true}, transactionConfig=Transaction{factory=null, action=INDIFFERENT, timeout=0}, deleteUnacceptedMessages=false, initialState=started, responseTimeout=10000, endpointEncoding=UTF-8, disableTransportTransformer=false}. Message payload is of type: byte[] ``` この問題を解決する手順は、次のとおりです。 次の 2 つのいずれかの操作を実行して、BAPI または IDoc へのコールを表す SAP オブジェクトを作成します。 - BAPI コールを含む SAP オブジェクトが含まれる XML を作成します。 - 実際の SAP コールを作成するための入力が含まれる XML 定義を指定します。 ### [](#error-icoc-metadata-unavailable)IDoc メタデータを使用できない 次のエラーが発生した場合、RFC 宛先が Unicode をサポートしていないことを意味します。 ```text RfcException: [mc-vmware|a_rfc] message: (3) IDOC_ERROR_METADATA_UNAVAILABLE: The meta data for the IDoc type "??????????????????????????å å" with extension " ORDSAPB6L B60CL ???" is unavailable. Return code: RFC_FAILURE(1) error group: 104 key: RFC_ERROR_SYSTEM_FAILURE ``` このエラーを解決する手順は、次のとおりです。 トランザクション ​**SM59**​ を使用して、SAP インスタンスでの Unicode サポートを設定します。 ### [](#error-missing-tid-handler)TID ハンドラーの欠落 TID ハンドラーが定義されていないため、次の例外を受信します。 ```text RfcException: [mule.local|MULESOFT_IDOC_SEND_TEST] message: check TID fault: No transaction handler is installed. Unable to process tRFC/qRFC requests. Return code: RFC_FAILURE(1) error group: 104 key: RFC_ERROR_SYSTEM_FAILURE Exception raised by myhost.com.ar|MULESOFT_IDOC_SEND_TEST at com.sap.conn.jco.rt.MiddlewareJavaRfc$JavaRfcServer.playbackTRfc(MiddlewareJavaRfc.java:2625) at com.sap.conn.jco.rt.MiddlewareJavaRfc$JavaRfcServer.handletRfcRequest(MiddlewareJavaRfc.java:2546) at com.sap.conn.jco.rt.MiddlewareJavaRfc$JavaRfcServer.listen(MiddlewareJavaRfc.java:2367) at com.sap.conn.jco.rt.DefaultServerWorker.dispatch(DefaultServerWorker.java:284) at com.sap.conn.jco.rt.DefaultServerWorker.loop(DefaultServerWorker.java:369) at com.sap.conn.jco.rt.DefaultServerWorker.run(DefaultServerWorker.java:245) at java.lang.Thread.run(Thread.java:680) ``` このエラーを解決する手順は、次のとおりです。 ``​で ​`rfcType`​ を ​`trfc`​ または ​`qrfc`​ に設定します。 ### [](#error-parameter-not-supported)パラメーターがサポートされていない SAP 拡張プロパティには有効な名前が必要です。このため、無効なプロパティ名を指定すると、次のようなエラーメッセージが表示されます。 ```text Root Exception stack trace: RfcException: [null] message: Parameter 'type' not supported: 'f' Return code: RFC_INVALID_PARAMETER(19) error group: 101 key: RFC_ERROR_PROGRAM at com.sap.conn.rfc.api.RfcOptions.checkParameters(RfcOptions.java:182) at com.sap.conn.jco.rt.MiddlewareJavaRfc$JavaRfcClient.connect(MiddlewareJavaRfc.java:1328) at com.sap.conn.jco.rt.ClientConnection.connect(ClientConnection.java:731) + 3 more (set debug level logging or '-Dmule.verbose.exceptions=true' for everything) ``` この例では、​`type`​ という名前のパラメーターが無効であることが JCo ライブラリにより報告されています。 このエラーを解決する手順は、次のとおりです。 JCo 拡張プロパティの有効なプロパティ名を指定します。 ### [](#error-multiple-jco-servers)複数の JCo サーバーが実行されている 2 つ以上の JCo サーバーには、設定名が異なっていても同じ設定パラメーターセットを含めることはできません。 次のエラーが表示されます。 ```text ERROR 2012-07-05 10:11:30,525 [WrapperListener_start_runner] com.mulesoft.mule.transport.sap.SapMessageReceiver: Error connecting to server com.sap.conn.jco.JCoException: (101) JCO_ERROR_CONFIGURATION: Server configuration for sapavalara-1.0-SNAPSHOT-gettax is already used for a running server at com.sap.conn.jco.rt.StandaloneServerFactory.update(StandaloneServerFactory.java:358) at com.sap.conn.jco.rt.StandaloneServerFactory.getServerInstance(StandaloneServerFactory.java:176) at com.sap.conn.jco.server.JCoServerFactory.getServer(JCoServerFactory.java:74) at com.mulesoft.mule.transport.sap.jco3.SapJcoRfcServer.initialise(SapJcoRfcServer.java:46) at com.mulesoft.mule.transport.sap.jco3.SapJcoServerFactory.create(SapJcoServerFactory.java:60) at com.mulesoft.mule.transport.sap.SapMessageReceiver.doConnect(SapMessageReceiver.java:56) at org.mule.transport.AbstractTransportMessageHandler.connect(AbstractTransportMessageHandler.java:218) at org.mule.transport.AbstractConnector.registerListener(AbstractConnector.java:1254) ```
これは、同じ Mule サーバーで実行されている Mule アプリケーションにのみ適用されます。Mule サーバーグループのノードにこの制限はありません。
このエラーを解決する手順は、次のとおりです。 次の属性を使用して、サーバーグループキーを作成します (サーバーグループキーは JCo サーバー接続のユニーク性を決定します)。 - `jco.server.gwhost`​ - `jco.server.gwserv`​ - `jco.server.progid` 2 つのサーバーで ​`gwhost`​、​`gwserv`​、および ​`progid`​ の値が異なる場合のみ、2 つのサーバーを同じ Mule インスタンスで開始できます (JCo はこの情報をシングルトンクラスで保持します)。 ## [](#see-also)関連情報 - [MuleSoft ヘルプセンター](https://help.mulesoft.com) - [SAP Connector リファレンス](https://docs.mulesoft.com/jp/sap-connector/5.1/sap-connector-reference) # SAP Connector の例 - Mule 4 ## [](#sap-接続の確立)SAP 接続の確立 SAP との接続を確立し、SAP Connector の **Function source**​ 操作 (export パラメーターを SAP に返します) を使用して関数を受信する Mule アプリケーションを作成します。 1. Anypoint Studio で、新しい Mule プロジェクトを作成します。 2. Studio タスクバーの左上にある Exchange アイコン **(X)**​ をクリックします。 3. Exchange で、**\[Login (ログイン)\]**​ をクリックし、Anypoint Platform のユーザー名とパスワードを指定します。 4. Exchange で、種別として **\[Connectors (コネクタ)\]**​ を選択し、「SAP Connector」 (SAP Connector) を検索します。 5. \[SAP Connector for Mule 4 (Mule 4 用 SAP Connector)\] タイルを選択し、**\[Add to project (プロジェクトに追加)\]**​ をクリックします。 6. SAP の **Function source**​ 操作をキャンバスのソース領域のフローの開始位置にドラッグします。 7. 新しい **\[SAP インバウンド\]**​ グローバル要素設定を作成し、環境値を指定します。 8. **Transform Message**​ コンポーネントをフローに追加して、メタデータに基づいて詳細を指定します。 ![sap function return response](/mulesoft/current/ja-jp/sap-connector/5.1/_images/sap-function-return-response.png) これで、次の図のように、フローに **Function source**​ (キャンバスのソース領域内) と **Transform Message**​ が含まれます。 ![sap flow response](/mulesoft/current/ja-jp/sap-connector/5.1/_images/sap-flow-response.png) SAP Design Studio には、受信したオブジェクトとその応答に関するフィードバックが表示されます。 ![sap result sap gui](/mulesoft/current/ja-jp/sap-connector/5.1/_images/sap-result-sap-gui.png) ## [](#sap-への-idoc-の送信)SAP への IDoc の送信 この例では、IDoc を SAP に送信する Mule アプリケーションを作成します。 1. Anypoint Studio で、新しい Mule プロジェクトを作成します。 2. **HTTP Listener**​ 操作をキャンバスにドラッグし、デフォルト値を使用します。 3. **HTTP Request**​ 操作をキャンバスにドラッグし、**\[Path (パス)\]**​ を `/sendIDoc`​ に設定します。 **HTTP Listener**​ 操作で使用するものと同じ HTTP 設定を使用します。 4. 新しい SAP アウトバウンドグローバル要素設定を作成し、環境値を指定します。 5. **\[Test Connection (接続をテスト)\]**​ をクリックして、Mule Runtime Engine が SAP インスタンスに接続できることを確認します。 6. 正常に接続できた場合は、設定を保存します。 それ以外の場合、無効なパラメーターを確認および修正して、再度テストします。 7. SAP Connector を選択して HTTP 操作の横に **Send IDoc**​ 操作を追加します。 8. 次の値を使用して操作を設定します。
パラメーター 値

Display Name (表示名)

Send IDoc 操作の表示名

Connector configuration (コネクタ設定)

作成したグローバル要素の SAP_Outbound​

Key (キー)

MATMAS01

Content (コンテンツ)

#[payload]​

9. **Transform Message**​ コンポーネントを SAP Connector の前にドロップし、コンポーネントをクリックしてそのプロパティエディターを開きます。 10. メタデータが取得されたら、入力する従業員の各項目を選択します。 変換スクリプトの XML には、**Transform Message**​ の DataWeave コンテンツが次のように表示されます。 ```dataweave %dw 2.0 output application/xml --- read(' EDI_DC40 800 ',"application/xml") ``` 11. SAP エンドポイントの直後に **Logger**​ を追加します。 アプリケーションを実行すると、**Logger**​ により Anypoint Studio コンソールにメッセージが表示され、ログでコネクタのペイロードを確認できます。 12. **\[File (ファイル)\]**​ > **\[Save (保存)\]**​ をクリックして、アプリケーションを保存します。 13. **\[Run (実行)\]**​ > **\[Run as (別のユーザーとして実行)\]**​ > **\[Mule Application (Mule アプリケーション)\]**​ をクリックして、アプリケーションを実行します。 Anypoint Studio が提供する Web サーバーを使用して、ユーザーはブラウザーからアプリケーションをテストできます。 14. Web ブラウザーから、次のクエリパラメーターの形式で、従業員の内部 ID、名、姓を入力してアプリケーションをテストします。 ```none http://localhost:8081/sendIDoc ``` Mule Runtime Engine によってクエリが実行され、従業員レコードが追加されます。 ### [](#受信-idoc-要求のトリガー)受信 IDoc 要求のトリガー この例は RFC サーバーのように機能し、SAP ゲートウェイで自身を登録します。外部 SAP システムからの受信 IDoc 要求を待機します。 1. Anypoint Studio で、新しい Mule プロジェクトを作成します。 2. Exchange から SAP Connector をプロジェクトに追加します。 3. SAP の **Document source**​ 操作をキャンバスのソース領域のフローの開始位置にドラッグします。 4. 新しい **\[SAP インバウンド\]**​ グローバル要素設定を作成し、環境値を指定します。 5. **Document source**​ の直後に **Logger**​ を追加します。 アプリケーションを実行すると、**Logger**​ により Anypoint Studio コンソールにメッセージが表示され、ログでコネクタのペイロードを確認できます。 6. 新しい Mule フローで **HTTP Listener**​ 操作をキャンバスにドラッグし、デフォルト値を使用します。 7. **HTTP Request**​ 操作をキャンバスにドラッグし、**\[Path (パス)\]**​ を `/triggerIDoc`​ に設定します。 **HTTP Listener**​ 操作で使用するものと同じ HTTP 設定を使用します。 8. フローに **Transform Message**​ コンポーネントを追加します。 このメッセージのコンテンツは、SAP から SAP IDoc ソースに送信する IDoc をトリガーする関数のペイロードです。 ```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 }, } } ``` 9. SAP の **Synchronous remote function call**​ 操作をキャンバスのソース領域にドラッグします。 この操作は、SAP IDoc ソースへの送信を要求された IDoc をトリガーします。 10. キー値を入力します。 キー値が正しい場合、**Transform Message**​ で関数のペイロードが表示されます。 ![sap connector remote function call key](/mulesoft/current/ja-jp/sap-connector/5.1/_images/sap-connector-remote-function-call-key.png) 11. **\[File (ファイル)\]**​ > **\[Save (保存)\]**​ をクリックして、アプリケーションを保存します。 12. **\[Run (実行)\]**​ > **\[Run as (別のユーザーとして実行)\]**​ > **\[Mule Application (Mule アプリケーション)\]**​ をクリックして、アプリケーションを実行します。 Anypoint Studio が提供する Web サーバーを使用して、ユーザーはブラウザーからアプリケーションをテストできます。 13. Web ブラウザーから「http://localhost:8081/triggerIDoc」と入力してアプリケーションをテストします。 キャンバスでフローは次のようになります。 ![sap remote function call flow](/mulesoft/current/ja-jp/sap-connector/5.1/_images/sap-remote-function-call-flow.png) 応答の例: ```dataweave EDI_DC40 800 0000000003572826 740 30 1 2 MATMAS01 MATMAS SAPIDE LS T90CLNT090 MULE11_TP LS MULE11_LS 20191004 050305 20191004050305 ... ``` ``` ### [](#idoc-を-sap-に送信する-xml)IDoc を SAP に送信する XML ```xml EDI_DC40 800 ',"application/xml") ]]> ``` ## [](#関連情報)関連情報 [MuleSoft ヘルプセンター](https://help.mulesoft.com) # SAP Connector リファレンス - Mule 4 サポートカテゴリ: [Premium](https://www.mulesoft.com/legal/versioning-back-support-policy#anypoint-connectors) SAP Connector バージョン 5.1 SAP 用 Anypoint Connector (SAP Connector) を使用すると、SAP NetWeaver に基づいてデータを外部システムと統合できます。
バージョン 5.0 以降、SAP Connector では、SAP S/4HANA のオンプレミスインスタンスへの接続もサポートされるようになりました。
リリースノート: [SAP Connector Release Notes (SAP Connector リリースノート)](https://docs.mulesoft.com/jp/release-notes/connector/sap-connector-release-notes-mule-4)​ ## [](#制限事項)制限事項 - SAP Connector を CloudHub および Anypoint Runtime Fabric にデプロイする Mule アプリケーションで、SNC を使用することはできません。 - 同じ ​PROGRAM\_ID​、​GATEWAY\_SERVICE​、および ​GATEWAY\_HOST​ を持つ複数のアプリケーションが同じ Mule Runtime Engine にデプロイされている場合、それらのアプリケーションは機能しません。JCoLibrary では、同じ ​PROGRAM\_ID​、​GATEWAY\_SERVICE​、および ​GATEWAY\_HOST​ を持つインスタンスに接続する 2 つのサーバーを作成できないためです。 同じ ​PROGRAM\_ID​、​GATEWAY\_SERVICE​、および ​GATEWAY\_HOST​ を持つ 2 つのサーバーを作成しようとすると、1 つのサーバーのみが作成されます。 回避策: 1. 2 つの異なる Mule Runtime Engine を使用します。 2. 同じ ​PROGRAM\_ID​ で 2 つの異なる ​GATEWAY\_HOST​ を使用します。 ## [](#設定)設定 * * * ### [](#sap)デフォルト設定 SAP 拡張機能のアウトバウンド要素のデフォルト設定。 #### [](#パラメーター)パラメーター
名前 型 説明 デフォルト値 必須

Name (名前)

String (文字列)

この設定の名前。コネクタはこの名前の設定を参照します。

x

Connection (接続)

この設定に指定する接続型。

x

Expiration Policy (有効期限ポリシー)

動的設定インスタンスがアイドル状態を続けられる最小時間を設定します。この時間が経過すると、Mule Runtime で期限切れに相当するとみなされます。これは、インスタンスが有効期限の対象となった瞬間にプラットフォームでそのインスタンスが期限切れになるということではありません。必要に応じて、インスタンスがパージされます。

Encoding (エンコード)

String (文字列)

エンコードの正規名。​https://docs.oracle.com/javase/8/docs/technotes/guides/intl/encoding.doc.html​ で Oracle のサポートされるエンコードを参照してください。

Default Idocument Version (デフォルトの IDoc バージョン)

String (文字列)

デフォルトの IDoc バージョン。

0

Disable Jco Internal Cache (Jco 内部キャッシュを無効化)

Boolean (ブール)

JCo 内部キャッシュを使用するかどうかを示すフラグ。

​false

Evaluate Response Flag ([応答を評価] フラグ)

Boolean (ブール)

エラー応答で例外を発生させるのか、ユーザーがエラー応答を別の結果として処理できるようにするのかを示すフラグ。

​false

Log Trace Flag ([トレースを記録] フラグ)

Boolean (ブール)

トレースを Mule サーバーに記録するかどうかを示すフラグ。

​false

Use SAP Format (SAP 形式の使用)

Boolean (ブール)

このパラメーターは、SAP 値を返すための Mule 3 形式をサポートするために追加されました。JCoField を解析するときに JCoToBusinessObjectParser クラスで使用されます。

  • true​ - 値を元の SAP 形式の文字列として返す必要があることを指定します。

  • false​ - 元の値が対応する Java オブジェクトに変換され、シリアル化されて返されます。

​false

#### [](#接続種別)接続種別 ##### [](#sap_certificate)Certificate (証明書) X509 証明書を使用してユーザーを認証する接続プロバイダー。 ###### [](#パラメーター-2)パラメーター
名前 型 説明 デフォルト値 必須

SAP system number (SAP システム番号)

String (文字列)

SAP システムの 2 桁のシステム番号 (sysnr)。

x

SAP client ID (SAP クライアント ID)

String (文字列)

3 桁のクライアント番号。数値で表示する場合は先行ゼロを保持します。

x

Destination Name (宛先名)

String (文字列)

このコネクタによって生成される宛先の識別子。設定されていない場合、ランダムな値が作成されます。

Login language (ログイン言語)

String (文字列)

コネクタで使用される言語コード。言語によって、SAP アダプターとアプリケーションサーバー間の通信に使用されるコードページが決定されます。

EN

Extended Properties (拡張プロパティ)

Object (オブジェクト)

データベースサーバー固有のすべての接続パラメーターを渡すために使用します。

X.509 Certificate (X.509 証明書)

String (文字列)

X.509 証明書へのパス。これは、コネクタがクライアントとして機能する場合に必要です。

Application server host (アプリケーションサーバーホスト)

String (文字列)

SAP アプリケーションサーバーのホスト。

Message server configuration (メッセージサーバーの設定)

メッセージサーバーの使用の設定。

Enable RFC tracing on server (サーバーでの RFC トレースの有効化)

Boolean (ブール)

サーバーで RFC トレースを有効または無効にします。

​false

Enable CPIC tracing on server (サーバーでの CPIC トレースの有効化)

Enumeration (列挙)。次のいずれかになります。

  • INHERIT

  • NO_TRACING​

  • LEVEL_1

  • LEVEL_2

  • LEVEL_3

サーバーで RFC トレースを有効/無効にします。

Reconnection (再接続)

アプリケーションがデプロイされると、すべてのコネクタで接続テストが実行されます。​true​ に設定されている場合、関連する再接続戦略をすべて実行した後にテストに合格しないと、デプロイが失敗します。

##### [](#sap_simple-connection-provider)Simple Connection Provider ユーザー名とパスワードを使用して接続する接続プロバイダー。 ###### [](#パラメーター-3)パラメーター
名前 型 説明 デフォルト値 必須

SAP system number (SAP システム番号)

String (文字列)

SAP システムの 2 桁のシステム番号 (sysnr)。

x

SAP client ID (SAP クライアント ID)

String (文字列)

3 桁のクライアント番号。数値で表示する場合は先行ゼロを保持します。

x

Destination Name (宛先名)

String (文字列)

このコネクタによって生成される宛先の識別子。設定されていない場合、ランダムな値が作成されます。

Login language (ログイン言語)

String (文字列)

コネクタで使用される言語コード。言語によって、SAP アダプターとアプリケーションサーバー間の通信に使用されるコードページが決定されます。

EN

Extended Properties (拡張プロパティ)

Object (オブジェクト)

データベースサーバー固有のすべての接続パラメーターを渡すために使用します。

Username (ユーザー名)

String (文字列)

コネクタが SAP にログインするために使用するユーザー名。

x

Password (パスワード)

String (文字列)

ログインユーザー名に関連付けられているパスワード。

x

Application server host (アプリケーションサーバーホスト)

String (文字列)

SAP アプリケーションサーバーのホスト。

Message server configuration (メッセージサーバーの設定)

メッセージサーバーの使用の設定。

Enable RFC tracing on server (サーバーでの RFC トレースの有効化)

Boolean (ブール)

サーバーで RFC トレースを有効または無効にします。

​false

Enable CPIC tracing on server (サーバーでの CPIC トレースの有効化)

Enumeration (列挙)。次のいずれかになります。

  • INHERIT

  • NO_TRACING​

  • LEVEL_1

  • LEVEL_2

  • LEVEL_3

サーバーで RFC トレースを有効または無効にします。

Reconnection (再接続)

アプリケーションがデプロイされると、すべてのコネクタで接続テストが実行されます。​true​ に設定されている場合、関連する再接続戦略をすべて実行した後にテストに合格しないと、デプロイが失敗します。

## [](#操作)操作 - [Asynchronous Remote Function Call](#asyncRfc)​ - [Confirm Transaction](#confirmTransactionId)​ - [Get Function](#getFunction)​ - [Retrieve IDoc](#retrieveIdoc)​ - [Send IDoc](#send)​ - [Start SAP Transaction](#startsaptransaction)​ - [Synchronous Remote Function Call](#syncRfc) ### [](#ソース)ソース - [Document Listener](#document-listener)​ - [Function Listener](#function-listener) ### [](#asyncRfc)Asynchronous Remote Function Call ​``​ キューリモート関数コール (qRFC) を介して BAPIFunction を実行します。キュー RFC はトランザクション RFC (tRFC) の拡張機能であり、個々のステップが順番に処理されることを保証します。 複数の作業論理単位 (LUW) トランザクションがアプリケーションで指定された順序で処理されることを保証するには、qRFC を使用します。インバウンドキューとアウトバウンドキューを使用して tRFC をシリアル化できるため、キュー RFC (qRFC) という名前になっています。 キュー (qRFC) は tRFC の拡張機能として、処理順序を定義するのに最適です。qRFC を使用して、複数のトランザクションを定義済みの順序で処理することを保証します。 #### [](#パラメーター-4)パラメーター
名前 型 説明 デフォルト値 必須

Configuration (設定)

String (文字列)

使用する設定の名前。

x

Function Name (関数名)

String (文字列)

実行する関数の名前。

x

Content (コンテンツ)

Binary (バイナリ)

実行する BAPIFunction。

#[payload]

Transaction Id (トランザクション ID)

String (文字列)

1 回のみ実行されるように RFC を識別する ID。

x

Queue Name (キュー名)

String (文字列)

RFC が実行されるキューの名前。処理される各 tRFC コールにはアプリケーションによりキュー名が与えられるため、これは qRFC に適用されます。qRFC トランザクションごとにキュー名とバージョンが必要です。

Transactional Action (トランザクションアクション)

Enumeration (列挙)。次のいずれかになります。

  • ALWAYS_JOIN​

  • JOIN_IF_POSSIBLE​

  • NOT_SUPPORTED

トランザクションに関する操作で実行できる結合アクションの種別。

​JOIN_IF_POSSIBLE

Reconnection Strategy (再接続戦略)

接続エラーが発生した場合の再試行戦略。

### [](#次の設定の場合)次の設定の場合 - [デフォルト設定](#sap) #### [](#スロー)スロー - SAP:CONNECTIVITY - SAP:INVALID\_CACHE​ - SAP:INVALID\_INPUT​ - SAP:METADATA\_UNAVAILABLE​ - SAP:NOT\_FOUND​ - SAP:NOT\_SUPPORTED​ - SAP:PARSING - SAP:RETRY\_EXHAUSTED​ - SAP:SYSTEM\_BUSY​ - SAP:TIMEOUT ### [](#confirmTransactionId)Confirm Transaction ​``​ 確定したトランザクションを確認します。 #### [](#パラメーター-5)パラメーター
名前 型 説明 デフォルト値 必須

Configuration (設定)

String (文字列)

使用する設定の名前。

x

Transaction ID (TID) (トランザクション ID (TID))

String (文字列)

確認するトランザクションの ID。

x

Transactional Action (トランザクションアクション)

Enumeration (列挙)。次のいずれかになります。

  • ALWAYS_JOIN​

  • JOIN_IF_POSSIBLE​

  • NOT_SUPPORTED

トランザクションに関する操作で実行できる結合アクションの種別。

​JOIN_IF_POSSIBLE

Reconnection Strategy (再接続戦略)

接続エラーが発生した場合の再試行戦略。

### [](#次の設定の場合-2)次の設定の場合 - [デフォルト設定](#sap) #### [](#スロー-2)スロー - SAP:CONNECTIVITY - SAP:RETRY\_EXHAUSTED ### [](#getFunction)Get Function ​``​ 名前に基づいて BAPIFunction を取得します。 #### [](#パラメーター-6)パラメーター
名前 型 説明 デフォルト値 必須

Configuration (設定)

String (文字列)

使用する設定の名前。

x

Function Name (関数名)

String (文字列)

取得する関数の名前。

x

Transactional Action (トランザクションアクション)

Enumeration (列挙)。次のいずれかになります。

  • ALWAYS_JOIN​

  • JOIN_IF_POSSIBLE​

  • NOT_SUPPORTED

トランザクションに関する操作で実行できる結合アクションの種別。

​JOIN_IF_POSSIBLE

Streaming Strategy (ストリーミング戦略)

反復可能ストリームを使用すべきかどうかを設定します。

Target Variable (対象変数)

String (文字列)

操作の出力を保存する変数の名前。

Target Value (対象値)

String (文字列)

操作の出力に対して評価される式。この式の結果が対象変数に保存されます。

#[payload]

Reconnection Strategy (再接続戦略)

接続エラーが発生した場合の再試行戦略。

#### [](#出力)出力

型

Binary (バイナリ)

### [](#次の設定の場合-3)次の設定の場合 - [デフォルト設定](#sap) #### [](#スロー-3)スロー - SAP:CONNECTIVITY - SAP:INVALID\_CACHE​ - SAP:INVALID\_INPUT​ - SAP:METADATA\_UNAVAILABLE​ - SAP:NOT\_FOUND​ - SAP:NOT\_SUPPORTED​ - SAP:PARSING - SAP:RETRY\_EXHAUSTED​ - SAP:SYSTEM\_BUSY​ - SAP:TIMEOUT ### [](#retrieveIdoc)Retrieve IDoc ​``​ キーに基づいて IDoc を取得します。 #### [](#パラメーター-7)パラメーター
名前 型 説明 デフォルト値 必須

Configuration (設定)

String (文字列)

使用する設定の名前。

x

IDoc Name (IDoc 名)

String (文字列)

IDoc を取得するために必要な情報が含まれるキー。

x

Transactional Action (トランザクションアクション)

Enumeration (列挙)。次のいずれかになります。

  • ALWAYS_JOIN​

  • JOIN_IF_POSSIBLE​

  • NOT_SUPPORTED

トランザクションに関する操作で実行できる結合アクションの種別。

​JOIN_IF_POSSIBLE

Streaming Strategy (ストリーミング戦略)

反復可能ストリームを使用すべきかどうかを設定します。

Target Variable (対象変数)

String (文字列)

操作の出力を保存する変数の名前。

Target Value (対象値)

String (文字列)

操作の出力に対して評価される式。この式の結果が対象変数に保存されます。

#[payload]

Reconnection Strategy (再接続戦略)

接続エラーが発生した場合の再試行戦略。

#### [](#出力-2)出力

型

Binary (バイナリ)

### [](#次の設定の場合-4)次の設定の場合 - [デフォルト設定](#sap) #### [](#スロー-4)スロー - SAP:CONNECTIVITY - SAP:INVALID\_CACHE​ - SAP:INVALID\_INPUT​ - SAP:METADATA\_UNAVAILABLE​ - SAP:NOT\_FOUND​ - SAP:NOT\_SUPPORTED​ - SAP:PARSING - SAP:RETRY\_EXHAUSTED​ - SAP:SYSTEM\_BUSY​ - SAP:TIMEOUT ### [](#send)Send IDoc ​``​ RFC を介して IDoc を SAP に送信します。RFC は、IDoc の 2 つの種別のいずれかになります。 - トランザクション (tRFC): tRFC は、非同期リモート関数コール (aRFC) の特殊な形式です。トランザクション RFC は、元々独立して処理されていた処理ステップをトランザクションのように処理します。tRFC は、何らかのネットワークの問題でデータが複数回送信されても、コールされた関数モジュールを RFC サーバーで 1 回のみ実行する非同期通信方法です。RFC クライアントプログラムが tRFC を実行しているときにリモートシステムが使用できる状態になっている必要はありません。 tRFC コンポーネントは、コールされる RFC 関数および対応するデータを一意のトランザクション ID (TID) で SAP データベースに保存します。tRFC は、対象システムで待機しないという点で aRFC に似ています (書留郵便に似ている)。システムが使用できる状態でない場合、スケジューラー RSARFCSE によって選択され、60 秒ごとに実行されるトランザクション ID (SM58) でデータが aRFC テーブルに書き込まれます。 tRFC は、非同期 RFC の拡張機能として、システム間の通信を保護するのに最適です。 - キュー (qRFC): キュー RFC は、tRFC の拡張機能です。キュー RFC では、個々のステップが順番に処理されることも保証されます。複数の LUW (作業論理単位トランザクション) がアプリケーションで指定された順序で処理されることを保証するには、qRFC を使用します。インバウンドキューとアウトバウンドキューを使用して tRFC をシリアル化できるため、キュー RFC (qRFC) という名前になっています。 キュー (qRFC) は tRFC の拡張機能として、処理順序を定義するのに最適です。 複数のトランザクションを定義済みの順序で処理する場合、qRFC を実装します。 tRFC と qRFC の両方に TID ハンドラーがあります。 #### [](#パラメーター-8)パラメーター
名前 型 説明 デフォルト値 必須

Configuration (設定)

String (文字列)

使用する設定の名前。

x

IDoc Name (IDoc 名)

String (文字列)

実行する IDoc の名前。

x

Content (コンテンツ)

Binary (バイナリ)

実行する IDoc。

#[payload]

バージョン

String (文字列)

IDoc のバージョン。

Transaction Id (トランザクション ID)

String (文字列)

1 回のみ実行されるように RFC を識別する ID。

Queue Name (キュー名)

String (文字列)

RFC が実行されるキューの名前。処理される各 tRFC コールにはアプリケーションによりキュー名が与えられるため、これは qRFC に適用されます。qRFC トランザクションごとにキュー名とバージョンが必要です。

Transactional Action (トランザクションアクション)

Enumeration (列挙)。次のいずれかになります。

  • ALWAYS_JOIN​

  • JOIN_IF_POSSIBLE​

  • NOT_SUPPORTED

トランザクションに関する操作で実行できる結合アクションの種別。

​JOIN_IF_POSSIBLE

Reconnection Strategy (再接続戦略)

接続エラーが発生した場合の再試行戦略。

### [](#次の設定の場合-5)次の設定の場合 - [デフォルト設定](#sap) #### [](#スロー-5)スロー - SAP:CONNECTIVITY - SAP:INVALID\_CACHE​ - SAP:INVALID\_INPUT​ - SAP:METADATA\_UNAVAILABLE​ - SAP:NOT\_FOUND​ - SAP:NOT\_SUPPORTED​ - SAP:PARSING - SAP:RETRY\_EXHAUSTED​ - SAP:SYSTEM\_BUSY​ - SAP:TIMEOUT ### [](#startsaptransaction)Start SAP Transaction ​``​ future コールの一部として使用するトランザクション ID を作成します。 #### [](#パラメーター-9)パラメーター
名前 型 説明 デフォルト値 必須

Configuration (設定)

String (文字列)

使用する設定の名前。

x

Transactional Action (トランザクションアクション)

Enumeration (列挙)。次のいずれかになります。

  • ALWAYS_JOIN​

  • JOIN_IF_POSSIBLE​

  • NOT_SUPPORTED

トランザクションに関する操作で実行できる結合アクションの種別。

​JOIN_IF_POSSIBLE

Target Variable (対象変数)

String (文字列)

操作の出力を保存する変数の名前。

Target Value (対象値)

String (文字列)

操作の出力に対して評価される式。この式の結果が対象変数に保存されます。

#[payload]

Reconnection Strategy (再接続戦略)

接続エラーが発生した場合の再試行戦略。

#### [](#出力-3)出力

型

String (文字列)

### [](#次の設定の場合-6)次の設定の場合 - [デフォルト設定](#sap) #### [](#スロー-6)スロー - SAP:CONNECTIVITY - SAP:INVALID\_CACHE​ - SAP:INVALID\_INPUT​ - SAP:METADATA\_UNAVAILABLE​ - SAP:NOT\_FOUND​ - SAP:NOT\_SUPPORTED​ - SAP:PARSING - SAP:RETRY\_EXHAUSTED​ - SAP:SYSTEM\_BUSY​ - SAP:TIMEOUT ### [](#syncRfc)Synchronous Remote Function Call ​``​ 同期リモート関数コール (sRFC) を介して BAPIFunction を実行します。同期 RFC では、通信またはデータ転送時に両方のシステム (クライアントとサーバー) が使用できる状態になっていることが必要です。sRFC は、最も一般的な種別で、sRFC の実行直後に結果が求められる場合に使用されます。 sRFC は、肯定応答が必要なシステム間の通信手段です。 ソースシステムのリソースは、対象システムで待機して、ACKD でメッセージ/データが配信されることを確認します。通信データの整合性と信頼性は確保されます。 対象システムが使用できる状態になっていない場合、ソースシステムのリソースは対象システムが使用できる状態になるまで待機します。これにより、ソースシステムのプロセスが対象システムでスリープ/RFC/CPIC モードになり、これらのリソースがブロックされる可能性があります。 sRFC は、システム間の通信や、SAP Web アプリケーションサーバーと SAP GUI 間の通信で使用します。 #### [](#パラメーター-10)パラメーター
名前 型 説明 デフォルト値 必須

Configuration (設定)

String (文字列)

使用する設定の名前。

x

Function Name (関数名)

String (文字列)

実行する関数の名前。

x

Content (コンテンツ)

Binary (バイナリ)

実行する BAPIFunction。

#[payload]

Transactional Action (トランザクションアクション)

Enumeration (列挙)。次のいずれかになります。

  • ALWAYS_JOIN​

  • JOIN_IF_POSSIBLE​

  • NOT_SUPPORTED

トランザクションに関する操作で実行できる結合アクションの種別。

​JOIN_IF_POSSIBLE

Streaming Strategy (ストリーミング戦略)

反復可能ストリームを使用すべきかどうかを設定します。

Target Variable (対象変数)

String (文字列)

操作の出力を保存する変数の名前。

Target Value (対象値)

String (文字列)

操作の出力に対して評価される式。この式の結果が対象変数に保存されます。

#[payload]

Reconnection Strategy (再接続戦略)

接続エラーが発生した場合の再試行戦略。

#### [](#出力-4)出力

型

Binary (バイナリ)

### [](#次の設定の場合-7)次の設定の場合 - [デフォルト設定](#sap) #### [](#スロー-7)スロー - SAP:CONNECTIVITY - SAP:INVALID\_CACHE​ - SAP:INVALID\_INPUT​ - SAP:METADATA\_UNAVAILABLE​ - SAP:NOT\_FOUND​ - SAP:NOT\_SUPPORTED​ - SAP:PARSING - SAP:RETRY\_EXHAUSTED​ - SAP:SYSTEM\_BUSY​ - SAP:TIMEOUT ## [](#ソース-2)ソース ### [](#document-listener)Document Listener ​``​ 受信した IDoc をリスンするソース。 #### [](#パラメーター-11)パラメーター
名前 型 説明 デフォルト値 必須

Configuration (設定)

String (文字列)

使用する設定の名前。

x

Gateway Host (ゲートウェイホスト)

String (文字列)

ゲートウェイサーバーを実行するホストの名前。

x

Gateway Service (ゲートウェイサービス)

String (文字列)

SAP システムのゲートウェイサービスの名前またはサービスポート。

x

Program ID (プログラム ID)

String (文字列)

ゲートウェイに登録されている SAP システムプログラム ID。特定のゲートウェイで一意である必要があります。

x

Connection Count (接続数)

Number (数値)

ゲートウェイに登録する接続の数。

1

Idoc Type Filter Regex (Idoc 種別検索条件の正規表現)

String (文字列)

受信したすべての IDoc を種別で絞り込むための式。

Transactional Action (トランザクションアクション)

Enumeration (列挙)。次のいずれかになります。

  • ALWAYS_BEGIN​

  • None (なし)

ソースがトランザクションに関して実行できる開始アクションの種別。

None (なし)

トランザクション種別

Enumeration (列挙)。次のいずれかになります。

  • LOCAL

  • XA

作成するトランザクションの種別。使用できるかどうかは、Mule バージョンによって決まります。

LOCAL

Primary Node Only (プライマリノードのみ)

Boolean (ブール)

クラスターでの実行時、このソースをプライマリノード上でのみ実行する必要があるかどうか。

Streaming Strategy (ストリーミング戦略)

反復可能ストリームを使用すべきかどうかを設定します。

Redelivery Policy (再配信ポリシー)

同じメッセージの再配信を処理するためのポリシー。

Reconnection Strategy (再接続戦略)

接続エラーが発生した場合の再試行戦略。

#### [](#出力-5)出力

型

Binary (バイナリ)

Attributes Type (属性型)

### [](#次の設定の場合-8)次の設定の場合 - [デフォルト設定](#sap) ### [](#function-listener)Function Listener ​``​ 受信した BAPI 関数をリスンするソース。 #### [](#パラメーター-12)パラメーター
名前 型 説明 デフォルト値 必須

Configuration (設定)

String (文字列)

使用する設定の名前。

x

Gateway Host (ゲートウェイホスト)

String (文字列)

ゲートウェイサーバーを実行するホストの名前。

x

Gateway Service (ゲートウェイサービス)

String (文字列)

SAP システムのゲートウェイサービスの名前またはサービスポート。

x

Program ID (プログラム ID)

String (文字列)

ゲートウェイに登録されている SAP システムプログラム ID。特定のゲートウェイで一意である必要があります。

x

Connection Count (接続数)

Number (数値)

ゲートウェイに登録する接続の数。

1

Targeted Function (対象関数)

String (文字列)

受信した BAPI 関数を名前で絞り込みます。受信する関数の名前。

Transactional Action (トランザクションアクション)

Enumeration (列挙)。次のいずれかになります。

  • ALWAYS_BEGIN​

  • None (なし)

ソースがトランザクションに関して実行できる開始アクションの種別。

None (なし)

トランザクション種別

Enumeration (列挙)。次のいずれかになります。

  • LOCAL

  • XA

作成するトランザクションの種別。使用できるかどうかは、Mule バージョンによって決まります。

LOCAL

Primary Node Only (プライマリノードのみ)

Boolean (ブール)

クラスターでの実行時、このソースをプライマリノード上でのみ実行する必要があるかどうか。

Streaming Strategy (ストリーミング戦略)

反復可能ストリームを使用すべきかどうかを設定します。

Redelivery Policy (再配信ポリシー)

同じメッセージの再配信を処理するためのポリシーを定義します。

Reconnection Strategy (再接続戦略)

接続エラーが発生した場合の再試行戦略。

Response (応答)

Binary (バイナリ)

#[payload]

#### [](#出力-6)出力

型

Binary (バイナリ)

Attributes Type (属性型)

### [](#次の設定の場合-9)次の設定の場合 - [デフォルト設定](#sap) ## [](#型)型 ### [](#MessageServer)Message Server (メッセージサーバー)
項目 型 説明 デフォルト値 必須

Host (ホスト)

String (文字列)

メッセージサーバーのホスト。

x

System Id (システム ID)

String (文字列)

SAP システムのシステム ID。

x

Port (ポート)

Number (数値)

コネクタがメッセージサーバーにログインするポート。

Group (グループ)

String (文字列)

SAP アプリケーションサーバーのグループ。

Router (ルーター)

String (文字列)

ファイアウォールによって保護されるシステムに使用する SAP ルーター文字列。

### [](#Reconnection)Reconnection (再接続)
項目 型 説明 デフォルト値 必須

Fails Deployment (デプロイに失敗)

Boolean (ブール)

アプリケーションがデプロイされると、すべてのコネクタで接続テストが実行されます。​true​ に設定されている場合、関連する再接続戦略をすべて実行した後にテストに合格しないと、デプロイが失敗します。

Reconnection Strategy (再接続戦略)

使用する再接続戦略。

### [](#reconnect)Reconnect (再接続)
項目 型 説明 デフォルト値 必須

Frequency (頻度)

Number (数値)

再接続する頻度 (ミリ秒)。

Count (数)

Number (数値)

再接続の試行回数。

blocking (ブロック)

Boolean (ブール)

false​ の場合、再接続戦略が個別の非ブロックスレッドで実行されます。

true

### [](#reconnect-forever)Reconnect Forever (繰り返し再接続)
項目 型 説明 デフォルト値 必須

Frequency (頻度)

Number (数値)

再接続する頻度 (ミリ秒)。

blocking (ブロック)

Boolean (ブール)

false​ の場合、再接続戦略が個別の非ブロックスレッドで実行されます。

true

### [](#ExpirationPolicy)Expiration Policy (有効期限ポリシー)
項目 型 説明 デフォルト値 必須

Max Idle Time (最大アイドル時間)

Number (数値)

有効期限の対象とみなされるまで、動的設定インスタンスがアイドル状態を維持できる最大時間のスカラー時間値。

Time Unit (時間単位)

Enumeration (列挙)。次のいずれかになります。

  • NANOSECONDS (ナノ秒)

  • MICROSECONDS (マイクロ秒)

  • MILLISECONDS (ミリ秒)

  • SECONDS (秒)

  • MINUTES (分)

  • HOURS (時間)

  • DAYS (日)

maxIdleTime 属性の時間単位。

### [](#SapAttributes)SAP Attributes (SAP 属性)
項目 型 説明 デフォルト値 必須

Transaction Id (トランザクション ID)

String (文字列)

トランザクション ID の値。

### [](#repeatable-in-memory-stream)Repeatable In Memory Stream (反復可能なメモリ内ストリーム)
項目 型 説明 デフォルト値 必須

Initial Buffer Size (初期バッファサイズ)

Number (数値)

ストリームをコンシュームしてランダムにアクセスするために割り当てられるメモリ量。ストリームのデータ量がこのバッファサイズを超える場合は、​[Buffer Size Increment (バッファサイズ増分)]​ に従って、​[Max Buffer Size (最大バッファサイズ)]​ を上限としてバッファが拡張されます。

Buffer Size Increment (バッファサイズ増分)

Number (数値)

バッファサイズが初期サイズを超えた場合に、どれだけ拡張するか。値を 0 以下に設定すると、バッファが拡張されません。つまり、バッファがフルになると、​STREAM_MAXIMUM_SIZE_EXCEEDED​ エラーが発生します。

Max Buffer Size (最大バッファサイズ)

Number (数値)

使用するメモリの最大量。これを超えると、​STREAM_MAXIMUM_SIZE_EXCEEDED​ エラーが発生します。0 以下の値は無制限を意味します。

Buffer Unit (バッファ単位)

Enumeration (列挙)。次のいずれかになります。

  • BYTE (バイト)

  • KB

  • MB

  • GB

これらのすべての属性の単位。

### [](#repeatable-file-store-stream)Repeatable File Store Stream (反復可能なファイルストアストリーム)
項目 型 説明 デフォルト値 必須

In Memory Size (メモリ内サイズ)

Number (数値)

データをメモリ内に保持するためにストリームで使用する最大メモリを定義します。これを超えると、ディスクのコンテンツがバッファされます。

Buffer Unit (バッファ単位)

Enumeration (列挙)。次のいずれかになります。

  • BYTE (バイト)

  • KB

  • MB

  • GB

maxInMemorySize で表される単位。

### [](#RedeliveryPolicy)Redelivery Policy (再配信ポリシー)
項目 型 説明 デフォルト値 必須

Max Redelivery Count (最大再配信数)

Number (数値)

正常に処理されずにプロセス失敗メッセージがトリガーされるまでにメッセージを再配信できる最大回数。

Use Secure Hash (セキュアハッシュを使用)

Boolean (ブール)

再配信されたメッセージの識別にセキュアハッシュアルゴリズムを使用するかどうか。

Message Digest Algorithm (メッセージダイジェストアルゴリズム)

String (文字列)

使用するセキュアハッシュアルゴリズム。設定しない場合、デフォルトの SHA-256 になります。

Id Expression (ID 式)

String (文字列)

メッセージがいつ再配信されたのかを判断するために使用する 1 つ以上の式を定義します。このプロパティは、useSecureHash が ​false​ の場合にのみ設定できます。

Object Store (オブジェクトストア)

Object Store (オブジェクトストア)

各メッセージの再配信カウンターが保存されるオブジェクトストア。

## [](#関連情報)関連情報 [MuleSoft ヘルプセンター](https://help.mulesoft.com) # SAP セキュアネットワークコミュニケーション接続の設定 SAP セキュアネットワークコミュニケーション (SNC) を設定し、SAP システムのクライアントとサーバー間のセキュアなデータ通信、アプリケーションレベルのエンドツーエンドセキュリティ、SAP ビジネスアプリケーションに影響を与えずにセキュリティ商品を変更する機能など、セキュリティ機能を利用します。SNC を有効にするには、クライアント環境、SAP サーバー、SAP 用 Anypoint Connector (SAP Connector) を設定する必要があります。 ## [](#前提条件)前提条件 SAP SNC を設定するには、以下にアクセスできる必要があります。 - SAP GUI アプリケーション。​[MuleSoft SAP リソースセンター](https://sites.google.com/a/mulesoft.com/sap/abc/libs-tools?authuser=0)からダウンロードできます。 - SAPCAR ユーティリティおよび SAP 暗号ライブラリ。S ユーザーであれば、これらを SAP サポートポータルからダウンロードできます。 - SNC システム変数を使用できる SAP ECC インスタンス - 次のトランザクション - `STRUST`​ (トラストマネージャー) - `SM30`​ (テーブルメンテナンス) ## [](#クライアント環境の設定)クライアント環境の設定 使用しているオペレーティングシステムに依存するシステム変数を設定し、パーソナルセキュリティ環境 (PSE) を生成します。 1. Windows コマンドラインまたは Mac ターミナルアプリケーションを開きます。 2. `SAPCAR`​ ユーティリティを使用して、SAP 暗号ライブラリを、指定したフォルダーに展開します。 `SAPCAR –xvf `​ 3. 次の環境変数を設定します。 - SNC\_LIB​: `\sapcrypto.dll`​ - SECUDIR: ``​ - LD\_LIBRARY\_PATH​: `\sapcrypto.dll`​ - SSF\_LIBRARY\_PATH​: `\sapcrypto.dll`​ Windows の場合、​`sapcrypto.dll`​ の 64 ビットバージョンは異なるパスにあり、​`SNC_LIB_64`​ という新しい変数に追加されています。 ![Windows 変数 SNC\_LIB\_64](/mulesoft/current/ja-jp/sap-connector/5.1/_images/sap-connector-windows-variable.png) 4. `sapgenpse`​ ツールを使用して、PSE を作成します。 `sapgenpse gen_pse -v -p RFC.pse`​ このコマンドを実行する場合、後で使用する PIN と、一意である必要がある識別名を入力する必要があります。たとえば、次のような識別名を入力できます。 `CN=RFC, C=AR, O=YourCompany, OU=IT`​ すでに使用されている名前を表示するには、STRUST を使用できます。 5. `sapgenpse`​ ツールを使用して、PSE にアクセスするためのログイン情報を保存する ​`cred_v2`​ ファイルを作成します。 `sapgenpse seclogin -p RFC -O `​ 6. `sapgenpse`​ ツールを使用して、PSE からクライアントの証明書をエクスポートします。 `sapgenpse –v –p RFC –o RFC_MULE.crt`​ ## [](#sap-サーバーの設定)SAP サーバーの設定 識別名での SNC の使用を認証する証明書とテーブルを設定します。SAP サーバーを設定する手順は、次のとおりです。 1. SAP 識別名と証明書を表示します。 2. SAP 証明書を自分の証明書にリンクします。 3. SAP で SNC クライアントを認証します。 ### [](#sap-識別名と証明書の表示)SAP 識別名と証明書の表示 SAP 識別名と証明書のリストを表示します。 1. SAP GUI にログインして、​`strust`​ トランザクションを入力します。 2. 左側のペインで ​**\[SNC SAPCryptolib\]**​ フォルダーを選択します。 SAP 識別名と証明書リストが表示されます。 ### [](#自分の証明書への-sap-証明書のリンク)自分の証明書への SAP 証明書のリンク SAP インスタンス証明書をダウンロードして自分の証明書にリンクします。 1. 眼鏡アイコン (画面の左側にある最初のアイコン) をクリックしてエディションモードを有効にした後、​`CN=SL-ABAP-IDP`​ をダブルクリックします。 2. 画面の一番下にあるダウンロードボタンをクリックして、ダウンロードの対象パスを入力します。 3. インポートアイコンをクリックして、自分の証明書をアップロードするための対象パスを入力します。 4. **\[Add to Certificate List (証明書一覧に追加)\]**​ をクリックして、保存アイコンをクリックします。 5. コマンドラインインターフェースまたはターミナルウィンドウを開き、​`sapgenpse`​ ツールを使用して自分の証明書を PSE にリンクします。 `sapgenpse maintain_pk -v -a -p `​ 次の例では、​`IDE.crt`​ という証明書を ​`RFC.pse`​ という PSE にリンクしています。 ![「IDE.crt」を「RFC.pse」にリンクする](/mulesoft/current/ja-jp/sap-connector/5.1/_images/sap-connector-import-certificate.png) ### [](#sap-での-snc-クライアントの認証)SAP での SNC クライアントの認証 `VSNCSYSACL`​ ビューに新しいエントリを追加し、識別名で SNC を使用できるようにします。 1. SAP GUI で ​**SM30**​ トランザクションに移動し、​`VSNCSYSACL`​ をビュー名として入力します。 2. **\[Maintain (保守)\]**​ をクリックします。 3. 作業領域として ​**\[E\]**​ を選択します。 4. **\[System ID (システム ID)\]**​ 項目に SAP ID を入力します。 5. **\[SNC name (SNC 名)\]**​ 項目に識別名を入力します: `p:`​ 6. すべてのチェックボックスを選択してエントリをアクティブ化します。 7. 保存アイコンをクリックします。 - サーバーが SNC 名を受け入れると、​`Canonical Name Determined`​ メッセージが SNC データボックスに表示されます。 - サーバーが SNC 名を受け入れない場合は、PSE ファイルで使用されている名前が、Mule アプリケーションで使用されている名前および STRUST でリストされている名前と同じであることを確認します。 8. Mule アプリケーションで SAP ユーザーを有効にして、アプリケーションで SNC 接続種別を使用できるようにします。 1. **SM30**​ トランザクションに移動して、​`VUSREXTID`​ ビューを指定し、​**\[Maintain (保守)\]**​ をクリックします。 2. **\[External ID type (外部 ID 種別)\]**​ 項目で、作業領域として ​`DN`​ を選択します。 3. **\[External ID (外部 ID)\]**​ 項目に識別名を入力します。 4. **\[User (ユーザー)\]**​ 項目に SAP ユーザー名を入力します。 5. **\[Activated (アクティブ化)\]**​ を選択します。 6. 保存アイコンをクリックします。 ## [](#sap-connector-の設定)SAP Connector の設定 SNC を有効にするよう SAP Connector を設定する手順は、次のとおりです。 1. Anypoint Studio にアクセスします。 2. Studio キャンバスで ​**\[SAP\]**​ を選択します。 3. **\[Connector configuration (コネクタ設定)\]**​ 項目の横にあるプラス記号 (+) をクリックし、グローバル要素設定項目にアクセスします。 4. 接続種別を設定します。 簡単な接続の場合は、次の手順を実行します。 1. **\[Connection (接続)\]**​ 項目で ​`Simple connection provider`​ を選択します。 2. **\[General (一般)\]**​ タブで、次の項目を設定します。 - **Username (ユーザー名)**​ - **Password (パスワード)**​ - **SAP system number (SAP システム番号)**​ - **SAP client ID (SAP クライアント ID)**​ - **Application server host (アプリケーションサーバーホスト)** 3. **\[Advanced (詳細)\]**​ タブで、拡張プロパティを設定します。 X.509 証明書接続の場合は、次の手順を実行します。 1. **\[Connection (接続)\]**​ 項目で ​`Certificate`​ を選択します。 2. **\[General (一般)\]**​ タブで、次の項目を設定します。 - **X.509 Certificate (X.509 証明書)**​ (Base64 でのエンコードなし) - **Sap client ID (SAP クライアント ID)**​ - **Application server host (アプリケーションサーバーホスト)**​ 3. **\[Advanced (詳細)\]**​ タブで、拡張プロパティを設定します。 ### [](#sap-サーバー側の拡張プロパティの例)SAP サーバー側の拡張プロパティの例 次の表にサーバー側の拡張プロパティの値の例を示します。
プロパティ 値の例。

jco.server.snc_mode

1​

jco.server.snc_partnername

p:CN=SL-ABAP-IDP​

jco.server.snc_qop

8​

jco.server.snc_myname

p:CN=MVIDP, C=AR, O=MuleSoft, OU=IT​

jco.server.snc_lib

C:/SNC/64bit/sapcrypto.dll​

### [](#sap-クライアント側の拡張プロパティの例)SAP クライアント側の拡張プロパティの例 次の表にクライアント側の拡張プロパティの値の例を示します。
プロパティ 値の例。

jco.server.snc_mode

1

jco.server.snc_partnername

p:CN=SL-ABAP-IDP)

jco.server.snc_qop

8

jco.server.snc_myname

p:CN=MVIDP, C=AR, O=MuleSoft, OU=IT​

jco.server.snc_lib

C:/SNC/64bit/sapcrypto.dll​

jco.client.x509cert

​ABCD12EFG​

# SAP セキュアネットワークコミュニケーション接続の設定 SAP セキュアネットワークコミュニケーション (SNC) を設定し、SAP システムのクライアントとサーバー間のセキュアなデータ通信、アプリケーションレベルのエンドツーエンドセキュリティ、SAP ビジネスアプリケーションに影響を与えずにセキュリティ商品を変更する機能など、セキュリティ機能を利用します。SNC を有効にするには、クライアント環境、SAP サーバー、SAP 用 Anypoint Connector (SAP Connector) を設定する必要があります。 ## [](#始める前に)始める前に SAP SNC を設定するには、以下にアクセスできる必要があります。 - SAP GUI アプリケーション。このクライアントをインストールするには、すでに Java がマシンにインストールされている必要があります。次に、SAP から OS に合ったインストーラーをダウンロードします。 - SAPCAR ユーティリティおよび SAP 暗号ライブラリ。S ユーザーであれば、これらを SAP サポートポータルからダウンロードできます。 - SNC システム変数を使用できる SAP ECC インスタンス - 次のトランザクション - `STRUST`​ (トラストマネージャー) - `SM30`​ (テーブルメンテナンス) ## [](#クライアント環境の設定)クライアント環境の設定 使用しているオペレーティングシステムに依存するシステム変数を設定し、パーソナルセキュリティ環境 (PSE) を生成します。 1. Windows コマンドラインまたは Mac ターミナルアプリケーションを開きます。 2. `SAPCAR`​ ユーティリティを使用して、SAP 暗号ライブラリを、指定したフォルダーに展開します。 `SAPCAR -xvf ` 3. 次の環境変数を設定します。 - SNC\_LIB​: `\sapcrypto.dll` - SECUDIR: `` - LD\_LIBRARY\_PATH​: `\sapcrypto.dll` - SSF\_LIBRARY\_PATH​: `\sapcrypto.dll` Windows の場合、​`sapcrypto.dll`​ の 64 ビットバージョンは異なるパスにあり、​`SNC_LIB_64`​ という新しい変数に追加されています。 ![Windows 変数 SNC\_LIB\_64](/mulesoft/current/ja-jp/sap-connector/5.3/_images/sap-connector-windows-variable.png) 4. `sapgenpse`​ ツールを使用して、PSE を作成します。 `sapgenpse gen_pse -v -p RFC.pse` このコマンドを実行する場合、後で使用する PIN と、一意である必要がある識別名を入力する必要があります。たとえば、次のような識別名を入力できます。 `CN=RFC, C=AR, O=YourCompany, OU=IT` すでに使用されている名前を表示するには、STRUST を使用できます。 5. `sapgenpse`​ ツールを使用して、PSE にアクセスするためのログイン情報を保存する ​`cred_v2`​ ファイルを作成します。 `sapgenpse seclogin -p RFC -O ` 6. `sapgenpse`​ ツールを使用して、PSE からクライアントの証明書をエクスポートします。 `sapgenpse -v -p RFC -o RFC_MULE.crt` ## [](#sap-サーバーの設定)SAP サーバーの設定 識別名での SNC の使用を認証する証明書とテーブルを設定します。SAP サーバーを設定する手順は、次のとおりです。 1. SAP 識別名と証明書を表示します。 2. SAP 証明書を自分の証明書にリンクします。 3. SAP で SNC クライアントを認証します。 ### [](#sap-識別名と証明書の表示)SAP 識別名と証明書の表示 SAP 識別名と証明書のリストを表示します。 1. SAP GUI にログインして、​`strust`​ トランザクションを入力します。 2. 左側のペインで ​**\[SNC SAPCryptolib\]**​ フォルダーを選択します。 SAP 識別名と証明書リストが表示されます。 ### [](#自分の証明書への-sap-証明書のリンク)自分の証明書への SAP 証明書のリンク SAP インスタンス証明書をダウンロードして自分の証明書にリンクします。 1. 眼鏡アイコン (画面の左側にある最初のアイコン) をクリックしてエディションモードを有効にした後、​`CN=SL-ABAP-IDP`​ をダブルクリックします。 2. 画面の一番下にあるダウンロードボタンをクリックして、ダウンロードの対象パスを入力します。 3. インポートアイコンをクリックして、自分の証明書をアップロードするための対象パスを入力します。 4. **\[Add to Certificate List (証明書一覧に追加)\]**​ をクリックして、保存アイコンをクリックします。 5. コマンドラインインターフェースまたはターミナルウィンドウを開き、​`sapgenpse`​ ツールを使用して自分の証明書を PSE にリンクします。 `sapgenpse maintain_pk -v -a -p ` 次の例では、​`IDE.crt`​ という証明書を ​`RFC.pse`​ という PSE にリンクしています。 ![「IDE.crt」を「RFC.pse」にリンクする](/mulesoft/current/ja-jp/sap-connector/5.3/_images/sap-connector-import-certificate.png) ### [](#sap-での-snc-クライアントの認証)SAP での SNC クライアントの認証 `VSNCSYSACL`​ ビューに新しいエントリを追加し、識別名で SNC を使用できるようにします。 1. SAP GUI で ​**SM30**​ トランザクションに移動し、​`VSNCSYSACL`​ をビュー名として入力します。 2. **\[Maintain (保守)\]**​ をクリックします。 3. 作業領域として ​**\[E\]**​ を選択します。 4. **\[System ID (システム ID)\]**​ 項目に SAP ID を入力します。 5. **\[SNC name (SNC 名)\]**​ 項目に識別名を入力します: `p:` 6. すべてのチェックボックスを選択してエントリをアクティブ化します。 7. 保存アイコンをクリックします。 - サーバーが SNC 名を受け入れると、​`Canonical Name Determined`​ メッセージが SNC データボックスに表示されます。 - サーバーが SNC 名を受け入れない場合は、PSE ファイルで使用されている名前が、Mule アプリケーションで使用されている名前および STRUST でリストされている名前と同じであることを確認します。 8. Mule アプリケーションで SAP ユーザーを有効にして、アプリケーションで SNC 接続種別を使用できるようにします。 1. **SM30**​ トランザクションに移動して、​`VUSREXTID`​ ビューを指定し、​**\[Maintain (保守)\]**​ をクリックします。 2. **\[External ID type (外部 ID 種別)\]**​ 項目で、作業領域として ​`DN`​ を選択します。 3. **\[External ID (外部 ID)\]**​ 項目に識別名を入力します。 4. **\[User (ユーザー)\]**​ 項目に SAP ユーザー名を入力します。 5. **\[Activated (アクティブ化)\]**​ を選択します。 6. 保存アイコンをクリックします。 ## [](#sap-connector-の設定)SAP Connector の設定 SNC を有効にするよう SAP Connector を設定する手順は、次のとおりです。 1. Anypoint Studio にアクセスします。 2. Studio キャンバスで ​**\[SAP\]**​ を選択します。 3. **\[Connector configuration (コネクタ設定)\]**​ 項目の横にあるプラス記号 (+) をクリックし、グローバル要素設定項目にアクセスします。 4. 接続種別を設定します。 簡単な接続の場合は、次の手順を実行します。 1. **\[Connection (接続)\]**​ 項目で ​`Simple connection provider`​ を選択します。 2. **\[General (一般)\]**​ タブで、次の項目を設定します。 - **Username (ユーザー名)** - **Password (パスワード)** - **SAP system number (SAP システム番号)** - **SAP client ID (SAP クライアント ID)** - **Application server host (アプリケーションサーバーホスト)** 3. **\[Advanced (詳細)\]**​ タブで、拡張プロパティを設定します。 X.509 証明書接続の場合は、次の手順を実行します。 1. **\[Connection (接続)\]**​ 項目で ​`Certificate`​ を選択します。 2. **\[General (一般)\]**​ タブで、次の項目を設定します。 - **X.509 Certificate (X.509 証明書)**​ (Base64 でのエンコードなし) - **Sap client ID (SAP クライアント ID)** - **Application server host (アプリケーションサーバーホスト)** 3. **\[Advanced (詳細)\]**​ タブで、拡張プロパティを設定します。 ### [](#sap-サーバー側の拡張プロパティの例)SAP サーバー側の拡張プロパティの例 次の表にサーバー側の拡張プロパティの値の例を示します。
プロパティ 値の例

jco.server.snc_mode

1

jco.server.snc_partnername

p:CN=SL-ABAP-IDP

jco.server.snc_qop

8

jco.server.snc_myname

p:CN=MVIDP, C=AR, O=MuleSoft, OU=IT

jco.server.snc_lib

C:/SNC/64bit/sapcrypto.dll

### [](#sap-クライアント側の拡張プロパティの例)SAP クライアント側の拡張プロパティの例 次の表にクライアント側の拡張プロパティの値の例を示します。
プロパティ 値の例

jco.client.snc_mode

1

jco.client.snc_partnername

p:CN=SL-ABAP-IDP

jco.client.snc_qop

8

jco.client.snc_myname

p:CN=MVIDP, C=AR, O=MuleSoft, OU=IT

jco.client.snc_lib

C:/SNC/64bit/sapcrypto.dll

jco.client.x509cert

ABCD12EFG

## [](#関連情報)関連情報 - [Anypoint Connector の概要](https://docs.mulesoft.com/connectors/introduction/introduction-to-anypoint-connectors) - [MuleSoft ヘルプセンター](https://help.mulesoft.com) # SAP セキュアネットワークコミュニケーション接続の設定 SAP セキュアネットワークコミュニケーション (SNC) を設定し、SAP システムのクライアントとサーバー間のセキュアなデータ通信、アプリケーションレベルのエンドツーエンドセキュリティ、SAP ビジネスアプリケーションに影響を与えずにセキュリティ商品を変更する機能など、セキュリティ機能を利用します。SNC を有効にするには、クライアント環境、SAP サーバー、SAP 用 Anypoint Connector (SAP Connector) を設定する必要があります。 ## [](#始める前に)始める前に SAP SNC を設定するには、以下にアクセスできる必要があります。 - SAP GUI アプリケーション。このクライアントをインストールするには、すでに Java がマシンにインストールされている必要があります。次に、SAP から OS に合ったインストーラーをダウンロードします。 - SAPCAR ユーティリティおよび SAP 暗号ライブラリ。S ユーザーであれば、これらを SAP サポートポータルからダウンロードできます。 - SNC システム変数を使用できる SAP ECC インスタンス - 次のトランザクション - `STRUST`​ (トラストマネージャー) - `SM30`​ (テーブルメンテナンス) ## [](#クライアント環境の設定)クライアント環境の設定 使用しているオペレーティングシステムに依存するシステム変数を設定し、パーソナルセキュリティ環境 (PSE) を生成します。 1. Windows コマンドラインまたは Mac ターミナルアプリケーションを開きます。 2. `SAPCAR`​ ユーティリティを使用して、SAP 暗号ライブラリを、指定したフォルダーに展開します。 `SAPCAR -xvf ` 3. 次の環境変数を設定します。 - SNC\_LIB​: `\sapcrypto.dll` - SECUDIR: `` - LD\_LIBRARY\_PATH​: `\sapcrypto.dll` - SSF\_LIBRARY\_PATH​: `\sapcrypto.dll` Windows の場合、​`sapcrypto.dll`​ の 64 ビットバージョンは異なるパスにあり、​`SNC_LIB_64`​ という新しい変数に追加されています。 ![Windows 変数 SNC\_LIB\_64](/mulesoft/current/ja-jp/sap-connector/5.5/_images/sap-connector-windows-variable.png) 4. `sapgenpse`​ ツールを使用して、PSE を作成します。 `sapgenpse gen_pse -v -p RFC.pse` このコマンドを実行する場合、後で使用する PIN と、一意である必要がある識別名を入力する必要があります。たとえば、次のような識別名を入力できます。 `CN=RFC, C=AR, O=YourCompany, OU=IT` すでに使用されている名前を表示するには、STRUST を使用できます。 5. `sapgenpse`​ ツールを使用して、PSE にアクセスするためのログイン情報を保存する ​`cred_v2`​ ファイルを作成します。 `sapgenpse seclogin -p RFC -O ` 6. `sapgenpse`​ ツールを使用して、PSE からクライアントの証明書をエクスポートします。 `sapgenpse -v -p RFC -o RFC_MULE.crt` ## [](#sap-サーバーの設定)SAP サーバーの設定 識別名での SNC の使用を認証する証明書とテーブルを設定します。SAP サーバーを設定する手順は、次のとおりです。 1. SAP 識別名と証明書を表示します。 2. SAP 証明書を自分の証明書にリンクします。 3. SAP で SNC クライアントを認証します。 ### [](#sap-識別名と証明書の表示)SAP 識別名と証明書の表示 SAP 識別名と証明書のリストを表示します。 1. SAP GUI にログインして、​`strust`​ トランザクションを入力します。 2. 左側のペインで ​**\[SNC SAPCryptolib\]**​ フォルダーを選択します。 SAP 識別名と証明書リストが表示されます。 ### [](#自分の証明書への-sap-証明書のリンク)自分の証明書への SAP 証明書のリンク SAP インスタンス証明書をダウンロードして自分の証明書にリンクします。 1. 眼鏡アイコン (画面の左側にある最初のアイコン) をクリックしてエディションモードを有効にした後、​`CN=SL-ABAP-IDP`​ をダブルクリックします。 2. 画面の一番下にあるダウンロードボタンをクリックして、ダウンロードの対象パスを入力します。 3. インポートアイコンをクリックして、自分の証明書をアップロードするための対象パスを入力します。 4. **\[Add to Certificate List (証明書一覧に追加)\]**​ をクリックして、保存アイコンをクリックします。 5. コマンドラインインターフェースまたはターミナルウィンドウを開き、​`sapgenpse`​ ツールを使用して自分の証明書を PSE にリンクします。 `sapgenpse maintain_pk -v -a -p ` 次の例では、​`IDE.crt`​ という証明書を ​`RFC.pse`​ という PSE にリンクしています。 ![「IDE.crt」を「RFC.pse」にリンクする](/mulesoft/current/ja-jp/sap-connector/5.5/_images/sap-connector-import-certificate.png) ### [](#sap-での-snc-クライアントの認証)SAP での SNC クライアントの認証 `VSNCSYSACL`​ ビューに新しいエントリを追加し、識別名で SNC を使用できるようにします。 1. SAP GUI で ​**SM30**​ トランザクションに移動し、​`VSNCSYSACL`​ をビュー名として入力します。 2. **\[Maintain (保守)\]**​ をクリックします。 3. 作業領域として ​**\[E\]**​ を選択します。 4. **\[System ID (システム ID)\]**​ 項目に SAP ID を入力します。 5. **\[SNC name (SNC 名)\]**​ 項目に識別名を入力します: `p:` 6. すべてのチェックボックスを選択してエントリをアクティブ化します。 7. 保存アイコンをクリックします。 - サーバーが SNC 名を受け入れると、​`Canonical Name Determined`​ メッセージが SNC データボックスに表示されます。 - サーバーが SNC 名を受け入れない場合は、PSE ファイルで使用されている名前が、Mule アプリケーションで使用されている名前および STRUST でリストされている名前と同じであることを確認します。 8. Mule アプリケーションで SAP ユーザーを有効にして、アプリケーションで SNC 接続種別を使用できるようにします。 1. **SM30**​ トランザクションに移動して、​`VUSREXTID`​ ビューを指定し、​**\[Maintain (保守)\]**​ をクリックします。 2. **\[External ID type (外部 ID 種別)\]**​ 項目で、作業領域として ​`DN`​ を選択します。 3. **\[External ID (外部 ID)\]**​ 項目に識別名を入力します。 4. **\[User (ユーザー)\]**​ 項目に SAP ユーザー名を入力します。 5. **\[Activated (アクティブ化)\]**​ を選択します。 6. 保存アイコンをクリックします。 ## [](#sap-connector-の設定)SAP Connector の設定 SNC を有効にするよう SAP Connector を設定する手順は、次のとおりです。 1. Anypoint Studio にアクセスします。 2. Studio キャンバスで ​**\[SAP\]**​ を選択します。 3. **\[Connector configuration (コネクタ設定)\]**​ 項目の横にあるプラス記号 (+) をクリックし、グローバル要素設定項目にアクセスします。 4. 接続種別を設定します。 簡単な接続の場合は、次の手順を実行します。 1. **\[Connection (接続)\]**​ 項目で ​`Simple connection provider`​ を選択します。 2. **\[General (一般)\]**​ タブで、次の項目を設定します。 - **Username (ユーザー名)** - **Password (パスワード)** - **SAP system number (SAP システム番号)** - **SAP client ID (SAP クライアント ID)** - **Application server host (アプリケーションサーバーホスト)** 3. **\[Advanced (詳細)\]**​ タブで、拡張プロパティを設定します。 X.509 証明書接続の場合は、次の手順を実行します。 1. **\[Connection (接続)\]**​ 項目で ​`Certificate`​ を選択します。 2. **\[General (一般)\]**​ タブで、次の項目を設定します。 - **X.509 Certificate (X.509 証明書)**​ (Base64 でのエンコードなし) - **Sap client ID (SAP クライアント ID)** - **Application server host (アプリケーションサーバーホスト)** 3. **\[Advanced (詳細)\]**​ タブで、拡張プロパティを設定します。 ### [](#sap-サーバー側の拡張プロパティの例)SAP サーバー側の拡張プロパティの例 次の表にサーバー側の拡張プロパティの値の例を示します。
プロパティ 値の例

jco.server.snc_mode

1

jco.server.snc_partnername

p:CN=SL-ABAP-IDP

jco.server.snc_qop

8

jco.server.snc_myname

p:CN=MVIDP, C=AR, O=MuleSoft, OU=IT

jco.server.snc_lib

C:/SNC/64bit/sapcrypto.dll

### [](#sap-クライアント側の拡張プロパティの例)SAP クライアント側の拡張プロパティの例 次の表にクライアント側の拡張プロパティの値の例を示します。
プロパティ 値の例

jco.client.snc_mode

1

jco.client.snc_partnername

p:CN=SL-ABAP-IDP

jco.client.snc_qop

8

jco.client.snc_myname

p:CN=MVIDP, C=AR, O=MuleSoft, OU=IT

jco.client.snc_lib

C:/SNC/64bit/sapcrypto.dll

jco.client.x509cert

ABCD12EFG

## [](#関連情報)関連情報 - [Anypoint Connector の概要](https://docs.mulesoft.com/connectors/introduction/introduction-to-anypoint-connectors) - [MuleSoft ヘルプセンター](https://help.mulesoft.com) # SAP セキュアネットワークコミュニケーション接続の設定 SAP セキュアネットワークコミュニケーション (SNC) を設定し、SAP システムのクライアントとサーバー間のセキュアなデータ通信、アプリケーションレベルのエンドツーエンドセキュリティ、SAP ビジネスアプリケーションに影響を与えずにセキュリティ商品を変更する機能など、セキュリティ機能を利用します。SNC を有効にするには、クライアント環境、SAP サーバー、SAP 用 Anypoint Connector (SAP Connector) を設定する必要があります。 ## [](#始める前に)始める前に SAP SNC を設定するには、以下にアクセスできる必要があります。 - SAP GUI アプリケーション。このクライアントをインストールするには、すでに Java がマシンにインストールされている必要があります。次に、SAP から OS に合ったインストーラーをダウンロードします。 - SAPCAR ユーティリティおよび SAP 暗号ライブラリ。S ユーザーであれば、これらを SAP サポートポータルからダウンロードできます。 - SNC システム変数を使用できる SAP ECC インスタンス - 次のトランザクション - `STRUST`​ (トラストマネージャー) - `SM30`​ (テーブルメンテナンス) ## [](#クライアント環境の設定)クライアント環境の設定 使用しているオペレーティングシステムに依存するシステム変数を設定し、パーソナルセキュリティ環境 (PSE) を生成します。 1. Windows コマンドラインまたは Mac ターミナルアプリケーションを開きます。 2. `SAPCAR`​ ユーティリティを使用して、SAP 暗号ライブラリを、指定したフォルダーに展開します。 `SAPCAR -xvf ` 3. 次の環境変数を設定します。 - SNC\_LIB​: `\sapcrypto.dll` - SECUDIR: `` - LD\_LIBRARY\_PATH​: `\sapcrypto.dll` - SSF\_LIBRARY\_PATH​: `\sapcrypto.dll` Windows の場合、​`sapcrypto.dll`​ の 64 ビットバージョンは異なるパスにあり、​`SNC_LIB_64`​ という新しい変数に追加されています。 ![Windows 変数 SNC\_LIB\_64](/mulesoft/current/ja-jp/sap-connector/5.6/_images/sap-connector-windows-variable.png) 4. `sapgenpse`​ ツールを使用して、PSE を作成します。 `sapgenpse gen_pse -v -p RFC.pse` このコマンドを実行する場合、後で使用する PIN と、一意である必要がある識別名を入力する必要があります。たとえば、次のような識別名を入力できます。 `CN=RFC, C=AR, O=YourCompany, OU=IT` すでに使用されている名前を表示するには、STRUST を使用できます。 5. `sapgenpse`​ ツールを使用して、PSE にアクセスするためのログイン情報を保存する ​`cred_v2`​ ファイルを作成します。 `sapgenpse seclogin -p RFC -O ` 6. `sapgenpse`​ ツールを使用して、PSE からクライアントの証明書をエクスポートします。 `sapgenpse -v -p RFC -o RFC_MULE.crt` ## [](#sap-サーバーの設定)SAP サーバーの設定 識別名での SNC の使用を認証する証明書とテーブルを設定します。SAP サーバーを設定する手順は、次のとおりです。 1. SAP 識別名と証明書を表示します。 2. SAP 証明書を自分の証明書にリンクします。 3. SAP で SNC クライアントを認証します。 ### [](#sap-識別名と証明書の表示)SAP 識別名と証明書の表示 SAP 識別名と証明書のリストを表示します。 1. SAP GUI にログインして、​`strust`​ トランザクションを入力します。 2. 左側のペインで ​**\[SNC SAPCryptolib\]**​ フォルダーを選択します。 SAP 識別名と証明書リストが表示されます。 ### [](#自分の証明書への-sap-証明書のリンク)自分の証明書への SAP 証明書のリンク SAP インスタンス証明書をダウンロードして自分の証明書にリンクします。 1. 眼鏡アイコン (画面の左側にある最初のアイコン) をクリックしてエディションモードを有効にした後、​`CN=SL-ABAP-IDP`​ をダブルクリックします。 2. 画面の一番下にあるダウンロードボタンをクリックして、ダウンロードの対象パスを入力します。 3. インポートアイコンをクリックして、自分の証明書をアップロードするための対象パスを入力します。 4. **\[Add to Certificate List (証明書一覧に追加)\]**​ をクリックして、保存アイコンをクリックします。 5. コマンドラインインターフェースまたはターミナルウィンドウを開き、​`sapgenpse`​ ツールを使用して自分の証明書を PSE にリンクします。 `sapgenpse maintain_pk -v -a -p ` 次の例では、​`IDE.crt`​ という証明書を ​`RFC.pse`​ という PSE にリンクしています。 ![「IDE.crt」を「RFC.pse」にリンクする](/mulesoft/current/ja-jp/sap-connector/5.6/_images/sap-connector-import-certificate.png) ### [](#sap-での-snc-クライアントの認証)SAP での SNC クライアントの認証 `VSNCSYSACL`​ ビューに新しいエントリを追加し、識別名で SNC を使用できるようにします。 1. SAP GUI で ​**SM30**​ トランザクションに移動し、​`VSNCSYSACL`​ をビュー名として入力します。 2. **\[Maintain (保守)\]**​ をクリックします。 3. 作業領域として ​**\[E\]**​ を選択します。 4. **\[System ID (システム ID)\]**​ 項目に SAP ID を入力します。 5. **\[SNC name (SNC 名)\]**​ 項目に識別名を入力します: `p:` 6. すべてのチェックボックスを選択してエントリをアクティブ化します。 7. 保存アイコンをクリックします。 - サーバーが SNC 名を受け入れると、​`Canonical Name Determined`​ メッセージが SNC データボックスに表示されます。 - サーバーが SNC 名を受け入れない場合は、PSE ファイルで使用されている名前が、Mule アプリケーションで使用されている名前および STRUST でリストされている名前と同じであることを確認します。 8. Mule アプリケーションで SAP ユーザーを有効にして、アプリケーションで SNC 接続種別を使用できるようにします。 1. **SM30**​ トランザクションに移動して、​`VUSREXTID`​ ビューを指定し、​**\[Maintain (保守)\]**​ をクリックします。 2. **\[External ID type (外部 ID 種別)\]**​ 項目で、作業領域として ​`DN`​ を選択します。 3. **\[External ID (外部 ID)\]**​ 項目に識別名を入力します。 4. **\[User (ユーザー)\]**​ 項目に SAP ユーザー名を入力します。 5. **\[Activated (アクティブ化)\]**​ を選択します。 6. 保存アイコンをクリックします。 ## [](#sap-connector-の設定)SAP Connector の設定 SNC を有効にするよう SAP Connector を設定する手順は、次のとおりです。 1. Anypoint Studio にアクセスします。 2. Studio キャンバスで ​**\[SAP\]**​ を選択します。 3. **\[Connector configuration (コネクタ設定)\]**​ 項目の横にあるプラス記号 (+) をクリックし、グローバル要素設定項目にアクセスします。 4. 接続種別を設定します。 簡単な接続の場合は、次の手順を実行します。 1. **\[Connection (接続)\]**​ 項目で ​`Simple connection provider`​ を選択します。 2. **\[General (一般)\]**​ タブで、次の項目を設定します。 - **Username (ユーザー名)** - **Password (パスワード)** - **SAP system number (SAP システム番号)** - **SAP client ID (SAP クライアント ID)** - **Application server host (アプリケーションサーバーホスト)** 3. **\[Advanced (詳細)\]**​ タブで、拡張プロパティを設定します。 X.509 証明書接続の場合は、次の手順を実行します。 1. **\[Connection (接続)\]**​ 項目で ​`Certificate`​ を選択します。 2. **\[General (一般)\]**​ タブで、次の項目を設定します。 - **X.509 Certificate (X.509 証明書)**​ (Base64 でのエンコードなし) - **Sap client ID (SAP クライアント ID)** - **Application server host (アプリケーションサーバーホスト)** 3. **\[Advanced (詳細)\]**​ タブで、拡張プロパティを設定します。 ### [](#sap-サーバー側の拡張プロパティの例)SAP サーバー側の拡張プロパティの例 次の表にサーバー側の拡張プロパティの値の例を示します。
プロパティ 値の例

jco.server.snc_mode

1

jco.server.snc_partnername

p:CN=SL-ABAP-IDP

jco.server.snc_qop

8

jco.server.snc_myname

p:CN=MVIDP, C=AR, O=MuleSoft, OU=IT

jco.server.snc_lib

C:/SNC/64bit/sapcrypto.dll

### [](#sap-クライアント側の拡張プロパティの例)SAP クライアント側の拡張プロパティの例 次の表にクライアント側の拡張プロパティの値の例を示します。
プロパティ 値の例

jco.client.snc_mode

1

jco.client.snc_partnername

p:CN=SL-ABAP-IDP

jco.client.snc_qop

8

jco.client.snc_myname

p:CN=MVIDP, C=AR, O=MuleSoft, OU=IT

jco.client.snc_lib

C:/SNC/64bit/sapcrypto.dll

jco.client.x509cert

ABCD12EFG

## [](#関連情報)関連情報 - [Anypoint Connector の概要](https://docs.mulesoft.com/connectors/introduction/introduction-to-anypoint-connectors) - [MuleSoft ヘルプセンター](https://help.mulesoft.com) # SAP の XML と Maven のサポート - Mule 4 Anypoint Studio の XML エディターまたはテキストエディターから XML で Mule アプリケーションを手動でコーディングする場合、参照ステートメントを XML Mule フローおよび Apache Maven `pom.xml`​ ファイルに追加することで、アプリケーションで SAP Connector にアクセスできます。

Anypoint Studio を使用すると、このトピックで説明されている手動プロセスを回避できます。SAP Connector を Anypoint Studio にインストールすると、Studio は自動的に XML コードにコネクタの名前空間およびスキーマの場所を入力し、pom.xml ファイルに連動関係を追加します。

## [](#コネクタの名前空間の追加)コネクタの名前空間の追加 1. 次のコードをコピーします。 ```xml `​ タグ内に貼り付けます。 ```xml ``` ## [](#pom-ファイルの連動関係の追加)POM ファイルの連動関係の追加 pom.xml Maven ファイルは Anypoint Studio によって生成され、Mule アプリケーションの連動関係が含まれます。 . Mule アプリケーションを手動でコーディングする場合、この XML スニペットを pom.xml ファイルに含め、このコネクタへのアクセスを有効にします。Mule Runtime Engine は、`RELEASE`​ 連動関係キーワードを現在のバージョンに変換します。 + ```xml com.mulesoft.connectors mule-sap-connector 5.1 mule-plugin ``` \+ . (省略可能) ``​ を特定の SAP Connector リリースに設定するには、​[Anypoint Exchange](https://www.mulesoft.com/exchange/com.mulesoft.connectors/mule-sap-connector/)​ で SAP Connector にアクセスし、**\[Dependency Snippets (連動関係スニペット)\]**​ をクリックします。 使用する場合 \+ . JCo ライブラリをサポートするために、次の連動関係を追加します。 + ```xml org.mule.tools.maven mule-maven-plugin ${mule.maven.plugin.version} true com.sap.conn.jco com.sap.conn.jco.sapjco3 com.sap.conn.idoc com.sap.conn.idoc.sapidoc3 com.sap.conn.jco com.sap.conn.jco.libsapjco3 ``` ## [](#次のステップ)次のステップ 名前空間および pom.xml ファイルを完了したら、SAP の[例](https://docs.mulesoft.com/jp/sap-connector/5.1/sap-connector-examples)​を試します。 ## [](#関連情報)関連情報 [MuleSoft ヘルプセンター](https://help.mulesoft.com) # SAP の追加設定情報 - Mule 4 SAP Connector の基本設定を完了したら、詳細設定の変更や拡張プロパティの定義など、追加の設定タスクを実行できます。 ## [](#一般設定)一般設定 1. キャンバスの下部にある ​**\[Global Elements (グローバル要素)\]**​ タブをクリックします。 2. **\[Create (作成)\]**​ をクリックします。 3. **\[Connector Configuration (コネクタ設定)\]**​ を展開し、​**\[SAP Inbound (SAP インバウンド)\]**​ または ​**\[SAP Outbound (SAP アウトバウンド)\]**​ を選択して、​**\[OK\]**​ をクリックします。 4. **\[Global Element Properties (グローバル要素のプロパティ)\]**​ 画面の上部にある ​**\[Advanced (詳細)\]**​ タブをクリックします。 ![sap connector config adv](/mulesoft/current/ja-jp/sap-connector/5.1/_images/sap-connector-config-adv.png) 5. **\[General (一般)\]**​ セクションで、​**\[Max Idle time (最大アイドル時間)\]**​ を設定します。 1. **\[Expiration policy (有効期限ポリシー)\]**​ を選択します。 2. **\[Max Idle time (最大アイドル時間)\]**​ に値を入力し、​**\[Time Unit (時間単位)\]**​ を追加します。 3. **\[OK\]**​ をクリックします。
項目 型 説明 デフォルト値

Expiration Policy (有効期限ポリシー)

動的設定インスタンスがアイドル状態を続けられる最小時間を設定します。この時間が経過すると、Runtime で期限切れに相当するとみなされます。これは、インスタンスが有効期限の対象となった瞬間にプラットフォームでそのインスタンスが期限切れになるということではありません。必要に応じて、Runtime がインスタンスをパージします。

Max Idle time (最大アイドル時間)

Number (数値)

有効期限の対象とみなされるまで、動的設定インスタンスがアイドル状態を維持できる最大時間のスカラー時間値。

Time unit (時間単位)

Enumeration (列挙)。次のいずれかになります。

  • DAYS (日)

  • HOURS (時間)

  • MICROSECONDS (マイクロ秒)

  • MILLISECONDS (ミリ秒)

  • MINUTES (分)

  • NANOSECONDS (ナノ秒) SECONDS (秒)

## [](#詳細設定)詳細設定 ![sap advanced](/mulesoft/current/ja-jp/sap-connector/5.1/_images/sap-advanced.png) \[Advanced (詳細)\] 設定では、エンコード、バージョン、フラグ、形式、およびタイムアウトの各パラメーターを設定できます。 これらの項目値を変更するには、​**\[Global Element Properties (グローバル要素のプロパティ)\]**​ 画面の上部にある ​**\[Advanced (詳細)\]**​ タブをクリックします。
項目 XML 属性 説明 デフォルト値

Display Name (表示名)

name (名前)

Mule 設定で内部的に使用されるエンドポイントの参照名を設定します。

Encoding (エンコード)

encoding

エンコードの正規名を設定します。 Oracle のサポートされるエンコード​を参照してください。

Default IDocument Version (デフォルトの IDoc バージョン)

defaultIdocumentVersion

中間ドキュメント (IDoc) を送信する場合、バージョンを設定します。IDoc バージョンの値は、​com.sap.conn.idoc.IDocFactory​ の ​IDOC_VERSION_xxxx​ 定数に対応しています。

Disable Function template cache flag ([関数テンプレートキャッシュを無効化] フラグ)

disableFunctionTemplateCacheFlag

関数テンプレートキャッシュを無効化するには、これを設定します。

false​

Evaluate response flag ([応答を評価] フラグ)

evaluateResponseFlag

エラー応答で例外を発生させるのか、ユーザーが別の結果を使用してエラー応答を処理できるようにするのかを設定します。

false​

Log trace flag ([トレースを記録] フラグ)

logTraceFlag

トレースを Mule サーバーに記録するかどうかを設定します。

false​

Use SAP format (SAP 形式の使用)

useSAPFormat

同期リモート関数コール (sRFC) を使用してビジネスアプリケーションプログラミングインターフェース (BAPI) 関数を操作するときに SAP デフォルト形式を使用するには、これを設定します。

false

## [](#拡張プロパティの定義)拡張プロパティの定義 拡張プロパティを使用すると、SAP アウトバウンド設定パラメーターを調整できます。 SAP Connector のグローバル要素の拡張プロパティを定義する手順は、次のとおりです。 1. **\[General (一般)\]**​ ペインの ​**\[Advanced (詳細)\]**​ タブに移動します。 ![下部の \[Advanced (詳細)\] タブ](_images/sap-connector-advanced-tab.png) 2. ウィンドウの上部にある ​**\[Extended Properties (拡張プロパティ)\]**​ セクションを見つけます。 3. **\[Edit inline (インライン編集)\]**​ オプションを選択します。 4. **\[+\]**​ をクリックして、新しい拡張プロパティを追加します。 SAP で使用しているものと同じプロパティ名を使用します。 ### [](#クライアント環境の設定)クライアント環境の設定 使用しているオペレーティングシステムに依存するシステム変数を設定し、PSE (パーソナルセキュリティ環境) を生成します。 1. 次のコマンドを使用して cmd またはターミナルを開き、SAPCAR および SAP 暗号ライブラリを展開します。 \`SAPCAR –xvf これによりフォルダー​\*\*​からファイルが抽出されます。 2. 次の環境変数を設定します。​ ​**この例では、ライブラリへのパスは「C:\\Users\\Administrator\\Desktop\\SNC」です。**​ - SNC\_LIB​ - SECUDIR = ​``​ - LD\_LIBRARY\_PATH​ = ​`\sapcrypto.dll`​ - SSF\_LIBRARY\_PATH​ = ​`\sapcrypto.dll`​ Windows の場合、​`sapcrypto.dll`​ の 64 ビットバージョンは別のパスにあり、​SNC\_LIB​\_64 という新しい変数に追加されています。 cmd またはターミナルで次のコマンドを使用して PSE を作成します。 `sapgenpse gen_pse -v -p RFC.pse`​ このコマンドを実行する場合、後で使用するパスワードまたは PIN と、一意である必要がある識別名を入力する必要があります。STRUST ですでに使用されている名前があるかどうかを確認できます。 3. セッションユーザーが PSE にアクセスするために必要とするログイン情報を追加します。PSE は「sapgenpse seclogin -p RFC -O you\_user」コマンドを使用して cred\_v2 ファイルを作成します。 ## [](#次のステップ)次のステップ これで設定が完了したので、SAP の​[例](https://docs.mulesoft.com/jp/sap-connector/5.1/sap-connector-examples)​を試すことができます。 ## [](#関連情報)関連情報 [MuleSoft ヘルプセンター](https://help.mulesoft.com) # SAP 用語 次に、一般的に要される SAP システムの頭字語を示します。 ABAP (アドバンスドビジネスアプリケーションプログラミング) SAP の独自プログラミング言語であり、ビジネスアプリケーションをビルドするための NetWeaver プラットフォームの一部。 ALE (アプリケーションリンクイネーブリング) SAP システムの分散アプリケーションおよび統合インストールをセットアップします。これには、緩やかにリンクしている SAP アプリケーション間で整合性が確保されたデータを使用するビジネス駆動型メッセージエクスチェンジが含まれます。アプリケーションは、中央データベースを使用せずに、同期通信および非同期通信で統合されます。 BAPI (ビジネスアプリケーションプログラミングインターフェース) 設計条件を満たし、次のような機能を提供する関数モジュール。 - SAP ビジネスオブジェクトのメソッドを実装する。 - さまざまなバージョンの SAP システムで静的インターフェースを維持する。 - リモートで有効化する。 - ユーザー操作の有無に関係なく実行が完了する。 - エラーを処理する。 FM (関数モジュール) SAP の ABAP 言語で定義された手順。これにより、SAP でグローバル関数をカプセル化および再利用できます。 IDoc (中間ドキュメント) SAP システム間で電子データを交換するための標準 SAP 形式。通常、メッセージ種別 (納品書や発注書など) ごとに異なる特殊な形式 (IDoc 種別と呼ばれる) に対応しています。ただし、関連するコンテンツが含まれる複数のメッセージ種別を 1 つの IDoc 種別に割り当てることもできます。 Java API 動的なメタデータルックアップおよびキャッシュを処理します。Java API は、SAP BAPI 関数モジュールのパラメーターおよびテーブルで使用する `JCO.Function`​ コンテナを Java で実装します。Java アプリケーションは、Java API 上に構築されます。 JNI (Java ネイティブインターフェース) JNI は、SAP Connector ライブラリのレイヤーです。JCo は、Java で C ライブラリをラップして、SAP システムへのプラットフォームネイティブなアクセスを提供します。RFC ミドルウェアは、JNI レイヤーを介して RFC ライブラリを使用します。 RFC (リモート関数コール) SAP システムとの通信は、RFC プロトコルを介して行われます。リモート関数コールは、BAPI をコールするか、コール元プログラムとして別のシステムで実行される IDoc 処理をトリガーします。RFC インターフェースにより、2 つの SAP システム間または SAP と外部システム間の関数コールが可能になります。 RFC レイヤー リモート関数コールを処理する SAP コンポーネント。 RFC ライブラリ SAP システムにアクセスするための C 言語ベースの関数のライブラリ。RFC ライブラリの対応は、JNI によって行われます。 SAP Java IDoc クラスライブラリ SAP IDoc の構造化された高レベルの解析とナビゲーションを Java で提供し、次のアドオンパッケージで構成されます。 - SAP Java ベース IDoc クラスライブラリ: ミドルウェアに依存する Java IDoc クラスライブラリの実装の一般的な基本クラスとインターフェースのセットを提供する、ミドルウェアに依存しないライブラリ。 - SAP Java Connector IDoc クラスライブラリ: IDoc を作成、送信、受信するためのミドルウェアに依存しないライブラリ。 SAP NetWeaver SAP ソリューションで使用される主要なテクノロジーおよびアプリケーションプラットフォームの 1 つ。NetWeaver の主要なコンポーネントは、ERP、CRM、SCM、PLM、SRM、BI などの SAP アプリケーションのランタイム環境を提供する SAP Web アプリケーションサーバー (WebAS) です。その他に、エンタープライズポータル、エクスチェンジインフラストラクチャ、マスターデータ管理、モバイルインフラストラクチャなどのコンポーネントもあります。SAP NetWeaver は、これらの技術的なコンポーネントの総称です。SAP NetWeaver は、Java スタックと ABAP スタックの両方で実行されます。 SNC (セキュアネットワークコミュニケーション) SAP NetWeaver のシングルサインオンや、SAP システムと連携する外部セキュリティ製品と統合します。SNC は、SAP システムでは直接使用できないセキュリティ関数を提供します。 注意: SAP Connector を Runtime Manager (CloudHub)、Anypoint Runtime Fabric、または Anypoint Platform Private Cloud Edition にデプロイするアプリケーションで、SNC を使用することはできません。 ## [](#関連情報)関連情報 - [SAP Connector - Mule 4](https://docs.mulesoft.com/jp/sap-connector/5.1/) - [SAP Connector リファレンス](https://docs.mulesoft.com/jp/sap-connector/5.1/sap-connector-reference) # 証明書を使用した SAP セキュアネットワークコミュニケーション接続の設定 証明書を使用した SAP セキュアネットワークコミュニケーション (SNC) を設定し、SAP システムのクライアントとサーバー間のセキュアなデータ通信、アプリケーションレベルのエンドツーエンドセキュリティ、SAP ビジネスアプリケーションに影響を与えずにセキュリティ商品を変更する機能など、セキュリティ機能を利用します。証明書を使用した SNC を有効にするには、クライアント環境、SAP サーバー、SAP 用 Anypoint Connector (SAP Connector) を設定する必要があります。 ## [](#始める前に)始める前に 証明書を使用した SAP SNC を設定するには、以下にアクセスできる必要があります。 - SAP GUI アプリケーション。このクライアントをインストールするには、すでに Java がマシンにインストールされている必要があります。次に、SAP から OS に合ったインストーラーをダウンロードします。 - SAPCAR ユーティリティおよび SAP 暗号ライブラリ。S ユーザーであれば、これらを SAP サポートポータルからダウンロードできます。 - SNC システム変数を使用できる SAP ECC インスタンス - 次のトランザクション - `STRUST`​ (トラストマネージャー) - `SM30`​ (テーブルメンテナンス) ## [](#クライアント環境の設定)クライアント環境の設定 使用しているオペレーティングシステムに依存するシステム変数を設定し、パーソナルセキュリティ環境 (PSE) を生成します。 1. Windows コマンドラインまたは Mac ターミナルアプリケーションを開きます。 2. `SAPCAR`​ ユーティリティを使用して、SAP 暗号ライブラリを、指定したフォルダーに展開します。 `SAPCAR -xvf ` 3. 次の環境変数を設定します。 - SNC\_LIB​: `\sapcrypto.dll` - SECUDIR: `` - LD\_LIBRARY\_PATH​: `\sapcrypto.dll` - SSF\_LIBRARY\_PATH​: `\sapcrypto.dll` Windows の場合、​`sapcrypto.dll`​ の 64 ビットバージョンは異なるパスにあり、​`SNC_LIB_64`​ という新しい変数に追加されています。 ![Windows 変数 SNC\_LIB\_64](/mulesoft/current/ja-jp/sap-connector/5.7/_images/sap-connector-windows-variable.png) 4. `sapgenpse`​ ツールを使用して、PSE を作成します。 `sapgenpse gen_pse -v -p RFC.pse` このコマンドを実行する場合、後で使用する PIN と、一意である必要がある識別名を入力する必要があります。たとえば、次のような識別名を入力できます。 `CN=RFC, C=AR, O=YourCompany, OU=IT` すでに使用されている名前を表示するには、STRUST を使用できます。 5. `sapgenpse`​ ツールを使用して、PSE にアクセスするためのログイン情報を保存する ​`cred_v2`​ ファイルを作成します。 `sapgenpse seclogin -p RFC -O ` 6. `sapgenpse`​ ツールを使用して、PSE からクライアントの証明書をエクスポートします。 `sapgenpse -v -p RFC -o RFC_MULE.crt` ## [](#sap-サーバーの設定)SAP サーバーの設定 識別名での SNC の使用を認証する証明書とテーブルを設定します。SAP サーバーを設定する手順は、次のとおりです。 1. SAP 識別名と証明書を表示します。 2. SAP 証明書を自分の証明書にリンクします。 3. SAP で SNC クライアントを認証します。 ### [](#sap-識別名と証明書の表示)SAP 識別名と証明書の表示 SAP 識別名と証明書のリストを表示します。 1. SAP GUI にログインして、​`strust`​ トランザクションを入力します。 2. 左側のペインで ​**\[SNC SAPCryptolib\]**​ フォルダーを選択します。 SAP 識別名と証明書リストが表示されます。 ### [](#自分の証明書への-sap-証明書のリンク)自分の証明書への SAP 証明書のリンク SAP インスタンス証明書をダウンロードして自分の証明書にリンクします。 1. 眼鏡アイコン (画面の左側にある最初のアイコン) をクリックしてエディションモードを有効にした後、​`CN=SL-ABAP-IDP`​ をダブルクリックします。 2. 画面の一番下にあるダウンロードボタンをクリックして、ダウンロードの対象パスを入力します。 3. インポートアイコンをクリックして、自分の証明書をアップロードするための対象パスを入力します。 4. **\[Add to Certificate List (証明書一覧に追加)\]**​ をクリックして、保存アイコンをクリックします。 5. コマンドラインインターフェースまたはターミナルウィンドウを開き、​`sapgenpse`​ ツールを使用して自分の証明書を PSE にリンクします。 `sapgenpse maintain_pk -v -a -p ` 次の例では、​`IDE.crt`​ という証明書を ​`RFC.pse`​ という PSE にリンクしています。 ![「IDE.crt」を「RFC.pse」にリンクする](/mulesoft/current/ja-jp/sap-connector/5.7/_images/sap-connector-import-certificate.png) ### [](#sap-での-snc-クライアントの認証)SAP での SNC クライアントの認証 `VSNCSYSACL`​ ビューに新しいエントリを追加し、識別名で SNC を使用できるようにします。 1. SAP GUI で ​**SM30**​ トランザクションに移動し、​`VSNCSYSACL`​ をビュー名として入力します。 2. **\[Maintain (保守)\]**​ をクリックします。 3. 作業領域として ​**\[E\]**​ を選択します。 4. **\[System ID (システム ID)\]**​ 項目に SAP ID を入力します。 5. **\[SNC name (SNC 名)\]**​ 項目に識別名を入力します: `p:` 6. すべてのチェックボックスを選択してエントリをアクティブ化します。 7. 保存アイコンをクリックします。 - サーバーが SNC 名を受け入れると、​`Canonical Name Determined`​ メッセージが SNC データボックスに表示されます。 - サーバーが SNC 名を受け入れない場合は、PSE ファイルで使用されている名前が、Mule アプリケーションで使用されている名前および STRUST でリストされている名前と同じであることを確認します。 8. Mule アプリケーションで SAP ユーザーを有効にして、アプリケーションで SNC 接続種別を使用できるようにします。 1. **SM30**​ トランザクションに移動して、​`VUSREXTID`​ ビューを指定し、​**\[Maintain (保守)\]**​ をクリックします。 2. **\[External ID type (外部 ID 種別)\]**​ 項目で、作業領域として ​`DN`​ を選択します。 3. **\[External ID (外部 ID)\]**​ 項目に識別名を入力します。 4. **\[User (ユーザー)\]**​ 項目に SAP ユーザー名を入力します。 5. **\[Activated (アクティブ)\]**​ を選択します。 6. 保存アイコンをクリックします。 ## [](#sap-connector-の設定)SAP Connector の設定 証明書を使用した SNC を有効にするよう SAP Connector を設定する手順は、次のとおりです。 1. Anypoint Studio にアクセスします。 2. Studio キャンバスで ​**\[SAP\]**​ を選択します。 3. **\[Connector configuration (コネクタ設定)\]**​ 項目の横にあるプラス記号 (+) をクリックし、グローバル要素設定項目にアクセスします。 4. X.509 証明書接続を設定します。 1. **\[Connection (接続)\]**​ 項目で ​`Certificate`​ を選択します。 2. **\[General (一般)\]**​ タブで、次の項目を設定します。 - **X.509 Certificate (X.509 証明書)**​ (Base64 でのエンコードなし) - **Sap client ID (SAP クライアント ID)** - **Application server host (アプリケーションサーバーホスト)** 3. **\[Advanced (詳細)\]**​ タブで、拡張プロパティを設定します。 ### [](#sap-サーバー側の拡張プロパティの例)SAP サーバー側の拡張プロパティの例 次の表にサーバー側の拡張プロパティの値の例を示します。
プロパティ 値の例。

jco.server.snc_mode

1

jco.server.snc_partnername

p:CN=SL-ABAP-IDP

jco.server.snc_qop

8

jco.server.snc_myname

p:CN=MVIDP, C=AR, O=MuleSoft, OU=IT

jco.server.snc_lib

C:/SNC/64bit/sapcrypto.dll

### [](#sap-クライアント側の拡張プロパティの例)SAP クライアント側の拡張プロパティの例 次の表にクライアント側の拡張プロパティの値の例を示します。
プロパティ 値の例。

jco.client.snc_mode

1

jco.client.snc_partnername

p:CN=SL-ABAP-IDP

jco.client.snc_qop

8

jco.client.snc_myname

p:CN=MVIDP, C=AR, O=MuleSoft, OU=IT

jco.client.snc_lib

C:/SNC/64bit/sapcrypto.dll

jco.client.x509cert

ABCD12EFG

## [](#関連情報)関連情報 - [Anypoint Connector の概要](https://docs.mulesoft.com/connectors/introduction/introduction-to-anypoint-connectors) - [MuleSoft ヘルプセンター](https://help.mulesoft.com) # 証明書を使用した SAP セキュアネットワークコミュニケーション接続の設定 証明書を使用した SAP セキュアネットワークコミュニケーション (SNC) を設定し、SAP システムのクライアントとサーバー間のセキュアなデータ通信、アプリケーションレベルのエンドツーエンドセキュリティ、SAP ビジネスアプリケーションに影響を与えずにセキュリティ商品を変更する機能など、セキュリティ機能を利用します。証明書を使用した SNC を有効にするには、クライアント環境、SAP サーバー、SAP 用 Anypoint Connector (SAP Connector) を設定する必要があります。 ## [](#始める前に)始める前に 証明書を使用した SAP SNC を設定するには、以下にアクセスできる必要があります。 - SAP GUI アプリケーション。このクライアントをインストールするには、すでに Java がマシンにインストールされている必要があります。次に、SAP から OS に合ったインストーラーをダウンロードします。 - SAPCAR ユーティリティおよび SAP 暗号ライブラリ。S ユーザーであれば、これらを SAP サポートポータルからダウンロードできます。 - SNC システム変数を使用できる SAP ECC インスタンス - 次のトランザクション - `STRUST`​ (トラストマネージャー) - `SM30`​ (テーブルメンテナンス) ## [](#クライアント環境の設定)クライアント環境の設定 使用しているオペレーティングシステムに依存するシステム変数を設定し、パーソナルセキュリティ環境 (PSE) を生成します。 1. Windows コマンドラインまたは Mac ターミナルアプリケーションを開きます。 2. `SAPCAR`​ ユーティリティを使用して、SAP 暗号ライブラリを、指定したフォルダーに展開します。 `SAPCAR -xvf ` 3. 次の環境変数を設定します。 - SNC\_LIB​: `\sapcrypto.dll` - SECUDIR: `` - LD\_LIBRARY\_PATH​: `\sapcrypto.dll` - SSF\_LIBRARY\_PATH​: `\sapcrypto.dll` Windows の場合、​`sapcrypto.dll`​ の 64 ビットバージョンは異なるパスにあり、​`SNC_LIB_64`​ という新しい変数に追加されています。 ![Windows 変数 SNC\_LIB\_64](/mulesoft/current/ja-jp/sap-connector/5.8/_images/sap-connector-windows-variable.png) 4. `sapgenpse`​ ツールを使用して、PSE を作成します。 `sapgenpse gen_pse -v -p RFC.pse` このコマンドを実行する場合、後で使用する PIN と、一意である必要がある識別名を入力する必要があります。たとえば、次のような識別名を入力できます。 `CN=RFC, C=AR, O=YourCompany, OU=IT` すでに使用されている名前を表示するには、STRUST を使用できます。 5. `sapgenpse`​ ツールを使用して、PSE にアクセスするためのログイン情報を保存する ​`cred_v2`​ ファイルを作成します。 `sapgenpse seclogin -p RFC -O ` 6. `sapgenpse`​ ツールを使用して、PSE からクライアントの証明書をエクスポートします。 `sapgenpse -v -p RFC -o RFC_MULE.crt` ## [](#sap-サーバーの設定)SAP サーバーの設定 識別名での SNC の使用を認証する証明書とテーブルを設定します。SAP サーバーを設定する手順は、次のとおりです。 1. SAP 識別名と証明書を表示します。 2. SAP 証明書を自分の証明書にリンクします。 3. SAP で SNC クライアントを認証します。 ### [](#sap-識別名と証明書の表示)SAP 識別名と証明書の表示 SAP 識別名と証明書のリストを表示します。 1. SAP GUI にログインして、​`strust`​ トランザクションを入力します。 2. 左側のペインで ​**\[SNC SAPCryptolib\]**​ フォルダーを選択します。 SAP 識別名と証明書リストが表示されます。 ### [](#自分の証明書への-sap-証明書のリンク)自分の証明書への SAP 証明書のリンク SAP インスタンス証明書をダウンロードして自分の証明書にリンクします。 1. 眼鏡アイコン (画面の左側にある最初のアイコン) をクリックしてエディションモードを有効にした後、​`CN=SL-ABAP-IDP`​ をダブルクリックします。 2. 画面の一番下にあるダウンロードボタンをクリックして、ダウンロードの対象パスを入力します。 3. インポートアイコンをクリックして、自分の証明書をアップロードするための対象パスを入力します。 4. **\[Add to Certificate List (証明書一覧に追加)\]**​ をクリックして、保存アイコンをクリックします。 5. コマンドラインインターフェースまたはターミナルウィンドウを開き、​`sapgenpse`​ ツールを使用して自分の証明書を PSE にリンクします。 `sapgenpse maintain_pk -v -a -p ` 次の例では、​`IDE.crt`​ という証明書を ​`RFC.pse`​ という PSE にリンクしています。 ![「IDE.crt」を「RFC.pse」にリンクする](/mulesoft/current/ja-jp/sap-connector/5.8/_images/sap-connector-import-certificate.png) ### [](#sap-での-snc-クライアントの認証)SAP での SNC クライアントの認証 `VSNCSYSACL`​ ビューに新しいエントリを追加し、識別名で SNC を使用できるようにします。 1. SAP GUI で ​**SM30**​ トランザクションに移動し、​`VSNCSYSACL`​ をビュー名として入力します。 2. **\[Maintain (保守)\]**​ をクリックします。 3. 作業領域として ​**\[E\]**​ を選択します。 4. **\[System ID (システム ID)\]**​ 項目に SAP ID を入力します。 5. **\[SNC name (SNC 名)\]**​ 項目に識別名を入力します: `p:` 6. すべてのチェックボックスを選択してエントリをアクティブ化します。 7. 保存アイコンをクリックします。 - サーバーが SNC 名を受け入れると、​`Canonical Name Determined`​ メッセージが SNC データボックスに表示されます。 - サーバーが SNC 名を受け入れない場合は、PSE ファイルで使用されている名前が、Mule アプリケーションで使用されている名前および STRUST でリストされている名前と同じであることを確認します。 8. Mule アプリケーションで SAP ユーザーを有効にして、アプリケーションで SNC 接続種別を使用できるようにします。 1. **SM30**​ トランザクションに移動して、​`VUSREXTID`​ ビューを指定し、​**\[Maintain (保守)\]**​ をクリックします。 2. **\[External ID type (外部 ID 種別)\]**​ 項目で、作業領域として ​`DN`​ を選択します。 3. **\[External ID (外部 ID)\]**​ 項目に識別名を入力します。 4. **\[User (ユーザー)\]**​ 項目に SAP ユーザー名を入力します。 5. **\[Activated (アクティブ)\]**​ を選択します。 6. 保存アイコンをクリックします。 ## [](#sap-connector-の設定)SAP Connector の設定 証明書を使用した SNC を有効にするよう SAP Connector を設定する手順は、次のとおりです。 1. Anypoint Studio にアクセスします。 2. Studio キャンバスで ​**\[SAP\]**​ を選択します。 3. **\[Connector configuration (コネクタ設定)\]**​ 項目の横にあるプラス記号 (+) をクリックし、グローバル要素設定項目にアクセスします。 4. X.509 証明書接続を設定します。 1. **\[Connection (接続)\]**​ 項目で ​`Certificate`​ を選択します。 2. **\[General (一般)\]**​ タブで、次の項目を設定します。 - **X.509 Certificate (X.509 証明書)**​ (Base64 でのエンコードなし) - **Sap client ID (SAP クライアント ID)** - **Application server host (アプリケーションサーバーホスト)** 3. **\[Advanced (詳細)\]**​ タブで、拡張プロパティを設定します。 ### [](#sap-サーバー側の拡張プロパティの例)SAP サーバー側の拡張プロパティの例 次の表にサーバー側の拡張プロパティの値の例を示します。
プロパティ 値の例。

jco.server.snc_mode

1

jco.server.snc_partnername

p:CN=SL-ABAP-IDP

jco.server.snc_qop

8

jco.server.snc_myname

p:CN=MVIDP, C=AR, O=MuleSoft, OU=IT

jco.server.snc_lib

C:/SNC/64bit/sapcrypto.dll

### [](#sap-クライアント側の拡張プロパティの例)SAP クライアント側の拡張プロパティの例 次の表にクライアント側の拡張プロパティの値の例を示します。
プロパティ 値の例。

jco.client.snc_mode

1

jco.client.snc_partnername

p:CN=SL-ABAP-IDP

jco.client.snc_qop

8

jco.client.snc_myname

p:CN=MVIDP, C=AR, O=MuleSoft, OU=IT

jco.client.snc_lib

C:/SNC/64bit/sapcrypto.dll

jco.client.x509cert

ABCD12EFG

## [](#関連情報)関連情報 - [Anypoint Connector の概要](https://docs.mulesoft.com/connectors/introduction/introduction-to-anypoint-connectors) - [MuleSoft ヘルプセンター](https://help.mulesoft.com) # 証明書を使用した SAP セキュアネットワークコミュニケーション接続の設定 証明書を使用した SAP セキュアネットワークコミュニケーション (SNC) を設定し、SAP システムのクライアントとサーバー間のセキュアなデータ通信、アプリケーションレベルのエンドツーエンドセキュリティ、SAP ビジネスアプリケーションに影響を与えずにセキュリティ商品を変更する機能など、セキュリティ機能を利用します。証明書を使用した SNC を有効にするには、クライアント環境、SAP サーバー、SAP 用 Anypoint Connector (SAP Connector) を設定する必要があります。 ## [](#始める前に)始める前に 証明書を使用した SAP SNC を設定するには、以下にアクセスできる必要があります。 - SAP GUI アプリケーション。このクライアントをインストールするには、すでに Java がマシンにインストールされている必要があります。次に、SAP から OS に合ったインストーラーをダウンロードします。 - SAPCAR ユーティリティおよび SAP 暗号ライブラリ。S ユーザーであれば、これらを SAP サポートポータルからダウンロードできます。 - SNC システム変数を使用できる SAP ECC インスタンス - 次のトランザクション - `STRUST`​ (トラストマネージャー) - `SM30`​ (テーブルメンテナンス) ## [](#configure-the-client-environment)クライアント環境の設定 使用しているオペレーティングシステムに依存するシステム変数を設定し、パーソナルセキュリティ環境 (PSE) を生成します。 1. Windows コマンドラインまたは Mac ターミナルアプリケーションを開きます。 2. `SAPCAR`​ ユーティリティを使用して、SAP 暗号ライブラリを、指定したフォルダーに展開します。 `SAPCAR -xvf ` 3. 次の環境変数を設定します。 - SNC\_LIB​: `\sapcrypto.dll` - SECUDIR: `` - LD\_LIBRARY\_PATH​: `\sapcrypto.dll` - SSF\_LIBRARY\_PATH​: `\sapcrypto.dll` Windows の場合、​`sapcrypto.dll`​ の 64 ビットバージョンは異なるパスにあり、​`SNC_LIB_64`​ という新しい変数に追加されています。 ![Windows 変数 SNC\_LIB\_64](/mulesoft/current/ja-jp/sap-connector/latest/_images/sap-connector-windows-variable.png) 4. `sapgenpse`​ ツールを使用して、PSE を作成します。 `sapgenpse gen_pse -v -p RFC.pse` このコマンドを実行する場合、後で使用する PIN と、一意である必要がある識別名を入力する必要があります。たとえば、次のような識別名を入力できます。 `CN=RFC, C=AR, O=YourCompany, OU=IT` すでに使用されている名前を表示するには、STRUST を使用できます。 5. `sapgenpse`​ ツールを使用して、PSE にアクセスするためのログイン情報を保存する ​`cred_v2`​ ファイルを作成します。 `sapgenpse seclogin -p RFC -O ` 6. `sapgenpse`​ ツールを使用して、PSE からクライアントの証明書をエクスポートします。 `sapgenpse -v -p RFC -o RFC_MULE.crt` ## [](#configure-the-client-environment-when-deploying-in-cloudhub-2)CloudHub 2.0 または Runtime Fabric でデプロイする際のクライアント環境を設定する SAP Connector 5.9.5 以降では、証明書接続種別を使用するアプリケーションを CloudHub 2.0 または Runtime Fabric にデプロイできます。SAP Connector には、パーソナルセキュリティ環境 (PSE) を設定するインストーラーが組み込まれています。 まずアプリケーションを作成する必要があります。 1. Anypoint Studio を開きます。 2. アプリケーションの ​`src/main/resources`​ ディレクトリに移動します。 3. `src/main/resources`​ フォルダーに ​`sec`​ という名前のファイルを作成します。 ![SAP リソースの sec フォルダー構造](/mulesoft/current/ja-jp/sap-connector/latest/_images/sap-resources-sec.png) 4. `sec`​ フォルダーに次の行を追加します。 - `libsapcrypto.so` Linux バージョンの SAP CommonCryptoLib - `sapgenpse` Linux バージョンの PSE ファイルを管理する SAP コマンドラインツール - `RFC.pse` [前のステップ](#configure-the-client-environment)​で作成したファイル 5. CloudHub 2.0 は Linux マシン上で動作するため、​`com.sap.conn.jco:libsapjco3`​ など、アプリケーションの連動関係が Linux に合わせてコンパイルされていることを確認してください。 6. アプリケーションを保存し、CloudHub 2.0 のデプロイメントに使用する ​`jar`​ ファイルをエクスポートします。 その後、作成したアプリケーションを CloudHub 2.0 または Runtime Fabric でインポートする必要があります。 1. Anypoint Platform アカウントにログインし、\[Runtime Manager\] に移動します。 2. **\[Deploy Application (アプリケーションをデプロイ)\]**​ をクリックします。 3. **\[Application Name (アプリケーション名)\]**​ に、アプリケーションの名前 (​`「cert-ch2」`​など) を入力します。 4. **\[Deployment Target (デプロイメント対象)\]**​ で、​`[CloudHub 2.0]`​ または ​`[Runtime Fabric]`​ を選択します。 5. **\[Choose File (ファイルを選択)\]**​ をクリックし、​`jar`​ ファイルをアップロードします。 6. **\[Properties (プロパティ)\]**​ タブで、以下を追加します。
プロパティ 値の例 説明

secFilesCopy

true

true​ の場合、組み込みインストーラーを起動します。

sourceSecFolder

/opt/mule/apps/my-app-name/sec/

CloudHub 2.0 または Runtime Fabric の ​resources/sec​ フォルダーの場所。my-app-name には実際のアプリケーション名を指定してください。

targetSecFolder

/tmp/sec/

この値はハードコードされたままにしておきます。

pseFile

RFC

PSE ファイルの名前 (拡張子なし)。

psePassword

Your PSE file password (PSE ファイルのパスワード)

PSE ファイルのパスワード。このプロパティの横にある ​[Protect (保護)]​ ボタンをクリックすると、コンテンツが非表示になります。

osUsername

app

cred_v2​ ファイルの作成に使用されるデフォルトの CloudHub 2.0 ユーザー名。このプロパティは省略可能で、その場合はコネクタが自動的に値を計算します。

7. **\[Start (開始)\]**​ をクリックしてアプリケーションを実行します。
組み込みインストーラーを使用する場合は、SAP Connector Config プロパティで CommonCryptoLib ライブラリを適切なパスで参照する必要があります。
プロパティ 値の例 説明

jco.client.snc_lib

${app.home}/sec/libsapcrypto.so

SAP CommonCryptoLib の場所。このプロパティで設定したライブラリは、コネクタ操作で使用されます。オペレーティングシステムによっては、他のライブラリを使う必要がある場合がります。たとえば、CloudHub 2.0 のオペレーティングシステムは Linux ベースです。

jco.server.snc_lib

${app.home}/sec/libsapcrypto.so

SAP CommonCryptoLib の場所。このプロパティで設定したライブラリは、コネクタソースで使用されます。オペレーティングシステムによっては、他のライブラリを使う必要がある場合がります。たとえば、CloudHub 2.0 のオペレーティングシステムは Linux ベースです。

## [](#sap-サーバーの設定)SAP サーバーの設定 識別名での SNC の使用を認証する証明書とテーブルを設定します。SAP サーバーを設定する手順は、次のとおりです。 1. SAP 識別名と証明書を表示します。 2. SAP 証明書を自分の証明書にリンクします。 3. SAP で SNC クライアントを認証します。 ### [](#sap-識別名と証明書の表示)SAP 識別名と証明書の表示 SAP 識別名と証明書のリストを表示します。 1. SAP GUI にログインして、​`strust`​ トランザクションを入力します。 2. 左側のペインで ​**\[SNC SAPCryptolib\]**​ フォルダーを選択します。 SAP 識別名と証明書リストが表示されます。 ### [](#自分の証明書への-sap-証明書のリンク)自分の証明書への SAP 証明書のリンク SAP インスタンス証明書をダウンロードして自分の証明書にリンクします。 1. 眼鏡アイコン (画面の左側にある最初のアイコン) をクリックしてエディションモードを有効にした後、​`CN=SL-ABAP-IDP`​ をダブルクリックします。 2. 画面の一番下にあるダウンロードボタンをクリックして、ダウンロードの対象パスを入力します。 3. インポートアイコンをクリックして、自分の証明書をアップロードするための対象パスを入力します。 4. **\[Add to Certificate List (証明書一覧に追加)\]**​ をクリックして、保存アイコンをクリックします。 5. コマンドラインインターフェースまたはターミナルウィンドウを開き、​`sapgenpse`​ ツールを使用して自分の証明書を PSE にリンクします。 `sapgenpse maintain_pk -v -a -p ` 次の例では、​`IDE.crt`​ という証明書を ​`RFC.pse`​ という PSE にリンクしています。 ![IDE.crt を RFC.pse にリンクするターミナルウィンドウ](/mulesoft/current/ja-jp/sap-connector/latest/_images/sap-connector-import-certificate.png) ### [](#sap-での-snc-クライアントの認証)SAP での SNC クライアントの認証 `VSNCSYSACL`​ ビューに新しいエントリを追加し、識別名で SNC を使用できるようにします。 1. SAP GUI で ​**SM30**​ トランザクションに移動し、​`VSNCSYSACL`​ をビュー名として入力します。 2. **\[Maintain (保守)\]**​ をクリックします。 3. 作業領域として ​**\[E\]**​ を選択します。 4. **\[System ID (システム ID)\]**​ 項目に SAP ID を入力します。 5. **\[SNC name (SNC 名)\]**​ 項目に識別名を入力します: `p:` 6. すべてのチェックボックスを選択してエントリをアクティブ化します。 7. 保存アイコンをクリックします。 - サーバーが SNC 名を受け入れると、​`Canonical Name Determined`​ メッセージが SNC データボックスに表示されます。 - サーバーが SNC 名を受け入れない場合は、PSE ファイルで使用されている名前が、Mule アプリケーションで使用されている名前および STRUST でリストされている名前と同じであることを確認します。 8. Mule アプリケーションで SAP ユーザーを有効にして、アプリケーションで SNC 接続種別を使用できるようにします。 1. **SM30**​ トランザクションに移動して、​`VUSREXTID`​ ビューを指定し、​**\[Maintain (保守)\]**​ をクリックします。 2. **\[External ID type (外部 ID 種別)\]**​ 項目で、作業領域として ​`DN`​ を選択します。 3. **\[External ID (外部 ID)\]**​ 項目に識別名を入力します。 4. **\[User (ユーザー)\]**​ 項目に SAP ユーザー名を入力します。 5. **\[Activated (アクティブ化)\]**​ を選択します。 6. 保存アイコンをクリックします。 ## [](#sap-connector-の設定)SAP Connector の設定 証明書を使用した SNC を有効にするよう SAP Connector を設定する手順は、次のとおりです。 1. Anypoint Studio にアクセスします。 2. Studio キャンバスで ​**\[SAP\]**​ を選択します。 3. **\[Connector configuration (コネクタ設定)\]**​ 項目の横にあるプラス記号 (+) をクリックし、グローバル要素設定項目にアクセスします。 4. X.509 証明書接続を設定します。 1. **\[Connection (接続)\]**​ 項目で ​`Certificate`​ を選択します。 2. **\[General (一般)\]**​ タブで、次の項目を設定します。 - **X.509 Certificate (X.509 証明書)**​ (Base64 でのエンコードなし) - **Sap client ID (SAP クライアント ID)** - **Application server host (アプリケーションサーバーホスト)** 3. **\[Advanced (詳細)\]**​ タブで、拡張プロパティを設定します。 ### [](#sap-サーバー側の拡張プロパティの例)SAP サーバー側の拡張プロパティの例 次の表にサーバー側の拡張プロパティの値の例を示します。
プロパティ 値の例

jco.server.snc_mode

1

jco.server.snc_partnername

p:CN=SL-ABAP-IDP

jco.server.snc_qop

8

jco.server.snc_myname

p:CN=MVIDP, C=AR, O=MuleSoft, OU=IT

jco.server.snc_lib

C:/SNC/64bit/sapcrypto.dll

### [](#sap-クライアント側の拡張プロパティの例)SAP クライアント側の拡張プロパティの例 次の表にクライアント側の拡張プロパティの値の例を示します。
プロパティ 値の例

jco.client.snc_mode

1

jco.client.snc_partnername

p:CN=SL-ABAP-IDP

jco.client.snc_qop

8

jco.client.snc_myname

p:CN=MVIDP, C=AR, O=MuleSoft, OU=IT

jco.client.snc_lib

C:/SNC/64bit/sapcrypto.dll

jco.client.x509cert

ABCD12EFG

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