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: 
NaotoSakai
Advisor
Advisor

実はこのブログを書く前に、SAP Build AppsとSAP Build Process Automationの連携についての解説ブログを書いていたのですが、より簡単な機能がリリースされましたので検証がてらご紹介させていただきます。

なお、書いていたブログはブログで別のパターンで役に立つので後ほど公開させていただきます。
公開しました。トリガーをフォームのまま行いたい、APIトリガーに変更するのが難しい場合はこちらを参考にしてください。

SAP Build Library機能

https://help.sap.com/docs/build-apps/service-guide/sap-build-library
として、SAP Build AppsでSAP Build Process Automationのプロセスを実行する機能がSAP Build Appsに実装されました。

最近SAP Build Process Automationをブースターを使用してセットアップした場合、この機能を使用するためのものがブースターによりセットアップされているのですが、以前にセットアップした場合、もしくはマニュアルでセットアップした場合は前準備が必要です。一応以下が整っているか確認したほうが良いでしょう

1.SAP Build Process Automationのサービスインスタンスの有無
 SAP Build Process Automationのサービスインスタンスが作成されているか確認してください。サブスクリプションでは有りません。サービスインスタンスが作成されているかはBTPコックピットでサブアカウントのInstances and Subscriptionsからインスタンスの一覧を確認します。サブスクリプションの一覧では有りません。インスタンスの一覧です。

NaotoSakai_0-1714105109930.png
ここにService:SAP Build Process Automation、Plan:Standardが存在すればインスタンスが存在していることになります。存在しない場合はCreateボタンから

NaotoSakai_1-1714105272941.png
PlanでInstancesのStandardを選択してインスタンスを作成してください。

※なお、このインスタンスの料金は「サブスクリプションに付随するもの」という扱いで無料です。このインスタンスはSAP Build Process Automationに対してAPIでのアクセスを可能にするものです。よってSAP Build Process Automationがサブスクライブされていないと意味がありません。

インスタンスを作成したらサービスキーを発行してください。サービスキーの中身を2で使用します。

2.sap_process_automation_service_user_accessというDestinationの有無
 BTPコックピットでDestinationを確認し、sap_process_automation_service_user_accessというDestinationが存在しているか確認してください。存在しない場合は新しく作成する必要があります。内容としては

Name: sap_process_automation_service_user_access
Type:HTTP
Description:
URL: <1のサービスキー情報のendpoints/apiの値>
Proxy Type:Internet
Authentication: OAuth2JWTBearer
Client ID: <1のサービスキー情報のuaa/clientidの値>
Client Secret: <1のサービスキー情報のuaa/clientsecretの値>
Token Service URL Type: Dedicated
Token Service URL:<1のサービスキー情報のuaa/urlの値に/oauth/tokenを追加>
Additional Propertiesとして下記を設定します。
HTML5.DynamicDestination=true
WebIDEEnabled=true
MobileEnabled=true
sap.processautomation.enabled=true
Appgyver.Enabled=true
sap.applicationdevelopment.actions.enabled=true

上記を設定したDestinationを作成します。Destination名は決まっているので注意してください。


使用方法

まず、呼び出される側のSAP Build Process Automationのプロセスを作成します。このプロセスのトリガーはAPIである必要があります。トリガーがフォームの場合はこの機能を使用することができません。

NaotoSakai_2-1714107635600.png

トリガーはAPIで作成する必要があります。
APIトリガーの場合の入力の設定は

NaotoSakai_3-1714107910220.png

NaotoSakai_4-1714107986255.png

Process DetailのProcess Inputsから行うことができます。フォームトリガーのプロセスをAPIトリガーに直す場合はこちらでトリガーフォームで入力していた内容を設定する必要があるということです。

トリガーがAPIである必要を除き、他は通常のSAP Build Process Automationのプロセスとして作成することができます。

ワークフローの作成が完了したらデプロイします。デプロイした後に、必ずそのプロジェクトをロビーから

NaotoSakai_5-1714108170045.png

ライブラリに公開するを選んで公開してください。これを行わないとSAP Build Apps側からこのプロジェクトが見えません。

SAP Build Apps側では必須の条件として「SAP Build Appsはsap_process_automation_service_user_access Destinationが存在するサブアカウントで動作させる必要がある」「BTP認証が必須」があります。

まず、SAP Build Appsのプロジェクト上でBTP認証を有効化します。

NaotoSakai_6-1714108502658.png

そしてDataタブのADD Integrationボタンから

NaotoSakai_7-1714108600168.png

NaotoSakai_8-1714108687749.png

SAP Build Libraryを選択します。
すると先程公開したプロセスが表示されます。

NaotoSakai_9-1714109095372.png

ここで出てこないという場合は、Destinationの作成や、SAP Build Process Automationで作ったプロセスの公開をし忘れていないか確認してください。

表示されたSAP Build Process Automationのプロセスを選択し、

NaotoSakai_0-1714109839136.png

Enable Processボタンを押してプロセスを有効化します。

これで連携の定義ができました。次はどのように実行するかです。
簡単にこちらのような画面を作りました。

NaotoSakai_1-1714109957292.png

このボタンをクリックするとプロセス(ワークフロー)起動としたいと思います。
ということでボタンにロジックを追加します。

NaotoSakai_2-1714110088300.png

プロセスの起動を行うロジックは標準に存在しませんのでMARKET PLACEをクリックします。
MARKET PLACEで「TRIGGER」と入力し、

NaotoSakai_3-1714110250756.png
Trigger Processロジックをインストールしてください。

NaotoSakai_4-1714110355954.png

インストールしたTrigger Processをボタンのタップなどのイベントに接続し、
プロパティを設定します。

NaotoSakai_5-1714110736158.png
プロパティのINPUTに表示されている項目はSAP Build Process Automationのプロセスに設定した入力と同じ項目であることを確認してください。
これでSAP Build AppsからSAP Build Process Automationのワークフローが起動できるようになりました。

なお、SAP Build Process Automationのワークフローを起動するのはSAP Build Appsで作ったアプリケーションを使用するユーザーとなります。そのため、このユーザーは両方のアプリを使用する権限が必要となります。

かなりシームレスに連携ができるようになりました。

SAP Build Process Automationの欠点としてフォームの自由度が低いというものがあります。例えば申請などで、申請内容を大分類→中分類→小分類とたどって項目を選択させようと言うことは残念ながらSAP Build Process Automationではできません。この手の作業は大体は最初の1枚目のトリガーとなるフォームで行うことがほとんどです。このようなときトリガーフォームの代わりとしてSAP Build Appsで作ったアプリを使うことでより柔軟な申請フォームとして使用することができます。

ぜひこの機能を活用してみてください。