このブログではSAP S/4HANA Cloud 2302 を前提として解説をしています。バージョンの相違にご注意ください。
通信設定の全体像
SAP S/4HANA Cloudと外部のサービス、つなげたいですよね。SAP S/4HANA Cloudはそれ単体でも業務を遂行する上で大きな役割を果たしますが、外部のソフトウェアとつながったときにはさらなる価値をもたらします。
SAP S/4HANA Cloudを任意の外部サービスと接続するときには、適切な通信設定を定義する必要があります。通信設定は以下の3つの要素から構成されていて、それぞれの関係性は図のようになっています。
- 通信契約
- 通信システムと通信ユーザなどの情報を持ち、通信に関する設定を全般的に制御するエンティティです。この通信契約を単位としてSAP S/4HANA Cloudと外部システムとの通信が行われます。
- 通信システム
- SAP S/4HANA Cloudと通信を行う相手のシステムです。この設定を通して、SAP S/4HANA Cloudは通信相手のシステムを認識します。
- 通信ユーザ
- 外部からSAP S/4HANA Cloudに対して、もしくはSAP S/4HANA Cloudから外部に向けて通信を行う際に用いる通信ユーザです。例えばSAP S/4HANA Cloudを利用する際にログインを行いますが、それを自動化されたプロセス上で行うときに、認証に使うユーザというイメージです。
図中の通信シナリオとは、SAPによってあらかじめ定義されている通信概要設定のことです。例えば、SAP_COM_0053(購買発注統合)という通信シナリオでは、購買発注に関連する業務で必要となるようなOData APIがひとかたまりにされています。これを継承する形で、その業務プロセスの実装に向けた通信契約が定義されます。
ここからは、以下の3つのFioriアプリを用いて通信設定に必要なエンティティをそれぞれ作成していきます。
通信ユーザの作成
まず「通信ユーザ更新」アプリから通信ユーザを定義します。
パスワード等は任意のものでかまいませんが、パスワード提案機能を使うと便利です。このパスワードは一旦メモ帳などにメモしておきましょう。
通信システムの作成
次に「通信システム」アプリから、通信システムを定義します。
今回はSAP Build Process Automationと接続を行うため、ホスト名には以下の通りSAP Build Process AutomationのAPIゲートウェイのホストを入力します。
ホスト名:spa-api-gateway-bpi-eu-prod.cfapps.eu10.hana.ondemand.com
論理システムやビジネスシステムの欄にはお使いのSAP BTP環境のサブアカウント名を入力してください。
この通信システムは、SAP S/4HANA Cloudとの通信に用いるユーザの情報を保持します。先ほど作成した通信ユーザを紐づけます。今回はSAP S/4HANA Cloudに対して、SAP Build Process Automationから接続する、という方向の通信なので、インバウンド通信のユーザとして設定します。
通信契約の作成
最後に「通信契約」アプリから必要な通信シナリオを選択し、通信契約を作成します。
作成された通信契約に対して、通信相手となる通信システムと、そこに紐づけられた通信ユーザを設定します。ここで設定されたユーザを用いて通信システムとの通信が行われます。
なお、どの通信シナリオを利用して通信契約を作成するべきかについては、SAP API business Hub上にて、利用したいAPIの詳細ページ内にある情報を参照してください。
SAP API Business Hub
https://api.sap.com/
作成された通信契約に対して、通信相手となる通信システムと、そこに紐づけられた通信ユーザを設定します。ここで設定されたユーザを用いて通信システムとの通信が行われます。
また、今回の通信シナリオでは、受信サービスの欄に利用することのできるODataサービスの一覧が表示されます。設定されたユーザの認証情報をもって、このサービスURLに対して接続することでSAP S/4HANA Cloudとの通信を行うことができます。
以上でSAP S/4HANA Cloudでの通信設定は完了です。
おわりに
今回の記事では、SAP S/4HANA Cloudにおける通信管理の設定について扱いました。重要な要素は次の3つです。
- 通信契約
- 通信システム
- 通信ユーザ
ぜひ皆様の環境でも設定をしてみてください。