Technology Blog Posts 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: 
kenjigoto
Product and Topic Expert
Product and Topic Expert
401

ワークフローを実装する場合に日本のお客様からよくいただく要件として「差戻し」があります。

差戻し要件は一般的に以下のように定義されます。

”提出された書類・案件をもとに戻すこと。” (出典: Weblio辞書)

本ブログでは、この「差戻し」を SAP Build Process Automation で実装する際のポイントをご紹介します。(2025年5月1日時点)

 

 

SAP Build Process Automation での実装の2つのポイント

SAP Build Process Automaton にて最単純な「差戻し」の実装は以下の通りになります。

スクリーンショット 2025-05-02 16.00.08.png

この実装のポイントは以下の2つです。

  1. 「移動先ステップ」による差戻しの設定
  2. 「カスタム変数」を用いたコンテキストデータの保持

これら2つのポイントについて、それぞれご説明します。

 

ポイントその1: 「移動先ステップ」による差戻しの設定

「差戻し」では、通常のプロセスの流れとは反対に、前のタスクに戻すプロセスを定義することが必要になります。これをSAP  Build Process Automation で実装するためには差し戻された「訂正フォーム」の後のステップとして「移動先ステップ」を追加します。

スクリーンショット 2025-05-02 18.06.34.png

ここでのポイントは「訂正フォーム(= Revision Form)」の後のステップとして追加された「移動先ステップ」の移動先として「承認フォーム(=Approve Form)」として設定することです。これで申請者が「訂正フォーム」で内容の訂正を送信するとそれ以前のステップである「承認フォーム」に戻すことが出来るようになり承認者が改めて内容を確認して承認するかどうかの判断を行うことができるようになります。

 

ポイントその2:「カスタム変数」を用いたコンテキストデータの保持

次の課題は、「承認フォーム」や「訂正フォーム」など各フォームの中ではデータの変更をどのように実装したら良いでしょうか?そのポイントはカスタム変数の利用とスクリプトの利用になります。これは次のような手順で実装します。

ステップ1: カスタム変数を作成して、そこにコンテキスト変数の値をセットします。

スクリーンショット 2025-05-02 16.00.36.png

 

ステップ2: カスタム変数を各フォームの関連項目に設定します。

スクリーンショット 2025-05-02 18.06.54.png

 

ステップ3: スクリプトを使ってカスタム変数に「訂正フォーム」の項目の値を代入します。(スクリプトの追加場所は「訂正フォーム」が送信された後かつ「移動先ステップ」の前に設定します。)

スクリーンショット 2025-05-02 18.07.11.png

 

なぜこのようなステップが必要なのでしょうか?それはSAP Build Process Automation のスクリプト機能にはコンテキスト変数の値を更新することができないという制限があるためです。この対象となるコンテキスト変数は、例えばスクリプト上で$.context (excluding custom), $.info, and $.usertasks. で始まる変数になります。この詳細についてはSAP Helpをご確認ください。

 

まとめ

本ブログではよくあるワークフロー要件である「差戻し」をSAP Build Process Automation で実装する方法の一つの方法をご紹介させていただきました。もしもこれをご覧になった有識者の方で他のより効率的な方法がありましたら、以下のコメント欄で共有いただければ幸いです。