# SAP OData

SAP ODataコネクターを使用して、SAPオンプレミスインスタンス(R/3またはS/4)またはS/4 HANAクラウドインスタンスに接続します。このコネクターを使用すると、購買注文、請求書、請求書、製品などのデータソースと対話するためにデフォルトで提供される数百のOData APIを使用できます。また、このコネクターは、インスタンスで構成したカスタムODataサービスとも連携します。

# APIバージョン

このコネクターは、SAP API Business HubファミリーのOData API (opens new window)およびカスタムODataサービスをサポートしています。

# WorkatoでSAPオンプレミスインスタンスに接続する方法

以下の手順に従って、SAPオンプレミスシステムのODataサービスを設定します。ほとんどの手順は、旧来のSAPシステムと新しいSAP S/4 HANAインスタンスにも同様です。ただし、ECCなどの旧来のSAPシステムでは、標準のODataサービスは利用できません。SAP GatewayでカスタムODataサービスを作成するには、このブログ記事 (opens new window)を参照してください。

SAP S/4 HANAを使用している場合、次の手順は1つのサービスを例として設定する方法を示しています:

1

トランザクションコード /n/iwfnd/maint_service に移動します。

Activate and Maintain service

2

「Add Service」をクリックし、「System Alias」に「LOCAL」を入力してEnterキーを押します。

Add service

3

サービスを選択し、「Add Selected Services」をクリックします。この例では、API_BANKACCOUNT_SR という標準のSAP APIを追加しています。

Add selected service

4

技術サービスに名前を付けます。この例ではZAPI_BANKACCOUNT_SRVとします。ローカルパッケージに保存するために「Local Object」をクリックして続行します。

Save in local package

Confirmation

5

新しいODataサービスをテストするには、再びサービスカタログに戻り、技術サービス名を検索します。ODataエンドポイントURLをブラウザで開くために「Call Browser」をクリックし、さまざまなオプション/操作/メソッド/ヘッダー/ペイロードなどでGatewayクライアントでテストするために「SAP Gateway Client」をクリックします。

search for technical service

test in call browser

手順を完了したら、SAP Gateway Clientで表示される詳細と同じ詳細を使用して、接続フィールドをWorkatoに入力してください。

# WorkatoでBasic認証を使用してSAP S/4 HANA Cloudに接続する方法

以下の手順に従って、SAP S/4 HANA CloudインスタンスのODataサービスを設定します。

1

SAP API Business Hubエクスプローラー (opens new window)で自動化のニーズに適したOData APIを見つけます。

SAP API explorer

2

適切なAPIを見つけたら、クリックして開き、通信シナリオIDを見つけます。このIDを後で使用するために保存してください。

API communication scenario

3

通信管理の設定 (opens new window)の手順に従って、次の操作を行います:

  • 通信ユーザーの作成:Workatoに割り当てられた統合ユーザー
    基本認証を使用する
  • 通信システムの作成:通信ユーザーに関連付けられたシステム
  • 通信アレンジメントの作成:通信システムとユーザーを通信シナリオに関連付ける

手順を完了したら、接続フィールドをWorkatoに入力してください。

# Workatoでクライアント証明書認証を使用してSAP S/4 HANA Cloudに接続する方法

以下の手順に従って、SAP S/4 HANA CloudインスタンスのODataサービスを設定します。

1

SAP API Business Hubエクスプローラー (opens new window)で自動化のニーズに適したOData APIを見つけます。

SAP API explorer

2

適切なAPIを見つけたら、クリックして開き、通信シナリオIDを見つけます。このIDを後で使用するために保存してください。

API communication scenario

3

CAによって署名されたx509証明書を準備します。この証明書は、S/4 HANA Cloudバックエンドシステムで認識されるCAによって署名されている必要があります。S/4 HANA Cloudシステムの証明書信頼リストを確認して、認識されるCAを確認できます。詳細については、このSAPブログ記事 (opens new window)を参照するか、以下のガイドをご覧ください。

4

コミュニケーション管理の設定 (opens new window)に従って、以下の手順を実行します:

  • コミュニケーションユーザーの作成: ステップ3で作成した証明書を使用してコミュニケーションユーザーを作成します。
  • コミュニケーションシステムの作成: コミュニケーションユーザーに関連付けられ、認証方法をSSLクライアント証明書に設定します。
  • コミュニケーションアレンジメントの作成: 通信システムとユーザーを通信シナリオに関連付けます。

これらの手順が完了したら、接続フィールドを入力するためにWorkatoに戻ります。

# 接続フィールド

