Technology Blogs by SAP
Learn how to extend and personalize SAP applications. Follow the SAP technology blog for insights into SAP BTP, ABAP, SAP Analytics Cloud, SAP HANA, and more.
cancel
Showing results for 
Search instead for 
Did you mean: 
takayuki_tanaka
Product and Topic Expert
Product and Topic Expert
0 Kudos

はじめに


SAP Build Process Automationはワークフロー作成ツールであり、その性質上、外部のシステムのもつAPIを呼び出す必要性に駆られることが多々あります。そういったAPIの呼出しを行う機能を持つのが「アクション」プロジェクトです。

今回は購買伝票の読み取りを例にとって、SAP S/4HANA Cloudとの連携をする際に必要となるアクションプロジェクトの設定についてご紹介します。

SAP API Business HubからAPI設計ファイルを取得する


アクションプロジェクトで呼び出すAPIの設定ファイルは、SAP API Business Hubからダウンロードすることが可能です。このサイトではSAP S/4HANA Cloudに限らず、どういったシステムと、どういったデータをやり取りしたいのかに応じて用意されたAPIが数多く公開されています。

SAP API Business Hub

使用したいAPIを検索し、詳細ページ中のOverviewタブの下部に移動すると、下図のようなセクションが現れます。ここからOpenAPIの規格で記述された、API設計ファイルをダウンロードできます。


API設計ファイルのダウンロード


この例ではJSON / YAML / EDMX の3通りの形式で提供されていますが、SAP Build Process Automationのアクションプロジェクトで利用できるのはJSONのみであることに注意してください。

SAP S/4HANA Cloudへの宛先変数を作成する


今回はSAP S/4HANA Cloudに用意されたAPIを叩くので、まずはSAP S/4HANA Cloudに向けた宛先を作成します。


宛先を作成する


URLのフィールドには利用したいAPIのOData サービスのURLを記入する必要があります。先ほどダウンロードしたAPI設計ファイルを開き、「servers」というキー内に記述された「url」の値を取得します。


ODataサービスのURL特定


hostやportは各自の環境に合わせて書き換えてください。

また、Userの欄には、こちらのブログ内で作成した通信ユーザのIDとパスワードを入力します。【SAP備忘録】SAP Build Process AutomationとSAP S/4HANA Cloudの通信設定を行う
<<ブログURL - 公開され次第貼る>>

プロパティには次の表のように入力を行います。<SID>にはお使いのSAP S/4HANA CloudテナントのSIDを記入してください。































プロパティ名
HTML5.DynamicDestination true
sap.applicationdevelopment.actions.enabled true
sap.processautomation.enabled true
WebIDEEnabled true
WebIDESystem <SID>
WebIDEUsage odata_abap,dev_abap,ui5_execute_abap,odata_gen

 

正しく設定ができていれば、Check the Connectionボタン押した際に、下図のような200: OK が返ってくるはずです。401: Unauthorizedが出てきたときはユーザの設定が間違っている可能性がありますので、通信ユーザのパスワードリセット→再設定を行ってください。


接続確認


 

アクションプロジェクトを生成する


SAP Build Process Automation上で、アクションプロジェクトを生成します。


アクションプロジェクトの作成


アクションプロジェクトを生成すると、APIの設計ファイルのアップロードを求められますので、SAP API Business Hubからダウンロードしたファイルを指定します。


API設計ファイルのアップロード


今回はOData APIを利用しているため次の画面で、APIの設計ファイル上に記述されたODataサービスの内、どのサービスを利用できるようにインポートするのかという部分について設定を求められます。ここでは必要なものだけを選択するようにしましょう。今回は以下のサービスのみを取り込みます。
GET /PurchaseOrder


ODataサービスの選択


 

それではさっそく、アクションプロジェクトの中からAPIをテストとして叩いてみます。宛先のフィールドには先ほど作成したSAP S/4HANA Cloud宛の宛先を設定し、適宜クエリパラメータを設定し、テストボタンからテストリクエストを送信します。


APIのテスト実行


無事、SAP S/4HANA Cloud内に保持されている購買伝票に関するオブジェクトの読み取りが行われていることが確認できます。

次に、このアクションプロジェクトを他のプロジェクト内で利用できるよう、ライブラリに公開します。右上のリリースボタンからリリースを行い、その後に現れるライブラリに公開ボタンから公開します。

アクションをプロセス内で利用する


ここまでの設定を行うと、SAP Build Process Automationの「プロセス」内にて、アクションを選択することでAPI呼び出し機能を利用できるようになります。


プロセス内でアクションを使う


ライブラリ内から、先ほど作成した購買伝票読み取りのアクションを選択します。


アクションの選択


プロセス内に読み込んだアクションプロジェクトは宛先を入力パラメータとして取ります。これはSAP Build Process Automationの単一プロジェクト内で設定される環境変数として定義することができます。


宛先変数の設定


適当な名前を付けて詳細を記述し、作成します。


宛先変数の作成


ここで作成した宛先変数には、デプロイ時に実際の宛先を代入していきます。

1: 概要 → 2: 実行時変数 を表示する際に環境変数の表示にすこし時間がかかるので、飛ばしてしまわないように気を付けましょう。


宛先の割り当て


以上で、SAP Build Process Automation内でSAP S/4HANA Cloudに用意されているAPIを利用するための設定は完了です。

おわりに


SAP Build Process AutomationにおけるAPIの利用にはアクションプロジェクトを作成して、それを介してプロセス内で利用する形をとっていますが、このアクションプロジェクトの作成をIT管理者が行うことにより、市民開発者に対するガバナンスを強化することが可能です。宛先サービスもアクションプロジェクトも、業務をまたいだプロセス連携の中枢となる機能です。ぜひ試してみてはいかがでしょうか。