このブログは
前回からの続きになります。
前回まででRest APIの公開が完了しました。今回はこれをSAP Build Process Automationで使用できるようにしていきます。
4.Destinationの作成
前回の2で作成したRest APIにアクセスするためのDestinationを作成します。
上記のスナップショットでは以下のように入力しています。
Name=AutomaticNumberingAPI
URL=<2のエンドポイント>
ProxyType=Internet
Type=HTTP
tokenServiceURLType=Dedicated
Authentication=NoAuthentication
Description=Automatic Numbering API for SAP Build Process Automation
Additional Propertiesとして
sap.processautomation.enabled=true
sap.applicationdevelopment.actions.enabled=true
5.Destinationの有効化
SAP Buildのロビー画面で上部のSettingタブを選択し、左側のメニューでDestinationを選択します。
New Destinationをクリックして、4で作成したAutomaticNumberingAPIを選択して、有効化します。
6.Actionの作成
SAP Buildのロビー画面でBuild an Automated ProcessからActionsを選択します。
Upload API Specificationを選択し、前回の3のOpen API仕様書をファイル化したものを選択します。
このActionの名称を設定します。
Add Actions From Automatic Numbering APIの画面では使用するREST APIである/getnextvalueにチェックを入れます。
この画面では設定を変更する必要はありませんので、APIの動作テストをしましょう。
Testをクリックします。
Destinationとして4で作成したDestinationを選択します。
また、実行に必要な引数であるprefix,instanceid,workflowuserを適当に設定します。
注意:データベースに記録されるので、ここで使用するprefixは本番で使用するものを使わないほうが良いです。
引数を設定したらTestボタンをクリックして実行します。
この様にResponseにnewnumberとしてprefixと年号から作られた番号が返されれば正常に動作しています。
正常動作を確認したらReleaseしてPublish to Libraryで公開します。これで他のワークフロープロジェクトでもこのActionが使用できるようになります。
7.ワークフローにActionを組み込んでみる
このActionをワークフローに組み込んで見ます。
引数であるPrefixは自由入力ができませんので
こちらのブログを参考にしてDecisionを利用してPrefixのための変数を定義しましょう。
このように申請後の承認フォームでは作成した自動採番の値が使用されています。
このブログのその1の方でも解説しましたが、トリガーフォームより前に採番機能を組み込むことはできません。新規のフォームに最初から番号を表示するということはどうしてもできないのです。出来るのは業務に直すと「申請後」「承認後」等になります。この場合問題になるのは申請者が申請したフォームに与えられた番号を知ることができないということです。そのため、番号が与えられた後にメールでその旨を連絡するなどの処理が追加で必要になるでしょう。 |
また、この解説では番号はSAP HANA Cloudのデータベースに格納されています。番号の管理が必要になるかもしれません。HDIコンテナを作成時にテーブルをODATAとして公開するように設定しましたので、SAP Build Appsを使用すれば簡単な管理アプリが作成できます。また、ODATAとして公開していますので他のソリューションにマスターデータの一部としてこの番号管理システム側で保持しているデータを組み込むのも容易いでしょう。
このようにしてSAP Build Process Automationで自分の好きな形式の番号を自動採番で扱うことができます。実際の業務を置き換える上では意外と重要な要件になる場合あありますので参考になれば幸いです。