フィールド 説明
接続名 他のレシピで再利用できるように、この接続に説明的な名前を付けてください。
接続タイプ 直接接続が許可されていないネットワークでSAPインスタンスが実行されている場合は、オンプレミスエージェントを選択してください。接続を試みる前に、アクティブなオンプレミスエージェントがあることを確認してください。詳細については、オンプレミスエージェントガイドを参照してください。認証タイプとしてClient certificate (x509)を選択した場合、Cloudオプションを選択する必要があります。Cloudが選択されている場合、リクエストはWorkatoのサーバーから直接送信されます。
認証タイプ BasicまたはClient certificate(x509)を選択してください。
ユーザー名 Basicとして認証タイプが選択されている場合に適用されます。上記で作成した通信ユーザーのユーザー名です。
パスワード Basicとして認証タイプが選択されている場合に適用されます。上記で作成した通信ユーザーのパスワードです。
クライアント証明書 Client certificate(x509)として認証タイプが選択されている場合に適用されます。上記で作成した通信ユーザーのユーザー名です。
プライベートキー Client certificate(x509)として認証タイプが選択されている場合に適用されます。クライアント証明書のプライベートキーです。
パスフレーズ Client certificate(x509)として認証タイプが選択されている場合に適用されます。プライベートキーのパスフレーズ(適用される場合)。
CA証明書 Client certificate(x509)として認証タイプが選択されている場合に適用されます。x509証明書に署名するためにカスタムCAを使用した場合、ここにCAの証明書を追加する必要があります。チェーン内に複数の証明書がある場合は、各証明書の間に空白行を入れてください。
ホスト SAP ODataサービスへのベースパスです。SAP S/4 HANA Cloudの場合、これは通信アレンジメントURLにあります。
たとえば、サービスURLが https://www.myS4HanaSystem.com/sap/opu/odata/sap/API_PURCHASEORDER_PROCESS_SRVである場合、ホストは https://www.myS4HanaSystem.com/sap/opu/odata/sap/です。
サービス 認証をテストするために使用できるサンプルサービスです。これは最初に構成したサービスです。SAP S/4 HANA Cloudの場合、サービス名は通信アレンジメントにあります。
SAPクライアント 参照するSAPクライアント。たとえば、https://www.myS4HanaSystem.com/sap/opu/odata/sap/API_PURCHASEORDER_PROCESS_SRV?sap-client=800​、がサービスURLの場合、sapクライアントは800です。 (opens new window)

# トリガーとアクション

このコネクタは、以下のトリガーとアクションをサポートしています:

  • 新しいオブジェクト
  • 新しい/更新されたオブジェクト
  • オブジェクトの作成
  • オブジェクトの更新
  • オブジェクトの検索
  • IDによるオブジェクトの詳細の取得

# サポートされているオブジェクトタイプ

利用可能なオブジェクトタイプは、選択したサービスに依存します。アクションまたはトリガーの構成で提供するサービスは、Objectドロップダウンに表示されるオブジェクトを決定します。

WARNING

提供するサービスは、接続で指定した通信ユーザーに対して有効にする必要があります。S/4 HANAで通信ユーザーを通信シナリオにリンクするために、新しい通信アレンジメントを作成することで新しいサービスを有効にします。

たとえば、Service入力フィールドにAPI_PRODUCT_SRVサービスを提供すると、そのサービスに定義されたすべてのオブジェクトタイプを選択できます。

サービスオブジェクトのリスト

特定のオブジェクトを選択すると、そのオブジェクトに固有の入力フィールドが表示されます。その後、これらのオブジェクトにデータピルをマッピングできます。

オブジェクト固有のフィールド

# 関連レコードの操作

SAP ODataサービスでレコードを取得または変更する場合、レコード自体と関連するレコードとのやり取りが必要な場合があります。たとえば、顧客レコードと関連する住所などです。これを行うには、すべてのアクションに存在する関連レコード入力フィールドを利用できます。この入力フィールドは、マルチセレクトツリードロップダウンであり、関連する子レコード、さらには孫レコードを選択できます。

この入力を選択すると、新しい入力フィールド(作成/更新アクション用)または新しい出力フィールド(トリガー、検索、取得アクション用)が表示されます。これにより、ジョブの実行時間を最小化し、レシピの複雑さを減らすことができます。

以下の手順を完了したら、接続フィールドを入力するためにWorkatoに戻ってください。

# サンプルガイド: SAP Passport を使用して S/4 HANA Cloud でクライアント証明書認証用の証明書を作成する

証明書は、信頼できるCAによって署名された証明書が必要です。SAPパスポートは、SAPのクラウドルートCAによって署名されたx509証明書を簡単かつ迅速に生成する方法を提供します。このガイドでは、この方法を使用して接続性を実現する方法を紹介しますが、本番で使用する証明書は、必ずしもSAPである必要はありません。

2

.pfxファイルとして提供される証明書をダウンロードします。

3

OpenSSLを使用して、.pfxファイルを.pem形式に変換します。ローカルマシンにOpenSSLがダウンロードされている必要があります。

  • 次のコマンドを使用できます:openssl pkcs12 -in input-cert.pfx -out output-cert.pem -legacy。PEMパスフレーズが求められます。不透明なパスワードを作成し、後で保存してください。
4

.pemファイルを使用して、任意のテキストエディタで内容を確認できます。構造は次のようになります:

Bag Attributes
    localKeyID: 01 00 00 00 
    friendlyName: SXXXXXXXXXX
