Flows for APEXが提供しているプラグイン、Flows for APEX - Viewerを組み込んでみます。ワークフローの進捗を確認することができます。
アプリケーションに組み込まれたビューワーは、以下のように動作します。
進捗確認画面の組み込み
進捗を表示するページを作成します。ページの作成を実行します。
空白ページを選択します。
名前をFlow Status、ページ・モードとしてモーダル・ダイアログを選択します。ページ・モードとしてモーダル・ダイアログを選択しているため、ナビゲーションのブレッドクラムの使用、ナビゲーションの使用ともにOFFになります。
ページの作成をクリックします。
ページが作成されたら、Content Body以下にリージョンの作成を行います。
識別のタイトルをFlows Statusとし、タイプとしてFlows for APEX - Viewerを選択します。ソースの表名としてFLOW_INSTANCE_DETAILS_VWを設定し(ビューとして選択する)、WHERE句にprcs_id = :PROCESS_IDを指定します。
続いてリージョンの属性を開き、ビューワーに対する設定を行います。
設定のDiagram XMLとしてDGRM_CONTENTを選択します。Add HighlightingをONに変更します。Add HighlightingをONに変更した際に設定される値は、そのまま使用します。
以上で進捗を表示する画面が作成されました。変更を保存します。
対話モード・レポートから、このページを呼び出せるように変更するため、対話モード・レポートのページをページ・デザイナで開きます。
列SBFL_PRCS_IDを選択し、タイプをリンクに変更します。
リンクのターゲットを設定します。
ページにはFlows Statusとして作成したページのページ番号を選択し、アイテムの設定として名前にPROCESS_ID、値に#SBFL_PRCS_ID#を指定します。OKをクリックします。
以上で進捗を表示できるようになりました。アプリケーションを実行すると、記事の最初にあるGIF動画のように動作します。
以上でFlows for APEXを組み込んだ休暇申請のアプリケーションは完成です。
今回作成したアプリケーションのエクスポートを以下に置きました。
https://github.com/ujnak/apexapps/blob/master/exports/holidayreq.zip
休暇申請のフロー・モデルのエクスポートは以下に置きました。
https://github.com/ujnak/apexapps/blob/master/exports/20230815-0811_%E4%BC%91%E6%9A%87%E7%94%B3%E8%AB%8B.bpmn
Oracle APEXのアプリケーション作成の参考になれば幸いです。
完