SAP ERP
SAP ERP コネクタを使用すると、SAP ERP データに対して、挿入、削除、更新、読み取りオペレーションを実行できます。
サポートされるエディション
SAP ERP コネクタは、次の方法で SAP R/3 システムと通信できます。
- ビジネス アプリケーション プログラミング インターフェース(BAPI)
- リモート関数呼び出し(RFC)
- SAP テーブル
- SAP クエリ
- IDoc メッセージ
- SAP ECC
- SAP ERP
- SAP R/3
- SAP S/4 Hana on-premise
- SAP JCo のバージョン。
このコネクタでは、接続の作成時に 2 つの JCo ファイル(
sapjco3.jar
とlibsapjco3.so
(Unix の場合))を指定する必要があります。JCo 3.1.5 バージョンは、SAP コネクタ サイトからダウンロードできます。
SAP システムが RFC 接続をサポートし、必要な RFC が使用可能な場合、SAP システムへの接続は機能します。RFC 接続をサポートする他のエディションもサポートされている場合があります。
SAP テーブル: SAP テーブルは、TableMode 接続プロパティを介してビューとして自動的に公開されます。TableMode をオーバーライドする Views 接続プロパティを使用して、操作する SAP テーブルを指定します。SAP では、テーブルを直接変更することは推奨されていません。代わりに、BAPI を使用して表形式のデータを変更することをおすすめします。SAP テーブルの直接変更はサポートされていません。
BAPI と RFC: BAPI と RFC はストアド プロシージャとして直接公開されます。デフォルトでは、キーワード BAPI で始まるすべての RFC が、使用可能なストアド プロシージャとして表示されます。
IDoc: 中間ドキュメント(IDoc)ファイルは、電子メールの形式でビジネス取引データをシステム間で転送する SAP オブジェクトです。IDocs は、電子データ交換(EDI)システムを介して SAP から SAP 以外のシステムにデータを転送します。
これらの用語の詳細については、SAP 用語集をご覧ください。
始める前に
SAP ERP コネクタを使用する前に、次の作業を行います。
- Google Cloud プロジェクトで次の操作を行います。
- ネットワーク接続が設定されていることを確認します。ネットワーク パターンの詳細については、Network Connectivity をご覧ください。
- コネクタを構成するユーザーに roles/connectors.admin IAM ロールを付与します。
- コネクタに使用するサービス アカウントに、次の IAM ロールを付与します。
roles/secretmanager.viewer
roles/secretmanager.secretAccessor
roles/storage.objectViewer
サービス アカウントは特別なタイプの Google アカウントで、Google API のデータにアクセスするのに認証を受ける必要がある人間以外のユーザーを表します。サービス アカウントがない場合は、サービス アカウントを作成する必要があります。詳細については、サービス アカウントを作成するをご覧ください。
- 次のサービスを有効にします。
secretmanager.googleapis.com
(Secret Manager API)connectors.googleapis.com
(Connectors API)
サービスを有効にする方法については、サービスを有効にするをご覧ください。
以前にプロジェクトでこうしたサービスを有効にしていない場合は、コネクタを構成するときにそれを有効にすることを求められます。
イベント サブスクリプションを有効にする場合は、ABAP SDK を構成する必要があります。ABAP SDK の構成については、ABAP SDK for Google Cloud の概要をご覧ください。
コネクタを構成する
コネクタを構成するには、データソース(バックエンド システム)への接続を作成する必要があります。接続はデータソースに特有です。つまり、多数のデータソースがある場合は、データソースごとに別々の接続を作成する必要があります。接続を作成する手順は次のとおりです。
- Cloud コンソールで、[Integration Connectors] > [接続] ページに移動し、Google Cloud プロジェクトを選択または作成します。
- [+ 新規作成] をクリックして [接続の作成] ページを開きます。
-
[ロケーション] セクションで、接続のロケーションを選択します。
- リージョン: プルダウン リストからロケーションを選択します
サポートされているすべてのリージョンのリストについては、ロケーションをご覧ください。
- [次へ] をクリックします。
- リージョン: プルダウン リストからロケーションを選択します
- [接続の詳細] セクションで、次の操作を行います。
- Connector: 使用可能なコネクタのプルダウン リストから [SAP ERP] を選択します。
- コネクタのバージョン: 使用可能なバージョンのプルダウン リストからコネクタのバージョンを選択します。
- [接続名] フィールドに、接続インスタンスの名前を入力します。
接続名は次の条件を満たす必要があります。
- 接続名には英字、数字、ハイフンを使用できます。
- 文字は小文字のみを使用できます。
- 接続名の先頭には英字を設定し、末尾には英字または数字を設定する必要があります。
- 接続名は 49 文字以内で指定してください。
- イベント サブスクリプションをサポートするコネクタの場合、接続名の先頭に接頭辞「goog」は使用できません。
- 必要に応じて、接続の [説明] を入力します。
- 必要に応じて、Cloud Logging を有効にして、ログレベルを選択します。デフォルトでは、ログレベルは
Error
に設定されています。 - サービス アカウント: 必要なロールを持つサービス アカウントを選択します。
- イベント サブスクリプションの接続を使用するには、[イベント サブスクリプションを有効にする] を選択します。これを選択すると、次のオプションが表示されます。
- エンティティとアクションを使用したイベント サブスクリプションを有効にする: このオプションを選択すると、イベント サブスクリプションとコネクタ オペレーション(エンティティとアクション)の両方に対して接続が使用されます。
- イベント サブスクリプションのみを有効にする: イベント サブスクリプションに対してのみ接続を使用するには、このオプションを選択します。このオプションを選択した場合は、[次へ] をクリックして、イベント サブスクリプションを構成します。
- Client: SAP システムを認証するクライアント。
- System Id: SAP システムのシステム ID または R3Name で、最大 3 文字の文字列です。ロード バランシング接続でよく使用されます。
- System Number: ターゲット システムを定める番号。ホスト接続プロパティを設定するときに使用されます。
- Project ID: SAP JCo jar を含む GCS バケットが存在する Google Cloud プロジェクトの ID。
- Bucket: sapjco3.jar ファイルと libsapjco3.so ファイルが含まれるバケットの名前
- Jaco jar オブジェクト ID: JCo jar のオブジェクト ID。
- libsapjco3 オブジェクト ID: libsapjco3 jar のオブジェクト ID。
- テーブルモード: ビューとして表示する SAP テーブルを選択します。
- 読み取りテーブル関数: テーブルの読み取りに使用される関数の名前。詳細については、カスタム読み取りテーブル関数を使用するをご覧ください。
- システム ID: SAP システムのシステム ID または R3Name。最大 3 文字まで入力できます。
- クエリモード: ビューとして表示する必要がある SAP テーブルを選択します。
-
閲覧可能なビュー: 表示するビューのカンマ区切りリストを入力します。例:
ViewA,ViewB,ViewC
- 言語: このプロパティは、SAP にログインするときに指定した言語に設定します。このプロパティは、SAP システムで使用される言語の ISO 639-1 コードです。デフォルトでは、EN が使用されます。
- サービス エントリ: 接続に使用するサービス エントリ。
-
SNC モード: Integration Connectors と SAP システム間の認証用に SNC を有効にするには、このオプションを選択します。このオプションを選択した場合は、次の詳細情報を指定します。
- SNC_LIB オブジェクト ID: SNC ライブラリのオブジェクト ID。
- PSE 名: バケットに適用される個人用セキュリティ環境(PSE)ファイルの名前。PSE ファイルには、公開鍵と秘密鍵のペア、X.509 証明書が ASN.1 構造で保存されます。
- SNC パスコード: SNC ライブラリ パスコードの Secret Manager の Secret を選択します。
- シークレットのバージョン: シークレットのバージョンを選択します。
- SNC 名: SNC 接続の名前を入力します。
-
SNC qop: 保護レベルを選択します。サポートされているレベルは次のとおりです。
- 1 - 認証のみを適用します。
- 2 - 完全性保護を適用します。これには認証の保護も含まれます。
- 3 - プライバシー保護を適用します。これには完全性と認証の保護も含まれます。
- 8 - デフォルトの保護を適用します。
- 9 - 最大限の保護を適用します。
- SNC パートナー名: アプリケーション サーバーの SNC 名を入力します。
-
接続スキーム: SAP システムにメッセージ サーバー(Group Server)を使用して接続するか、アプリケーション サーバーを使用して接続するかを指定します。メッセージ サーバーを使用して SAP システムに接続するために必要な前提条件については、メッセージ サーバー(Group Server)接続タイプをご覧ください。
[GroupServer] を選択した場合は、次の詳細を指定する必要があります。
- メッセージ サーバー: ロード バランシングを使用する SAP システムに接続する場合は、メッセージ サーバーを指定します。
- Message Server Service: 接続する Message Server サービス。
- Group: 使用されているログオン グループ。これは、ロード バランシングを使用する SAP システムに接続する場合にのみ指定する必要があります。
メッセージ サーバー(Group Server)を使用して SAP システムに接続する場合は、[宛先] セクションでホストアドレスを指定する必要はありません。
- 必要に応じて、接続ノードの設定を構成します。
- ノードの最小数: 接続ノードの最小数を入力します。
- ノードの最大数: 接続ノードの最大数を入力します。
ノードは、トランザクションを処理する接続の単位(またはレプリカ)です。1 つの接続でより多くのトランザクションを処理するには、より多くのノードが必要になります。逆に、より少ないトランザクションを処理するには、より少ないノードが必要になります。ノードがコネクタの料金に与える影響については、接続ノードの料金をご覧ください。値を入力しない場合は、デフォルトで最小ノード数は 2 に設定され(可用性を高めるため)、最大ノード数は 50 に設定されます。
- 必要に応じて、[+ ラベルを追加] をクリックして Key-Value ペアの形式でラベルを接続に追加します。
- [次へ] をクリックします。
- [宛先] セクションに、接続するリモートホスト(バックエンド システム)の詳細を入力します。メッセージ サーバーを使用して SAP システムに接続する場合は、ホストアドレスを指定する必要はありません。
- 宛先の種類: 宛先の種類を選択します。
- リストから [ホストアドレス] を選択し、宛先のホスト名または IP アドレスを指定します。
- バックエンド システムへのプライベート接続を確立する場合は、リストからエンドポイント アタッチメントを選択し、次にエンドポイント アタッチメントリストから必要なエンドポイント アタッチメントを選択します。
セキュリティをさらに強化してバックエンドシステムへのパブリック接続を確立する場合は、接続用の静的アウトバウンド IP アドレスの構成を検討してから、特定の静的 IP アドレスのみを許可リストに登録するようファイアウォール ルールを構成します。
他の宛先を入力するには、[+ 宛先を追加] をクリックします。
- [次へ] をクリックします。
- 宛先の種類: 宛先の種類を選択します。
-
[認証] セクションで、認証の詳細を入力します。
- [認証タイプ] を選択し、関連する詳細を入力します。
SAP ERP 接続でサポートされる認証タイプは、次のとおりです。
- X509 証明書ベースの認証
- ユーザー名とパスワードを指定する
- [次へ] をクリックします。
これらの認証タイプの構成方法については、認証を構成するをご覧ください。
- [認証タイプ] を選択し、関連する詳細を入力します。
- イベント サブスクリプションを有効にしている場合は、接続作成ページに [イベント サブスクリプションの詳細] セクションが表示されます。イベント サブスクリプションの詳細の構成方法については、イベント サブスクリプションを構成するをご覧ください。
- Review: 接続と認証の詳細を確認します。
- [作成] をクリックします。
認証を構成する
使用する認証に基づいて詳細を入力します。
-
X509Certificate ベースの認証
- X509Certificate: ログインに使用される X509 証明書。
- シークレットのバージョン: シークレットのバージョンを選択します。
- ユーザー名とパスワード
- ユーザー名: コネクタのユーザー名
- パスワード: コネクタに関連付けられたパスワードを含む Secret Manager の Secret。
イベント サブスクリプション用に構成する
イベント サブスクリプションを有効にする場合は、ABAP SDK を構成する必要があります。ABAP SDK の構成については、ABAP SDK for Google Cloud の概要をご覧ください。
[イベント サブスクリプションの詳細] セクションに次の値を入力します。
-
イベント リスナーに次のいずれかの認証タイプを選択します。
- Google 認証このオプションを有効にする場合、JSON Web Token を使用して認証するの手順に沿って、ABAP SDK の認証を構成します。また、サービス アカウントに、アクセス トークンが認証に使用される roles/connectors.listener ロールがあることを確認します。
- API キー認証このオプションを選択する場合は、API キーを作成して、Secret Manager シークレットとしてキーを保存している必要があります。詳細については、API キーを作成するをご覧ください。
-
イベントタイプのフィールド名を入力します。このフィールドは、受信イベント リクエストに関連付けられているイベントのタイプを識別します
{ "event_type": "user.created", ... // other request fields ... }
- バックエンド アプリケーションと接続間を安全に接続するには、[プライベート接続を有効にする] を選択します。このオプションを選択した場合は、接続の作成後に追加の構成手順を実行する必要があります。詳細については、イベント サブスクリプションのプライベート接続をご覧ください。
- デッドレター構成を入力します。デッドレターを構成すると、指定された Pub/Sub トピックに未処理のイベントが書き込まれます。次の詳細情報を入力します。
- デッドレター プロジェクト ID: デッドレター Pub/Sub トピックを構成した Google Cloud プロジェクト ID。
- デッドレター トピック: 未処理イベントの詳細を書き込む Pub/Sub トピック。
接続構成のサンプル
以降のセクションでは、SAP ERP 接続を作成するときに使用するさまざまなフィールドのサンプル値と、さまざまな接続タイプに必要なパラメータについて説明します。
分散 SAP システムへの接続
ロード バランシングを使用するシステムなど、分散 SAP システムに接続する場合は、次の追加の接続プロパティを指定する必要があります。管理者は、SAP システムの [System Entry Properties] ダイアログの [Connection] タブでこれらの接続プロパティを取得できます。
- システム ID: SystemId プロパティから取得した値を指定します。System Id は、SAP システムのシステム ID または R3Name です。システム ID は最大 3 文字の文字列です。
- メッセージ サーバー: ロード バランシングを使用する SAP システムに接続する場合は、[メッセージ サーバー] フィールドを指定する必要があります。このプロパティには、SAP システムの MessageServer プロパティから取得した値を設定します。また、[Message Server] フィールドの値の前に、[SAProuter] ボックスの値を追加します。
- グループ: このプロパティには、グループ/サーバープロパティから取得した値を設定します。グループプロパティには、使用しているログオン グループを指定します。デフォルト値は PUBLIC です。
カスタム アプリケーション サーバーに接続する
専用のアプリケーション サーバーまたはカスタム アプリケーション サーバーを使用して SAP システムに接続する場合は、次の追加の接続プロパティを指定する必要があります。管理者は、これらの接続プロパティを SAP システムから取得できます。
- システム ID: SystemId プロパティから取得した値を指定します。これは、SAP システムのシステム ID または R3Name です。システム ID は最大 3 文字の文字列です。
- ホスト: アプリケーション サーバーから取得した値を指定します。
これは、ターゲット システムのホスト名を指定します。この値には、通常のホスト名、IP アドレス、または SAP ルーター アドレスを使用できます。
- System Number: SystemNumber プロパティから取得した値を指定します。
SystemNumber プロパティは、ターゲット システムを定義します。
安全なネットワーク接続の構成
管理者が安全なネットワーク通信(SNC)を構成している場合は、次の追加プロパティを設定する必要があります。SAP システムから、[System Entry Properties] ダイアログの [Network] タブで次の SNC 接続文字列プロパティを取得できます。
- SNC モード: SAP で [Activate Secure Network Connections] チェックボックスが有効になっている場合は、SNC モード接続プロパティを True に設定します。それ以外の場合は、SNC モード接続プロパティを False に設定します。
SNCMode 接続プロパティは、SNC を使用しているかどうかを決定するブール値です。デフォルト値は false です。
- SNC PartnerName: SNC PartnerName には、アプリケーション サーバーの SNC 名を指定します。例: p:CN=IDS, OU=IT, O=CSW, C=DE
- SNC 名: 省略可。SNCName プロパティには、SNC 接続の名前を指定します。このプロパティを設定して、接続に正しい SNC 名が使用されるようにします。
- SNC Qop: このプロパティは、[Secure Network Settings] セクションで選択したオプションに設定します。たとえば、[完全性] オプションを選択した場合は、SNCQop プロパティを 3 に設定します。
SNCQop プロパティには、データ保護のレベル(品質)を指定します。このプロパティが指定されていない場合、このプロパティには整数 -1 が設定されます。有効な値は、保護レベルに対応する 1、2、3、8、9 です。
- SNC_Lib オブジェクト ID: このプロパティには、SNC ライブラリのパスとファイル名を設定します。使用しているセキュリティ ライブラリの完全パスを指定します(
C:\Secude\secude.xll.
など)。
ApplicationServer の接続タイプ
アプリケーション サーバー接続の場合、Private Service Connect とロードバランサは、ネットワーク エンドポイント グループ(NEG)とヘルスチェックで SAP システムの IP とポート 33XX を使用して構成する必要があります。ここで、XX は、使用している SAP システムのシステム番号またはインスタンス番号です。次の表に、ApplicationServer
接続タイプのサンプル構成値を示します。必須フィールドと省略可能なフィールドについては、コンソールの接続作成インターフェースをご覧ください。
フィールド名 | 値のサンプル |
---|---|
リージョン | us-central1 |
コネクタ | SAP ERP |
Connector Version | 1 |
コネクタ名 | saperp-applicationserver-conn |
説明 | NA |
サービス アカウント | xxxxxxxxx-compute@developer.gserviceaccount.com |
クライアント | 800 |
システム番号 | 00 |
プロジェクト ID | xxxx-gcp-project |
バケット | sap-erp-bucket |
Jco Jar オブジェクト ID | sapjco3.jar |
libsapjco3 オブジェクト ID | libsapjco3.so |
表形式 | TransparentApplication/TransparentCustomer/TransparentSystem/Pooled/Cluster/None |
読み取りテーブル関数 | Z_CUSTOM_READ_TABLE |
接続方式 | ApplicationServer |
システム ID | SA1 |
クエリモード | NA |
閲覧可能なビュー | NA |
詳細レベル | 5 |
ノードの最小数 | 2 |
ノードの最大数 | 50 |
ホストアドレス | 10.30.X.XX または外部 SAP システムの ルーター文字列。 |
認証 | ユーザー パスワード |
ユーザー名 | 12345 |
パスワード | xyz@12345 |
バージョン | 1 |
メッセージ サーバー(グループ サーバー)の接続タイプ
メッセージ サーバー(Group Server)を使用して SAP システムに接続する前に、次の前提条件を満たしていることを確認してください。- Private Service Connect とロードバランサは、ネットワーク エンドポイント グループ(NEG)とヘルスチェックでポート 33XX と 36XX の SAP システム IP で構成する必要があります。ここで、XX は、使用している SAP システムのシステム番号またはインスタンス番号です。
- Cloud DNS で DNS ゾーンを作成し、33XX ポートで構成されたアプリケーション サーバーのエンドポイント アタッチメントを SAP システムのホスト名にマッピングする必要があります。
- メッセージ サーバー(Group Server)を使用して SAP システムに接続できるのは、メッセージ サーバーがアプリケーション サーバーの完全修飾ドメイン名(FDQN)アドレスを返す場合のみです。メッセージ サーバーが IP アドレスを返す場合、メッセージ サーバー(Group Server)を使用して SAP システムに接続することはできません。
- メッセージ サーバーは、アプリケーションがリクエストしたときにアプリケーションが接続する必要があるアプリケーション サーバーの DNS で応答する必要があります。
- アプリケーション サーバーの DNS は一意で、他の SAP システムで使用されていないものにする必要があります。
- SAP アプリケーションでは、アプリケーション サーバーとメッセージ サーバーのエンドポイント アタッチメント IP を gw/alternative_hostnames パラメータで維持する必要があります。
- Tcode - RZ10 に移動し、インスタンス プロファイルに「gw/alternative_hostname」パラメータを入力します。
- 「ms/lg_with_hostname」パラメータの値を 1 に設定します。これにより、メッセージ サーバーはホスト名を使用してアプリケーション サーバーを識別し、通信できるようになります。
- SAP アプリケーションを再起動して、パラメータを有効にします。
次の表に、Group Server
接続タイプのサンプル構成値を示します。
フィールド名 | 値のサンプル |
---|---|
リージョン | us-central1 |
コネクタ | SAP ERP |
Connector Version | 1 |
コネクタ名 | saperp-groupserver-conn |
説明 | NA |
サービス アカウント | SA-compute@developer.gserviceaccount.com |
クライアント | 800 |
システム番号 | 00 |
プロジェクト ID | Google-cloud-project |
バケット | sap-erp-bucket |
Jco Jar オブジェクト ID | sapjco3.jar |
libsapjco3 オブジェクト ID | libsapjco3.so |
表形式 | TransparentApplication/TransparentCustomer/TransparentSystem/Pooled/Cluster/None |
グループ | 一般公開 |
メッセージ サーバー | 10.30.X.XX |
読み取りテーブル関数 | Z_CUSTOM_READ_TABLE |
接続方式 | GroupServer |
システム ID | SA1 |
クエリモード | NA |
閲覧可能なビュー | NA |
詳細レベル | 5 |
ノードの最小数 | 2 |
ノードの最大数 | 50 |
認証 | ユーザー パスワード |
ユーザー名 | ユーザー名 |
パスワード | パスワード |
バージョン | 1 |
X509 証明書の接続タイプ
X509 接続を使用したセキュア ネットワーク通信(SNC)の場合、Private Service Connect とロードバランサは、ネットワーク エンドポイント グループ(NEG)とヘルスチェックで SAP システムの IP とポート 48XX を使用して構成する必要があります。ここで、XX は、使用している SAP システムのシステム番号またはインスタンス番号です。次の表に、X509 certificate
接続タイプのサンプル構成値を示します。必須フィールドと省略可能なフィールドについては、コンソールの接続作成インターフェースをご覧ください。
フィールド名 | 値のサンプル |
---|---|
リージョン | us-central1 |
コネクタ | SAP ERP |
Connector Version | 1 |
コネクタ名 | saperp-X509Certificate-conn |
説明 | NA |
サービス アカウント | xxxxxxxxx-compute@developer.gserviceaccount.com |
クライアント | 800 |
システム番号 | 00 |
プロジェクト ID | xxxx-gcp-project |
バケット | sap-erp-bucket |
Jco Jar オブジェクト ID | sapjco3.jar |
libsapjco3 オブジェクト ID | libsapjco3.so |
表形式 | TransparentApplication/TransparentCustomer/TransparentSystem/Pooled/Cluster/None |
SNC_LIB オブジェクト ID | libsapcrypto.so |
cred_v2 ファイルを作成するための PSE 名 | EHP8_GCP_SA1.pse |
読み取りテーブル関数 | Z_CUSTOM_READ_TABLE |
接続方式 | ApplicationServer |
システム ID | SA1 |
SNC パスコード | xyz@gcp |
SNC モード | SNC を使用しているかどうかを設定するブール値。これを true に設定して、SNC を使用します。 |
SNC 名 | p:CN=EHP8_GCP_SA1、OU=IT、O=CSW、C=DE |
SNC Qop | 3 |
SNC PartnerName | p:CN=SA1, OU=I0020070395, OU=SAP Web AS, O=SAP Trust Community, C=DE |
クエリモード | NA |
閲覧可能なビュー | NA |
詳細レベル | 5 |
ノードの最小数 | 2 |
ノードの最大数 | 50 |
ホストアドレス | 10.30.X.XX または外部 SAP システムの ルーター文字列。 |
認証 | 認証ベースの X509 証明書 |
X509Certificate | X509 証明書は、PEM 形式の X509 証明書を含むファイルを指すファイルパスを使用して指定される場合があります。「-----BEGIN ...」ヘッダーで始まる PEM blob、または「-----BEGIN ...」ヘッダーがない PEM blob。 |
バージョン | 1 |
システムの上限
SAP ERP コネクタは、ノードごとに 1 秒あたり 7 件のトランザクションを処理することができ、この上限を超えるトランザクションはすべてスロットルされます。 デフォルトでは、Integration Connectors は、接続に 2 つのノードを割り当てます(可用性を高めるため)。
Integration Connectors に適用される上限の詳細については、上限をご覧ください。
インテグレーションで SAP ERP 接続を使用する
接続を作成すると、Apigee Integration と Application Integration の両方で使用できるようになります。この接続は、コネクタタスクを介して統合で使用できます。
- Apigee Integration で Connectors タスクを作成して使用する方法については、Connectors タスクをご覧ください。
- Application Integration で Connectors タスクを作成して使用する方法については、Connectors タスクをご覧ください。
エンティティ、オペレーション、アクション
すべての Integration Connectors が、接続されたアプリケーションのオブジェクトを抽象化するレイヤを提供します。アプリケーションのオブジェクトには、この抽象化を通じてのみアクセスできます。抽象化は、エンティティ、オペレーション、アクションとして公開されます。
- エンティティ: エンティティは、接続されているアプリケーションやサービスのオブジェクト、またはプロパティのコレクションと考えることができます。エンティティの定義は、コネクタによって異なります。たとえば、データベース コネクタでは、テーブルがエンティティであり、ファイル サーバー コネクタでは、フォルダがエンティティです。また、メッセージング システム コネクタでは、キューがエンティティです。
ただし、コネクタでいずれのエンティティもサポートされていない、またはエンティティが存在しない可能性があります。その場合、
Entities
リストは空になります。 - オペレーション: エンティティに対して行うことができるアクティビティです。エンティティに対して次のいずれかのオペレーションを行うことができます。
使用可能なリストからエンティティを選択すると、そのエンティティで使用可能なオペレーションのリストが生成されます。オペレーションの詳細については、コネクタタスクのエンティティ オペレーションをご覧ください。ただし、コネクタがいずれかのエンティティ オペレーションをサポートしていない場合、サポートされていないオペレーションは
Operations
リストに含まれません。 - アクション: コネクタ インターフェースを介して統合で使用できる主要な関数の一つです。アクションを使用すると、1 つまたは複数のエンティティに対して変更を加えることができます。また、使用できるアクションはコネクタごとに異なります。通常、アクションには入力パラメータと出力パラメータがあります。ただし、コネクタがどのアクションもサポートしていない可能性があります。その場合は、
Actions
リストが空になります。
アクション
このセクションでは、RFC について説明し、コネクタでサポートされているアクションを一覧表示します。アクションの構成方法については、アクションの例をご覧ください。
RFC の使用
このセクションでは、必要な RFC と RFC の使用について説明します。
必須の RFC
必要な RFC が利用できない場合、一部またはすべての機能が動作しないことがあります。T-Code SE37 を使用すると、SAP で使用可能な関数モジュールを表示できます。
SAP ERP コネクタでは、次の RFC が使用されます。
- DDIF_FIELDINFO_GET
- RFC_GET_FUNCTION_INTERFACE
- RFC_GET_STRUCTURE_DEFINITION
- RFC_GET_SYSTEM_INFO
- RFC_GET_UNICODE_STRUCTURE
- RFC_READ_TABLE
- SLDAG_CHECK_FOR_UNICODE
大規模なデータを読み取る
このセクションでは、SAP バックエンドから大規模なデータを読み取るために必要なアプローチについて説明します。
SAP ERP コネクタは SAP RFC_READ_TABLE
関数を使用して SAP テーブルからデータを取得します。この関数の固定サイズは 512 バイトです。データの行ごとにバッファリングできるため、このバッファに収まる量を超える列を選択することはできません。512 バイト以上を選択すると、統合の実行時に DATA_BUFFER_EXCEEDED
例外が発生します。これは、行あたりに許容されている最大バッファサイズを超えており、選択する列の数を減らす必要があることを示します。
この問題を解決するには、Custom RFC_READ_TABLE
のコードを含めます。これは SAP RFC_READ_TABLE
に似ていますが、DATA_BUFFER_EXCEEDED
の問題に対処するためにバッファが大きくなっています。
カスタム読み取りテーブル関数を使用する
このコネクタは、SAP RFC_READ_TABLE
に似ていますが、DATA_BUFFER_EXCEEDED
の問題に対処できるようにバッファが大きい Custom RFC_READ_TABLE
をサポートしています。
SAP バックエンドでカスタム RFC_READ_TABLE を作成する
サンプルのカスタム RFC_READ_TABLE を使用する手順は次のとおりです。
- 新しい関数のテンプレートとして
RFC_READ_TABLE
関数を使用する: トランザクション コード SE37 と SDTX 関数グループを選択し、RFC_READ_TABLE
を新しい関数グループまたは作業関数グループにコピーします。この例では、RFC_READ_TABLE
がZ_CUSTOM_RFC_TABLE
にコピーされます。 - SAP ページの [Attributes] タブで、[Remote Enabled Module] を選択します。
- [テーブル] タブで、
DATA
パラメータをCHAR8000
に設定します(右クリックしてから [表示] -> [変更] をクリックする必要がある場合があります)。 - [ソースコード] タブに、カスタム読み取りテーブル RFC コードを入力します。参照: sample Z_CUSTOM_RFC_TABLE_function.txt
- [保存] をクリックします。
- 提供されたカスタム読み取りテーブルに記載されているように、インポート、テーブル、例外を定義します。
- 関数モジュールを有効にします。
ABAP 7.52 のカスタム読み取りテーブル
ABAP 7.52 以降を使用している場合は、サンプル Z_CUSTOM_RFC_TABLE_function_ABAP752.txt をご覧ください。このサンプル関数は、ABAP バージョン 7.52 以降用に設計されています。これは Z_CUSTOM_RFC_TABLE
関数に似ていますが、ABAP 7.52 で新しく使用可能になったキーワードを利用して、ABAP スクリプト自体ではなくデータベース内でページングを実行します。これにより、ページ設定が大幅に効率化され、大規模なテーブルを操作する場合のパフォーマンスが向上します。可能な場合は Z_CUSTOM_RFC_TABLE_752 RFC
を使用することをおすすめします。
RFC_READ_TABLE 関数へのアクセス
このセクションでは、RFC_READ_TABLE 関数にアクセスするために SAP ユーザーに割り当てるロールについて説明します。この関数は、任意のテーブルへの一般的な読み取りアクセスを可能にするリモート対応関数モジュールです。
SAP ERP コネクタ タスクの構成中にテーブルがエンティティの下に表示されるようにするには、SAP ERP 接続レベルで RFC_READ_TABLE 関数を使用し、R/3 関数 RFC_READ_TABLE にアクセスする権限が必要です。
アクティビティ 03(表示)の承認 S_TABU_DIS と、関数 RFC_READ_TABLE の認証グループ「SC」を追加します。
RFC_READ_TABLE の技術的な制限事項は次のとおりです。
- 読み取りできるのは、単純なデータ型のテーブルのみです。STRING フィールドと XSTRING フィールドはサポートされていません。
- 最大行幅は 512 文字です。
- 返されるレコードの数は、メモリしきい値によって制限されます。
BAPI_MATERIAL_SAVEDATA アクション
このアクションにより、特定のタスクを実行できます。たとえば、SAP ERP でマテリアル マスターデータを作成または変更できます。
BAPI_MATERIAL_SAVEDATA アクションの入力パラメータ
パラメータ名 | データ型 | 必須 | 説明 |
---|---|---|---|
HEADDATA | 文字列 | ○ | 入力パラメータ HEADDATA。 |
CLIENTDATA | 文字列 | ○ | 入力パラメータ CLIENTDATA。 |
CLIENTDATAX | 文字列 | ○ | 入力パラメータ CLIENTDATAX。 |
MATERIALDESCRIPTION | 文字列 | ○ | テーブル MATERIALDESCRIPTION。 |
BAPI_MATERIAL_SAVEDATA アクションの出力パラメータ
このアクションは、アクションが正常に完了した場合、ステータス 200(OK)を返します。
BAPI_MATERIAL_SAVEDATA
アクションの構成方法の例については、アクションの例をご覧ください。
ZFM_GCP_MULTIDATA_TAB のアクション
このアクションにより、ユーザーは特定のタスクを実行できます。たとえば、SAP ERP でマルチデータ型データを作成できます。
ZFM_GCP_MULTIDATA_TAB アクションの入力パラメータ
パラメータ名 | データ型 | 必須 | 説明 |
---|---|---|---|
ReturnTables | 文字列 | ○ | 出力する関数モジュールのテーブルを指定するカンマ区切りのリスト。 指定しない場合は、返されたすべてのテーブルが出力されます。 |
T_TABLE | 文字列 | ○ | テーブル T_TABLE。 |
IM_INPUT_1 | 文字列 | ○ | 入力パラメータ IM_INPUT_1。 |
IM_INPUT_2 | 文字列 | ○ | 入力パラメータ IM_INPUT_2。 |
ZFM_GCP_MULTIDATA_TAB アクションの出力パラメータ
このアクションは、アクションが正常に完了した場合、ステータス 200(OK)を返します。
ZFM_GCP_MULTIDATA_TAB
アクションの構成方法の例については、アクションの例をご覧ください。
PushIDoc アクション
このアクションにより、特定のタスクを実行できます。たとえば、SAP から外部システムにデータを転送できます。
PushIDoc アクションの入力パラメータ
パラメータ名 | データ型 | 必須 | 説明 |
---|---|---|---|
FileType | 文字列 | ○ | ファイル形式。有効な値は XML、IDoc です。 |
モード | 文字列 | ○ | 転送モード。指定できる値は Sync、ASync です。 |
コンテンツ | 文字列 | ○ | ファイルのコンテンツ。 |
PushIDoc アクションの出力パラメータ
このアクションは、アクションが正常に完了した場合、ステータス 200(OK)を返します。
PushIDoc
アクションの構成方法の例については、アクションの例をご覧ください。
ExecuteCustomQuery アクション
このアクションにより、カスタムクエリを実行できます。
カスタムクエリを作成する手順は次のとおりです。
- 詳細な手順に沿って、コネクタタスクを追加します。
- コネクタタスクを構成するときに、実行するアクションの種類で [Actions] を選択します。
- [Actions] リストで [Execute custom query] を選択し、[Done] をクリックします。
- [Task input] セクションを開き、次の操作を行います。
- [タイムアウト後] フィールドに、クエリが実行されるまで待機する秒数を入力します。
デフォルト値:
180
秒 - [最大行数]フィールドに、データベースから返される最大行数を入力します。
デフォルト値:
25
。 - カスタムクエリを更新するには、[Edit Custom Script] をクリックします。[Script editor] ダイアログが開きます。
- [Script editor] ダイアログで、SQL クエリを入力して [Save] をクリックします。
SQL ステートメントで疑問符(?)を使用して、クエリ パラメータ リストで指定する必要がある 1 つのパラメータを表すことができます。たとえば、次の SQL クエリは、
LastName
列に指定された値と一致するEmployees
テーブルからすべての行を選択します。SELECT * FROM Employees where LastName=?
- SQL クエリで疑問符を使用した場合は、各疑問符の [+ パラメータ名を追加] をクリックして、パラメータを追加する必要があります。統合の実行中に、これらのパラメータにより SQL クエリ内の疑問符(?)が順番に置き換わります。たとえば、3 つの疑問符(?)を追加した場合、3 つのパラメータを順番に追加する必要があります。
クエリ パラメータを追加する手順は次のとおりです。
- [Type] リストから、パラメータのデータ型を選択します。
- [値] フィールドに、パラメータの値を入力します。
- 複数のパラメータを追加するには、[+ クエリ パラメータを追加] をクリックします。
- [タイムアウト後] フィールドに、クエリが実行されるまで待機する秒数を入力します。
アクションが正常に実行されると、クエリ結果のあるレスポンスの本文でステータス 200(OK)を返します。
アクションの例
例 - レコードを作成する
この例では、BAPI_MATERIAL_SAVEDATA アクションを使用して、マテリアル レコードを作成します。
- [
Configure connector task
] ダイアログで、[Actions
] をクリックします。 - [
BAPI_MATERIAL_SAVEDATA
] アクションを選択してから、[完了] をクリックします。 - [コネクタ] タスクの [タスク入力] セクションで、
connectorInputPayload
をクリックし、Default Value
フィールドに次のような値を入力します。{ "HEADDATA": "{\"MATERIAL\":\"000000000000009001\",\"IND_SECTOR\":\"M\",\"MATL_TYPE\":\"HALB\",\"BASIC_VIEW\":\"X\"}", "CLIENTDATA" : "{\"MATL_GROUP\":\"00107\",\"BASE_UOM\":\"KG\"}", "CLIENTDATAX" : "{\"MATL_GROUP\":\"X\",\"BASE_UOM\":\"X\"}", "MATERIALDESCRIPTION" : "{\"LANGU\":\"E\",\"MATL_DESC\":\"Classification Google\"}" }
アクションが成功すると、BAPI_MATERIAL_SAVEDATA
タスクの connectorOutputPayload
レスポンス パラメータの値は次のようになります。
[{ "RETURN_TYPE": "S", "RETURN_ID": "MM", "RETURN_NUMBER": 356, "RETURN_MESSAGE": "The material 9001 has been created or extended", "RETURN_LOG_NO": "", "RETURN_LOG_MSG_NO": 0, "RETURN_MESSAGE_V1": "9001", "RETURN_FIELD": "", "RETURN_SYSTEM": "T90CLNT090", "RESULT_TABLE": null }]
例 - レコードを更新する
この例では、BAPI_MATERIAL_SAVEDATA アクションを使用して、マテリアル レコードを更新します。
- [
Configure connector task
] ダイアログで、[Actions
] をクリックします。 - [
BAPI_MATERIAL_SAVEDATA
] アクションを選択してから、[完了] をクリックします。 - [コネクタ] タスクの [タスク入力] セクションで、
connectorInputPayload
をクリックし、Default Value
フィールドに次のような値を入力します。{ "HEADDATA": "{\"MATERIAL\":\"000000000000009000\",\"IND_SECTOR\":\"A\",\"MATL_TYPE\":\"FHMI\",\"BASIC_VIEW\":\"X\"}", "CLIENTDATA": "{\"MATL_GROUP\":\"013\",\"BASE_UOM\":\"ST\"}", "CLIENTDATAX": "{\"MATL_GROUP\":\"X\",\"BASE_UOM\":\"X\"}", "MATERIALDESCRIPTION": "{\"LANGU\":\"E\",\"MATL_DESC\":\"Classification Googlecloud\"}" }
アクションが成功すると、BAPI_MATERIAL_SAVEDATA
タスクの connectorOutputPayload
レスポンス パラメータの値は次のようになります。
[{ "RETURN_TYPE": "S", "RETURN_ID": "MM", "RETURN_NUMBER": 356, "RETURN_MESSAGE": "The material 9000 has been created or extended", "RETURN_LOG_NO": "", "RETURN_LOG_MSG_NO": 0, "RETURN_MESSAGE_V1": "9000", "RETURN_PARAMETER": "", "RETURN_ROW": 0, "RETURN_FIELD": "", "RETURN_SYSTEM": "T90CLNT090", "RESULT_TABLE": null }]
例 - レコードを削除する
この例では、BAPI_MATERIAL_SAVEDATA アクションを使用して、マテリアル レコードを削除します。
- [
Configure connector task
] ダイアログで、[Actions
] をクリックします。 - [
BAPI_MATERIAL_SAVEDATA
] アクションを選択してから、[完了] をクリックします。 - [コネクタ] タスクの [タスク入力] セクションで、
connectorInputPayload
をクリックし、Default Value
フィールドに次のような値を入力します。{ "HEADDATA": "{\"MATERIAL\":\"000000000000009000\",\"BASIC_VIEW\":\"X\"}", "CLIENTDATA": "{\"DEL_FLAG\":\"X\"}", "CLIENTDATAX": "{\"DEL_FLAG\":\"X\"}" }
アクションが成功すると、BAPI_MATERIAL_SAVEDATA
タスクの connectorOutputPayload
レスポンス パラメータの値は次のようになります。
[{ "RETURN_TYPE": "S", "RETURN_ID": "MM", "RETURN_NUMBER": 356, "RETURN_LOG_NO": "", "RETURN_LOG_MSG_NO": 0, "RETURN_MESSAGE_V1": "9000", "RETURN_PARAMETER": "", "RETURN_ROW": 0, "RETURN_FIELD": "", "RETURN_SYSTEM": "T90CLNT090", "RESULT_TABLE": null }]
例 - マルチデータ型データを作成する
この例では、ZFM_GCP_MULTIDATA_TAB アクションを使用して、マルチデータ型データを作成します。
- [
Configure connector task
] ダイアログで、[Actions
] をクリックします。 - [
ZFM_GCP_MULTIDATA_TAB
] アクションを選択してから、[完了] をクリックします。 - [コネクタ] タスクの [タスク入力] セクションで、
connectorInputPayload
をクリックし、Default Value
フィールドに次のような値を入力します。{ "T_TABLE": "{\"ZACCP\":\"111\",\"ZCHAR\":\"CHARACTER1\",\"ZCLNT\":\"100\",\"ZCUKY\":\"INR\",\"ZCURR\": 200,\"ZDATS\": \"20231213\",\"ZINT1\": 45,\"ZINT2\":54,\"ZDEC\": 0.12,\"ZFLTP\": 1234,\"ZLANG\":\"E\",\"ZNUMC\":\"110\",\"ZPREC\": 3,\"ZQUAN\": 188.0,\"ZRAW\":\"01010008010101050401\",\"ZTIMS\": \"103056\",\"ZUNIT\":\"11\",\"ZINT4P\": 45,\"ZINT4\": 54,\"ZLRAW\":\"0101000801010105040100030101010300040000\"}", "IM_INPUT_1": "{\"ZACCP\":\"222\",\"ZCHAR\":\"CHARACTER1\",\"ZCLNT\":\"100\",\"ZCUKY\":\"INR\",\"ZCURR\": 200,\"ZDATS\": \"20231213\",\"ZINT1\": 45,\"ZINT2\":54,\"ZDEC\": 0.12,\"ZFLTP\": 1234,\"ZLANG\":\"E\",\"ZNUMC\":\"110\",\"ZPREC\": 3,\"ZQUAN\": 188.0,\"ZRAW\":\"01010008010101050401\",\"ZTIMS\": \"103056\",\"ZUNIT\":\"11\",\"ZINT4P\": 45,\"ZINT4\": 54,\"ZLRAW\":\"0101000801010105040100030101010300040000\"}", "IM_INPUT_2": "{\"ZSTRING\": \"HI Google\",\"ZSSTRING\": \"HI Google How are you\"}" }
アクションが成功すると、ZFM_GCP_MULTIDATA_TAB
タスクの connectorOutputPayload
レスポンス パラメータの値は次のようになります。
[{ "EX_OUTPUT_1_ZACCP": 222, "EX_OUTPUT_1_ZCHAR": "CHARACTER1", "EX_OUTPUT_1_ZCLNT": "100", "EX_OUTPUT_1_ZCUKY": "INR", "EX_OUTPUT_1_ZCURR": 200, "EX_OUTPUT_1_ZDATS": "2023-12-13", "EX_OUTPUT_1_ZRAW": "01010008010101050401", "EX_OUTPUT_1_ZTIMS": "10:30:56", "EX_OUTPUT_1_ZUNIT": "11", "EX_OUTPUT_1_ZINT4P": 45, "EX_OUTPUT_1_ZINT4": 54, "EX_OUTPUT_1_ZLRAW": "0101000801010105040100030101010300040000\u0000", "EX_OUTPUT_2_ZSTRING": null, "EX_OUTPUT_2_ZSSTRING": null, "RESULT_TABLE": null, "T_TABLE_ZACCP": null, "T_TABLE_ZCHAR": null, "T_TABLE_ZCLNT": null, "T_TABLE_ZQUAN": null, "T_TABLE_ZRAW": null, "T_TABLE_ZTIMS": null, "T_TABLE_ZUNIT": null },{ "EX_OUTPUT_1_ZACCP": null, "EX_OUTPUT_1_ZCHAR": null, "EX_OUTPUT_1_ZCLNT": null, "EX_OUTPUT_1_ZCUKY": null, "EX_OUTPUT_1_ZRAW": null, "T_TABLE_ZLANG": null, "T_TABLE_ZNUMC": null, "T_TABLE_ZPREC": null, "T_TABLE_ZQUAN": null, "T_TABLE_ZRAW": null, "T_TABLE_ZTIMS": null, "T_TABLE_ZUNIT": null },{ "EX_OUTPUT_1_ZACCP": null, "EX_OUTPUT_1_ZCHAR": null, "EX_OUTPUT_1_ZCLNT": null, "EX_OUTPUT_1_ZCUKY": null, "EX_OUTPUT_1_ZCURR": null, "EX_OUTPUT_1_ZDATS": null, "EX_OUTPUT_1_ZDEC": null, "EX_OUTPUT_1_ZQUAN": null, "T_TABLE_ZNUMC": 110, "T_TABLE_ZPREC": 3, "T_TABLE_ZQUAN": 188, "T_TABLE_ZRAW": "01010008010101050401", "T_TABLE_ZTIMS": "10:30:56", "T_TABLE_ZUNIT": "11" }]
例 - IDoc を push する
この例では、IDoc を SAP ERP に push します。
- [
Configure connector task
] ダイアログで、[Actions
] をクリックします。 - [
PushIDoc
] アクションを選択してから、[完了] をクリックします。 - [コネクタ] タスクの [タスク入力] セクションで、
connectorInputPayload
をクリックし、Default Value
フィールドに次のような値を入力します。{ "Content": "\n\n\n EDI_DC40\n 800\n 0000000008604824\n 740\n 53\n 2\n \n MATMAS05\n MATMAS\n ZLS_QA23\n LS\n ZLS_QA23\n SAPSA1\n LS\n SA1CLNT800\n 20230218\n 232556\n\n\n 005\n 000000000000000012\n 20170328\n 42039\n 20170727\n 42039\n KLVC\n FERT\n M\n 02\n BG\n 000\n 002\n 0.000\n 0.000\n KGM\n 0.000\n 0001\n 0.000\n 0.000\n 0.000\n 0.000\n 0.000\n", "FileType": "XML", "Mode": "ASync" }
アクションが成功すると、PushIDoc
タスクの connectorOutputPayload
レスポンス パラメータの値は次のようになります。
[{ "Result": "Success", "Message": "Push IDoc success" }]
エンティティ オペレーションの例
このセクションでは、このコネクタでエンティティ オペレーションの一部を実行する方法について説明します。
例 - すべてのレコードを一覧表示する
この例では、T001
エンティティ内のすべてのレコードを一覧表示します。
- [
Configure connector task
] ダイアログで、[Entities
] をクリックします。 Entity
からT001
を選択します。- [
List
] オペレーションを選択してから、[完了] をクリックします。 - 必要に応じて、コネクタタスクの [タスク入力] セクションでフィルタ句を指定して、結果セットをフィルタリングできます。 フィルタ句の値は、常に単一引用符(')内で指定します。
例 - エンティティからレコードを取得する
この例では、T001
エンティティから、指定した ID のレコードを取得します。
- [
Configure connector task
] ダイアログで、[Entities
] をクリックします。 Entity
からT001
を選択します。- [
Get
] オペレーションを選択してから、[完了] をクリックします。 - [コネクタタスクの [タスク入力 セクションで [entityId] をクリックし、[デフォルト値] フィールドに
0001
を入力します。ここで、
0001
はT001
エンティティ内の一意のレコード ID です。
Terraform を使用して接続を作成する
Terraform リソースを使用して、新しい接続を作成できます。Terraform 構成を適用または削除する方法については、基本的な Terraform コマンドをご覧ください。
接続作成用の Terraform テンプレートのサンプルを表示するには、サンプル テンプレートをご覧ください。
Terraform を使用してこの接続を作成する場合は、Terraform 構成ファイルで次の変数を設定する必要があります。
パラメータ名 | データ型 | 必須 | 説明 |
---|---|---|---|
クライアント | STRING | True | SAP システムを認証するクライアント。 |
グループ | STRING | False | 使用しているログオン グループ。通常、これは、ロード バランシングを使用する SAP システムに接続する場合にのみ指定する必要があります。 |
message_server | STRING | False | ロード バランシングを使用する SAP システムに接続する場合は、メッセージ サーバーを指定する必要があります。 |
read_table_function | STRING | False | テーブルデータの読み取りに使用する関数。 |
connection_scheme | ENUM | False | SAP システムにメッセージ サーバー(GroupServer)を使用して接続するか、メッセージ サーバーを使用せずに SAP システム(ApplicationServer)に接続するかを指定します。サポートされている値は、ApplicationServer と GroupServer です。 |
system_id | STRING | False | SAP システムのシステム ID または R3Name で、最大 3 文字の文字列です。ロード バランシング接続でよく使用されます。 |
system_number | STRING | True | ターゲット システムを定める番号。ホスト接続プロパティを設定するときに使用されます。 |
project_id | STRING | True | SAP JCo jar を含む Cloud Storage バケットが存在する Google Cloud プロジェクトの ID。 |
バケット | STRING | True | sapjco3.jar ファイルと libsapjco3.so ファイルが含まれるバケットの名前 |
sapjco3_jar | STRING | True | sapjco3.jar のオブジェクト ID |
libsapjco3_so | STRING | True | libsapjco3.so のオブジェクト ID |
snc_lib | STRING | False | SNC ライブラリのオブジェクト ID |
snc_mode | BOOLEAN | False | SNC を使用しているかどうかを設定するブール値。これを true に設定して、SNC を使用します。 |
snc_name | STRING | False | SNC 接続の名前を指定するオプションの入力。 |
snc_qop | ENUM | False | SNC 接続の保護の品質。有効な値は 1、2、3、8、9 で、次の保護レベルに対応しています。1 は認証のみを適用します。2 完全性保護(認証)を適用します。3 プライバシー保護(整合性と認証)を適用します。8 デフォルトの保護を適用します。9 最大限の保護を適用します。サポートされている値は、1、2、3、8、9 です。 |
snc_partner_name | STRING | False | アプリケーション サーバーの SNC 名。SNC を使用する場合は必須の入力です。 |
query_mode | ENUM | False | ビューとして表示する SAP テーブルを設定します。サポートされている値は、Global、Local、All、None です。 |
table_mode | ENUM | False | ビューとして表示する SAP テーブルを設定します。サポートされている値は、TransparentApplication、TransparentCustomer、TransparentSystem、Pooled、Cluster、All、None です。 |
詳細度 | STRING | False | 接続の詳細レベルは 1~5 です。詳細レベルが高いと、すべての通信の詳細(リクエスト、レスポンス、SSL 証明書)がログに記録されます。 |
SAP オンプレミス構成のトラブルシューティング
SAP システムがオンプレミスにある場合は、ハイブリッド NEG を使用してプロキシ ロードバランサを作成する必要があります。
- 許可されたサブネットを使用して、オンプレミス システムと Google Cloud の間に IPsec トンネルを作成します。
- オンプレミス ファイアウォールでロード バランシング サブネットとプロキシ サブネットを許可します。
- 必要なすべてのポートを追加します。たとえば、アプリケーション サーバー接続の場合は 33XX、メッセージ サーバー/LB サーバー接続の場合は 36XX、SNC-X509 接続の場合は 48XX です。ここで、XX は SAP システムのシステム番号またはインスタンス番号です。Google Cloud プロジェクトの下り(内向き)許可リストに、ファイアウォールに必要な IP(LB の IP とポート、SAP システムの IP とポートなど)を追加します。
- ハイブリッド NEG を使用してリージョン内部プロキシ ネットワーク ロードバランサを構成します。詳細については、ハイブリッド NEG 接続を使用したリージョン内部プロキシ ネットワーク LB をご覧ください。
ネットワーク接続をセットアップした後に次のようなエラーが発生した場合は、次の回避策を使用してエンドポイント アタッチメント IP を許可リストに登録します。
Initialization of destination SAP--1910584855 failed: Connect from SAP gateway to RFC server failed connection parameters: TYPE=A DESTINATION=SAP--1910584855 ASHOST=10.128.0.43 SYSNR=00 PCS=1 LOCATION SAP-Gateway on host DELVM05S15.bcone.com / sapgw00 ERROR timeout during allocate TIME Wed Apr 3 17:24:40 2024 RELEASE 754 COMPONENT SAP-Gateway VERSION 2 RC 242 MODULE D:/depot/bas/754_REL/src/krn/si/gw/gwr3cpic.c LINE 2208 DETAIL no connect of TP sapdp00 from host 10.128.0.43 after 20 sec COUNTER 2
SAP 用語集
SAP: SAP という用語は、サポートされているすべての SAP エディションを指す包括的な用語です。通常、これは SAP ECC バージョン 6 以降を示します。SAP ERP コネクタを機能させるには、RFC SDK をサポートする SAP エディションへの接続が必要です。
関数モジュール: 関数モジュールは、ほぼすべてのオペレーションの実行に使用できる SAP のプログラムまたは関数の一種です。これらのモジュールは、SE37 TCode を使用して SAP でテストおよび記述できます。
RFC: リモート関数呼び出し(RFC)は、外部アプリケーションによって実行できる特定の RFM/FM への呼び出しです。これには、SAP によって配布され、SAP サーバーにインストールされているライブラリの使用が含まれます。これらのライブラリは sap.com からダウンロードすることもできます。特定の RFM は、SAP のアップグレード全体で維持される場合とされない場合があります。SAP から提供される標準の RFM があるため、古いエディションには違いがある場合や、存在しない場合があります。カスタム RFM は、統合をサポートするように構築できます(多くの場合、そうしています)。カスタム RFM は SAP のお客様が維持する必要があります。慣例として、カスタム RFM は文字 Z で始まります。
BAPI: ビジネス API(BAPI)は、ビジネス オブジェクトの API メソッドです。これは、ビジネス ロジック オペレーションにアクセスできるように SAP によって RFC が有効になっている関数モジュールです。たとえば、Customer オブジェクトにのみ関連する BAPI は約 60 個あります。実際には、通常はごく一部のみが使用されます。
SAP テーブル: SAP テーブルは、SAP にデータを保存するテーブルです。これらはビジネス オブジェクトとは異なります。たとえば、SAP には Purchase Order テーブルがありません。代わりに、EBAN、EBKN、EINA、EKPO など、購入オーダーデータを含むテーブルが多数あります。カスタム テーブルは、慣例により文字 Z で始まります。
SAP クエリ: SAP クエリは、1 つ以上のテーブルから取得する情報を詳細に記述した、SAP に保存されたオブジェクトです。通常、これらはレポート作成の目的で使用します。
Google Cloud コミュニティの助けを借りる
Google Cloud コミュニティの Cloud フォーラムで質問を投稿したり、このコネクタについてディスカッションしたりできます。次のステップ
- 接続を一時停止して再開する方法を確認する。
- コネクタの使用状況をモニタリングする方法を確認する。
- コネクタログを表示する方法を確認する。