Key Attributes: <No Attributes>
-----BEGIN ENCRYPTED PRIVATE KEY-----
MIIFHDBOBgkqhkiG9w0BBQ0wQTApBgkqhkiG9w
...<redacted>...
jTG6eYRIAnHR2+4Vto+QxA==
-----END ENCRYPTED PRIVATE KEY-----
Bag Attributes
    localKeyID: 01 00 00 00 
    friendlyName: S0023610052
subject=C = DE, O = SAP Trust Community, OU = SAP Service Marketplace, CN = SXXXXXXXXXX
issuer=C = DE, O = SAP Trust Community, CN = SAP Passport CA G2
-----BEGIN CERTIFICATE-----
MIIDjzCCAnegAwIBAgINY3nCYsU77LIAABBWgj
...<redacted>...
NSo4ezWlQtb/44Swg0NFaLpwmn
-----END CERTIFICATE-----
Bag Attributes: <No Attributes>
subject=C = DE, O = SAP Trust Community, CN = SAP Passport CA G2
issuer=C = DE, L = Walldorf, O = SAP SE, CN = SAP Cloud Root CA
-----BEGIN CERTIFICATE-----
MIIFLzCCAxegAwIBAddfzANBgkqhkiG9w0BAQsF
...<redacted>...
hmZooggAg+fCd5ZE4NgC7bAdwj/QYjPmXsolDjABgYUxtGQ=
-----END CERTIFICATE-----
Bag Attributes: <No Attributes>
subject=C = DE, L = Walldorf, O = SAP SE, CN = SAP Cloud Root CA
issuer=C = DE, L = Walldorf, O = SAP SE, CN = SAP Cloud Root CA
-----BEGIN CERTIFICATE-----
MIIFZjCCA06gAwIBAgIQGHcPvmUGa79M6pM42bGdfdsfasdf
...<redacted>...
LvHPhNDM3rMsLu06agF4JTbO8ANYtWQTx0PVrZKJu+8fcIaUp
-----END CERTIFICATE-----
5

上記のファイルから新しい.pemファイルを作成します。この.pemファイルには、プライベートキーを含まずに証明書のみを含める必要があります。上記の例に基づいて、新しい.pemファイルは次のようになります。これをcommunication_user.pemとして保存します。

-----BEGIN CERTIFICATE-----
MIIDjzCCAnegAwIBAgINY3nCYsU77LIAABBWgj
...<redacted>...
NSo4ezWlQtb/44Swg0NFaLpwmn
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
MIIFLzCCAxegAwIBAddfzANBgkqhkiG9w0BAQsF
...<redacted>...
hmZooggAg+fCd5ZE4NgC7bAdwj/QYjPmXsolDjABgYUxtGQ=
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
MIIFZjCCA06gAwIBAgIQGHcPvmUGa79M6pM42bGdfdsfasdf
...<redacted>...
LvHPhNDM3rMsLu06agF4JTbO8ANYtWQTx0PVrZKJu+8fcIaUp
-----END CERTIFICATE-----
6

通信ユーザーを作成する際に、証明書セクションでcommunication_user.pemファイルをアップロードできます。

API communication scenario

7

通常通りにSAP S/4 HANA Cloudインスタンスで通信システムと通信アレンジメントの残りの設定を行います。通信システムのインバウンド通信の認証方法がSSLクライアント証明書に設定されていることを確認してください。

API communication scenario

8

Workatoに戻り、接続フィールドに以下の情報を入力します:

  • 認証タイプ - Client certificate(x509)
  • クライアント証明書 - ステップ4の.pemファイルの最初の証明書です。上記の例では次のようになります:
-----BEGIN CERTIFICATE-----
MIIDjzCCAnegAwIBAgINY3nCYsU77LIAABBWgj
...<redacted>...
NSo4ezWlQtb/44Swg0NFaLpwmn
-----END CERTIFICATE-----
  • プライベートキー - ステップ4の.pemファイルのプライベートキーです。上記の例では次のようになります:
-----BEGIN ENCRYPTED PRIVATE KEY-----
MIIFHDBOBgkqhkiG9w0BBQ0wQTApBgkqhkiG9w
...<redacted>...
jTG6eYRIAnHR2+4Vto+QxA==
-----END ENCRYPTED PRIVATE KEY-----
  • パスフレーズ - ステップ3で作成したプライベートPEMパスフレーズです。
  • CA証明書 - ステップ4の.pemファイルの残りの2つの証明書です。チェーンであるため、両方を空行を挟んで含める必要があります。
-----BEGIN CERTIFICATE-----
MIIFLzCCAxegAwIBAddfzANBgkqhkiG9w0BAQsF
...<redacted>...
hmZooggAg+fCd5ZE4NgC7bAdwj/QYjPmXsolDjABgYUxtGQ=
-----END CERTIFICATE-----

-----BEGIN CERTIFICATE-----
MIIFZjCCA06gAwIBAgIQGHcPvmUGa79M6pM42bGdfdsfasdf
...<redacted>...
LvHPhNDM3rMsLu06agF4JTbO8ANYtWQTx0PVrZKJu+8fcIaUp
-----END CERTIFICATE-----
  • ホスト、サービス、SAPクライアント - SAPインスタンスの詳細に基づいて必要に応じてこれらを入力してください。


Last updated: 2024/2/13 16:59:53