Flows for APEXを使った経費精算を行なうアプリケーションを作成します。
以下の記事で構成されます。
0. はじめに - この記事。準備作業について1. フロー・モデルの作成
2. ワークフローの実装
3. レーンとロールのを使ったアクセス制御
4. フロー・モデルのバージョニング
5. フロー・モデルのエクスポート
6. アプリケーションの更新
7. タイマー・イベント
8. フロー・モニター
9. 承認コンポーネント
10. コール・アクティビティ
経費を保持する表TUTO_EXPENSESをクイックSQLを使って作成します。
アプリケーションの別名をEXPENSECLAIMとし、変更の適用をクリックします。
同様の手順にて、アプリケーション・アイテムSUBFLOW_IDとSTEP_KEYを作成します。
アプリケーション・アイテムPROCESS_ID、SUBFLOW_IDおよびSTEP_KEYが作成されたことを確認します。
Flows for APEXを使うための準備については、休暇申請のアプリケーションを作る記事で解説しています。Flows for APEXのインストール方法や基本的な使い方は、休暇申請の記事を参照してください。
英語のTutorialは、MG GmbHのFlows for APEXのページよりダウンロードすることができます。ダウンロードされたZIPファイルには以下の3つのファイルが含まれています。
- Tutorial_Flows_for_APEX_v22.2.pdf
- tuto_db_objects.sql
- tuto_expense_pkg.sql
本記事は英語のTutorialを元にしていますが、同じ内容ではありません。表の定義、APEXアプリケーション、フロー・モデルも微妙に異なります。また、英語のTutorialに含まれているEmail templatesに関する記述については触れていません。
最初に、経費精算アプリの雛形となるアプリケーションを作成します。
SQLワークショップのユーティリティのクイックSQLを開きます。表を作成するスクリプトは以下になります。
# prefix: tuto
expenses /colprefix expe
invoice_dd date /nn
amount num /nn
purpose vc50
justification vc150
status vc15 /nn
account num
submitted_by vc30 /default coalesce(sys_context('apex$session','app_user'),sys_context('userenv','os_user'),sys_context('userenv','session_user')) /nn
submitted_on tstz /default systimestamp /nn
comment_mgr vc1000
comment_vp vc1000
SQLの生成、SQLスクリプトの保存、レビューおよび実行を順番にクリックして表を作成します。
SQLのレビューおよび実行の画面で、列EXPE_SUBMITTED_BY、EXPE_SUBMITTED_ONのデフォルト値が不要な ' (アポストロフィ)で囲まれているので削除します。
SQLの修正後、実行をクリックします。
即時実行します。
表が作成されたことを確認し、アプリケーションの作成を実行します。
続けて、アプリケーションの作成を実行します。
アプリケーション作成ウィザードが起動します。
アプリケーションの名前は経費精算とします。機能のアクセス制御にチェックを入れます。それ以外の機能は使用しないので、チェックを外します。
デフォルトで作成対象となるフォーム付き対話モード・レポートは使用しません。削除するために、編集をクリックします。
削除をクリックします。
アプリケーションの作成を実行します。
経費精算を行なうアプリケーションの雛形が出来上がります。
アプリケーション定義の編集をクリックし、アプリケーションの別名を設定します。
経費精算のアプリケーションも以前の記事にある休暇申請のアプリと同様に、アプリケーション・アイテムとしてPROCESS_ID、SUBFLOW_IDおよびSTEP_KEYを使います。
共有コンポーネントのアプリケーション・アイテムを開き、アプリケーション・アイテムを作成します。
名前をPROCESS_ID、セッション・ステート保護を制限なしとして、アプリケーション・アイテムの作成を実行します。
同様の手順にて、アプリケーション・アイテムSUBFLOW_IDとSTEP_KEYを作成します。
続いて、Flows for APEXを使うAPEXアプリケーションに必要なプラグインを、Flows for APEXのアプリケーションからコピーします。
共有コンポーネントのプラグインを開きます。
作成をクリックします。
プラグインの作成として既存のプラグインのコピーを選択します。次へ進みます。
アプリケーションからコピーとしてFlows for APEXを選択します。
次へ進みます。
リージョン・プラグインのFlows for APEX - Modelerを除いて(これはいいえ)、それ以外ははいを選択します。プラグインのコピーを実行し、4つのプラグインを経費精算のアプリにコピーします。
コピーされたプラグインを確認します。
この経費精算のAPEXアプリケーションで扱うFlows for APEXのフローは、経費精算という名前で作成します。このフローの名前をコンポーネントのデフォルトになるよう設定します。
共有コンポーネントのコンポーネント設定を開きます。
Flows for APEX - Manage Flow Instance [プラグイン]を開きます。
Global Flowとして経費精算を設定します。変更の適用をクリックします。
このように設定することにより、Flows for APEXのプラグインを元にプロセスを作成したときに、Select Flow usingにComponent Setting、Flow (Diagram) selection based onにNameと設定すると、コンポーネントのデフォルト(Global Flowとして定義されている経費精算)が使用されます。以下は、プロセスの設定の画面例です。
以上でFlows for APEXを使ってワークフローを実装するアプリケーションの準備は完了しました。
次の記事では、Flows for APEXのアプリケーションを実行して、経費精算のフロー・モデルとダイアグラムを作成します。