2022年1月25日火曜日

Flows for APEXによる経費精算アプリの作成(2) - ワークフローの実装

経費精算のアプリケーションに、従業員による経費精算の申請、上司による申請のレビュー、部門長の申請のレビュー、経理による支払いを実装します。

最終的に作成されるアプリケーションは以下のような動作になります。




従業員による経費精算の申請



申請済みの経費精算の一覧を表示するレポートと、経費精算の申請を行なうフォームのページを作成します。アプリケーション・ビルダーにて、すでに作成済みの経費精算のアプリケーションを開き、ページの作成を実行します。

ページ作成ウィザードが実行されます。

対話モード・レポートを選択します。


ページ定義ページ番号名前従業員ページ・モード標準を選択し、フォーム・ページを含めるONにします。

フォーム・ページ番号はフロー・モデルで使用しているため必ずフォーム・ページ名経費精算の申請フォーム・ページ・モードモーダル・ダイアログとします。

データ・ソースソース・タイプとしてSQL問合せを選択し、SQL SELECT文を入力に以下を記述します。

申請済みの全ての経費精算(表TUTO_EXPENSES)とそれに紐づいたプロセス・インスタンスの情報(ビューFLOW_INSTANCES_VW)、および現在処理中のプロセス・インスタンスの状態(ビューFLOW_TASK_INBOX_VW)をジョインして一覧しています。

ナビゲーションは、標準ページのデフォルトであるブレッドクラムの使用ナビゲーションの使用ともにONから変更しません。

へ進みます。


主キー列1としてEXPE_ID (Number)を選択し、ページの作成をクリックします。


以上で、経費精算の一覧を表示するレポートと、経費精算を申請するフォームのページが作成されます。

ページ作成ウィザードに与えたSQLは経費精算の申請を一覧するためのもので、フォームのソースとしては適切ではありません。また、フォームのページはワークフローと連携させる必要があります。

ページ・デザイナにて、ページ経費精算の申請(ページ番号)を開きます。

フォーム・リージョン経費精算の申請を選択します。

ソースタイプ表/ビューに変更し、表名TUTO_EXPENSESを指定します。


ページ・アイテムP3_EXPE_SUBMITTED_ONP3_EXPE_ACCOUNTP3_EXPE_SUBMITTED_BYは経費精算の申請では使用しないため、ビルド・オプションコメント・アウトします。


ページ・アイテムP3_EXPE_COMMENT_MGRを選択します。識別タイプ表示のみに変更し、サーバー側の条件としてタイプアイテムはNULLではないアイテムとしてP3_EXPE_COMMENT_MGRを選択します。

この経費申請のフォームは、上司や部門長に経費の申請が却下された際の再申請にも使われます。上司や部門長が申請を却下する際に入力するコメントは、従業員は参照するだけなのでページ・アイテムのタイプは表示のみになります。また、最初の申請時は、上司や部門長のコメントは存在しないので、ページ・アイテムが表示される必要はありません。


ページ・アイテムP3_EXPE_COMMENT_VPについても同様の設定を行います。識別タイプ表示のみに変更し、サーバー側の条件としてタイプアイテムはNULLではないアイテムとしてP3_EXPE_COMMENT_VPを選択します。


このフォームから経費精算の申請および再申請を行なう際に、ページ・アイテムP3_EXPE_STATUSの値が必ずsubmittedとなるようするため、このページ・アイテムに計算を作成します。

ページ・アイテムP3_EXPE_STATUSを選択し、識別タイプ非表示に変更します。


ページ・アイテムP3_EXPE_STATUS上でコンテキスト・メニューを表示させ、計算の作成を実行します。


実行ポイント送信後に変更します。計算タイプ静的値静的値submittedを指定します。結果として、このフォームが送信されるときは常に、ページ・アイテムP3_EXPE_STATUSの値はsubmittedになります。


右ペインにてプロセス・ビューを開き、ワークフローと連携するためのプロセスを作成します。

最初にワークフローを開始するプロセスを作成します。プロセスの作成を実行し、プロセス・フォーム経費精算の申請ダイアログを閉じるの間に配置します。

識別名前F4A:ワークフローの開始タイプとしてFlows for APEX - Manage Flow Instance[プラグイン]を選択します。

以下の設定を行います。

Action:Create and Start
Flow Instance Name:&APP_NAME. - &APP_USER. - &P3_EXPE_AMOUNT. 米ドル
Select flow using:Component Setting
Flow (Diagram) selection based on:Name
Set Business Reference:P3_EXPE_ID
Return Instance ID into:PROCESS_ID
Set Process Variables?:Using JSON

JSONとして以下を記述します。申請した費用であるページ・アイテムP3_EXPE_AMOUNTの値が、ワークフローのプロセス変数EXPE_AMOUNTに設定されます。
[
    {
	    "name": "EXPE_AMOUNT",
	    "type": "number",
	    "value": &P3_EXPE_AMOUNT.
	}
]
フォーム上のボタン作成をクリックしたときに実行されるよう、サーバー側の条件ボタン押下時CREATEを指定します。


開始されたワークフローのSUBFLOW_IDSTEP_KEYを取得するプロセスを作成します。

プロセスの作成を実行し、プロセスワークフローの開始の下に配置します。

識別名前SUBFLOW_IDとSTEP_KEYの取得とし、タイプとしてコードの実行を選択します。ソース位置ローカル・データベース言語PL/SQLPL/SQLコードとして以下を記述します。
select sbfl_id, sbfl_step_key into :SUBFLOW_ID, :STEP_KEY
from flow_subflows_vw
where sbfl_prcs_id = :PROCESS_ID;
サーバー側の条件として、ボタン押下時CREATEを指定します。


フロー・モデルのタスク経費精算の申請を完了するプロセスを作成します。

プロセスの作成を実行し、プロセスSUBFLOW_IDの取得の下に配置します。

識別名前F4A:経費精算の申請とし、タイプとしてFlows for APEX - Manage Flow Instance Step [プラグイン]を選択します。

以下の設定を行います。

Action:Complete Step
Flow Instance Info:In Page Items
Process ID Item:PROCESS_ID
Subflow ID item:SUBFLOW_ID
Step Key: STEP_KEY
Set Gateway Routing?:OFF
Auto-Branching:OFF

サーバー側の条件ボタン押下時CREATEを指定します。


経費精算の再申請(タスク申請の修正を完了する)を行なうプロセスを作成します。

プロセスの作成を実行し、プロセス経費精算の申請の下に配置します。

識別名前F4A:申請の修正とします。タイプとしてFlows for APEX - Manage Flow Instance Step [プラグイン]を選択します。

設定ActionComplete StepFlow Instance Infoとしてfrom SQL Queryを選択し、以下をSQL Queryとして記述します。
select
    sbfl_prcs_id
    ,sbfl_id
    ,sbfl_step_key
from flow_task_inbox_vw
where sbfl_business_ref = :P3_EXPE_ID;
サーバー側の条件ボタン押下時SAVEを選択します。


経費精算の再申請の際に変更した費用で、プロセス変数EXPE_AMOUNTを更新するプロセスを作成します。

プロセスの作成を実行し、プロセス経費精算の再申請の下に配置します。

識別名前F4A:経費の更新タイプとしてFlows for APEX - Manage Flow Instance Variables [プラグイン]を選択します。

以下の設定を行います。

Action : Set
Flows Instance info : In Page Items
Process ID Item : PROCESS_ID
Subflow ID Item : SUBFLOW_ID
Manage Variable(s) using : APEX item(s)
Process Variable(s) Name(s) : EXPE_AMOUNT
APEX item(s) : P3_EXPE_AMOUNT

サーバー側の条件ボタン押下時SAVEを選択します。


最後に申請済みの経費精算を表TUTO_EXPENSESから削除する際に、その申請に紐づけて作成されているワークフロー(正確にはプロセス・インスタンス)を削除するプロセスを作成します。

プロセスの作成を実行し、プロセス経費の更新の下に配置します。

識別名前F4A:ワークフローの削除とし、タイプとしてFlows for APEX - Manage Flow Instance [プラグイン]を選択します。

以下の設定を行います。

Action:Delete
Select Flow using:SQL Query

SQL Queryとして以下を記述します。
select prcs_id
from flow_instances_vw
where prcs_business_ref = :P3_EXPE_ID;
サーバー側の条件として、ボタン押下時DELETEを選択します。フォームで削除ボタンを押したときに、申請された経費精算のIDであるP3_EXPE_IDに紐づけられているワークフロー(プロセス・インスタンス)が削除されます。


一旦申請した経費精算(ステータスがsubmittedのもの)および支払い済みの経費(ステータスがpaidのもの)を再度申請するパスは定義されていないので、ボタンSAVE(変更の適用)が表示されないようにサーバー側の条件を設定します。

ボタンSAVEを選択し、サーバー側の条件タイプ言語PL/SQLを選択し、PL/SQL式に以下を記述します。
:P3_EXPE_ID is not null 
and
:P3_EXPE_STATUS <> 'submitted' 
and
:P3_EXPE_STATUS <> 'paid'


以上で従業員によって、経費精算の申請を行なう画面が出来ました。

レポート列やフォームの入力項目の位置や幅、ラベルなどを調整するとより良いレポートやフォームにすることができます。


ワークフローの進捗を表示



ワークフローの進捗を表示する画面を作成し、経費精算の申請のレポート画面より開けるようにします。

ページの作成を実行します。


空白ページを選択します。


ページ番号として、ページの名前進捗の表示とします。ページ・モードとしてモーダル・ダイアログを選択します。モーダル・ダイアログのページなので、ナビゲーションブレッドクラムの使用ナビゲーションの使用ともにOFFがデフォルトです。

ページの作成をクリックします。


作成されたページのContent Body上でコンテキスト・メニューを表示させ、リージョンの作成を実行します。

作成したリージョンの識別タイトルとして進捗の表示タイプとしてFlows for APEX - Viewer [プラグイン]を選択します。ソース位置ローカル・データベースタイプ表/ビュー表の所有者Parsing Schemaとし、表名としてFLOW_INSTANCE_DETAILS_VW(これはビューです)を指定します。WHERE句として以下を記述します。

prcs_id = :P9_PRCS_ID

外観テンプレートとしてBlank with Attributes (No Grid)を選択します。


リージョン進捗の表示で、プロセスIDを保持するアイテムの作成をします。

識別名前P9_PRCS_IDタイプ非表示とします。


リージョン進捗の表示を選択し、右ペインにて属性を開きます。

設定Diagram XMLとしてDGRM_CONTENTを選択します。列DGRM_CONTENTにはフロー・ダイアグラムがXML形式で保存されています。Add HighlightingONに変更すると、Current NodesとしてALL_CURRENTCompleted NodesとしてALL_COMPLETEDError NodesとしてALL_ERRORSが指定されます。その他もデフォルトのままとします。


ページ進捗の表示を選択し、ダイアログとして900高さとして550を指定します。ダイアログの幅と高さを指定しないと、フロー・ダイアグラムが小さく表示されます。今のところダイアグラムの表示は、画面サイズに自動的にフィットしないようです。


経費精算の申請のレポートの列EXPE_STATUSに、進捗を表示するページをリンクします。

ページ番号従業員のページを開き、対話モード・レポートのからEXPE_STATUSを選択します。

識別タイプリンクに変更し、リンクターゲットを設定します。リンク・テキストとして#EXPE_STATUS#を指定します。


ターゲットタイプこのアプリケーションのページページになります。アイテムの設定名前としてP9_PRCS_IDとして#PRCS_ID#を指定します。OKをクリックします。


以上で、経費精算のワークフローの進捗を表示することができるようになりました。


上司による申請のレビュー



上司による承認が必要な経費精算の申請をレポートするページと、上司が申請の承認または却下を行なうフォームを作成します。

ページの作成を実行し、ページ作成ウィザードを起動します。対話モード・レポートを選択するまでは、従業員による経費精算の申請のページを作成する手順と同じです。

ページ定義ページ番号名前上司ページ・モード標準を選択し、フォーム・ページを含めるONにします。

フォーム・ページ番号はフロー・モデルで使用しているため必ずフォーム・ページ名申請のレビューフォーム・ページ・モードモーダル・ダイアログとします。

データ・ソースソース・タイプとしてSQL問合せを選択し、SQL SELECT文を入力に以下を記述します。

ナビゲーションは、デフォルトでブレッドクラムの使用ナビゲーションの使用ともにONになっています。

へ進みます。


主キー列1としてEXPE_ID (Number)を選択します。ページの作成をクリックします。


対話モード・レポートとフォームのページが作成されます。

ページ・デザイナにて対話モード・レポートのページ(ページ番号)を開きます。対話モード・レポートのリージョンを選択して、右ペインにて属性を開きます。

リンクリンク列カスタム・ターゲットへのリンクターゲット#LINK_TEXT#へ変更します。


ターゲットの変更は、ターゲットをクリックして、リンク・ビルダー・ターゲットのダイアログを開いて行います。

ターゲットタイプURLとし、URLには#LINK_TEXT#を記述します。OKをクリックして、変更を確定します。


上司がこの画面より経費精算の申請をすることはないため、リージョンにあるボタンCREATEは不要です。

ボタンCREATE上でコンテキスト・メニューを表示させ、削除を実行します。


レポートのページの変更を保存し、ページ番号申請のレビューのページを開きます。

ページの別名をフロー・モデルで使用しているreview-mgrに変更します。


フォーム・リージョン申請のレビューを選択します。

ソースタイプ表/ビューに変更し、表名TUTO_EXPENSESを指定します。


ページ・アイテムP3_SUBMITTED_ONP3_EXPE_ACCOUNTは上司による申請のレビューでは使用しないため、ビルド・オプションコメント・アウトします。


上司が経費精算の申請の承認または却下を行なう際に入力する項目は、上司としてのコメントであるページ・アイテムP5_EXPE_COMMENT_MGRのみです。そのため、主キー項目であるページ・アイテムP5_EXPE_ID、この後に自動的に値を設定するページ・アイテムP5_EXPE_STATUSおよびP5_EXPE_COMMENT_MGR(とコメント・アウト済みのページ・アイテム)を除いた全てのページ・アイテムを選択し、識別タイプ表示のみへ変更します。


部門長によるコメントについてはコメントがある場合にのみ表示されるよう、サーバー側の条件タイプアイテムはNULLではないとし、アイテムとしてP5_EXPE_COMMENT_VPを指定します。


このフォームで上司は、申請の承認、却下または何もせずにフォームを閉じるという作業を行います。フォーム上のボタンを、それらの作業の合わせて変更します。

最初にボタンDELETEを削除します。ボタンDELETE上でコンテキスト・メニューを表示させ、削除を実行します。


ボタンCREATEを選択し、このボタンを却下を行なうボタンDECLINEに変更します。


識別ボタン名DECLINEラベル却下とします。外観ホットOFFに変更します。動作データベース・アクションSQL UPDATE操作とし、サーバー側の条件タイプ- 選択 -に戻し、条件を外します。


ボタンSAVEは承認の動作を行なうボタンAPPROVEに変更します。

識別ボタン名APPROVEラベル承認とします。それ以外はボタンDECLINEと同じ変更を適用します。


ボタンAPPROVEまたはDECLINEが押された時に、ページ・アイテムP5_EXPE_STATUSにそれぞれapproved_by_mgrdeclined_by_mgrが設定されるように、計算を作成します。

ユーザーからの入力を抑止するため、ページ・アイテムP5_EXPE_STATUSを選択し、識別タイプ非表示に変更します。


ページ・アイテムP5_EXPE_STATUS上でコンテキスト・メニューを表示させ、計算の作成を実行します。


作成された計算の実行ポイントとして送信後を選択します。計算タイプ静的値静的値としてapproved_by_mgrを指定します。サーバー側の条件タイプリクエスト = 値を選択し、APPROVEとします。

これでボタンAPPROVEを押した時に、ページ・アイテムP5_EXPE_STATUSの値としてapproved_by_mgrが送信されます。


同様に計算を作成し、却下のボタンを押したときの設定を行います。

ボタンAPPROVEと同様の設定ですが、計算静的値declined_by_mgrサーバー側の条件DECLINEとします。


ワークフローと連携を定義します。左ペインにてプロセス・ビューを開きます。

ページ・アイテムP5_EXPE_STATUSの値をプロセス変数EXPE_STATUSに設定するプロセスを作成します。

作成したプロセスをプロセス・フォーム申請のレビューの下に配置します。

識別名前F4A:EXPE_STATUSの設定とし、タイプとしてFlows for APEX - Manage Flow Instance Variables [プラグイン]を選択します。

以下の設定を行います。

Action : Set
Flow Instance info : In Page Items
Process ID Item : PROCESS_ID
Subflow ID Item : SUBFLOW_ID
Manage Variable(s) using : APEX item(s)
Process Variable(s) Name(s) : EXPE_STATUS
APEX item(s) : P5_EXPE_STATUS


ワークフローのユーザタスク申請のレビューを完了するプロセスを作成します。

識別名前F4A:申請のレビューとします。タイプとしてFlows for APEX - Manage Flow Instance Step [プラグイン]を選択します。

以下の設定を行います。

Action:Complete Step
Flow Instance Info:In Page Items
Process ID item:PROCESS_ID
Subflow ID item:SUBFLOW_ID
Step Key : STEP_KEY
Set Gateway Routing?:OFF
Auto-Branching?:OFF


プロセスダイアログを閉じるを選択し、サーバー側の条件タイプ- 選択 -に戻します。承認または却下のいずれのボタンが押された場合でも、ダイアログが閉じられます。


以上で上司による承認または却下を行なう画面が実装できました。


部門長による申請のレビュー



上司のレビューで承認されても金額が50米ドルを超えるときは、部門長の承認が必要なフローになっています。そのため、部門長向けに経費精算の申請をレポートする画面と、承認または却下を行うフォームを作成します。

部門長向けのレポートとフォームのページの作成手順は、上司の際に実施した手順とほぼ同じです。設定内容に言及がない場合は、上司のページを作成したときと同じ値を設定します。

ページの作成を実行し、対話モード・レポートのページを作成するところから始めます。

ページ定義ページ番号名前部門長フォーム・ページ番号フォーム・ページ名申請のレビューとします。フロー・モデルの定義に影響があるため、これらの設定はそのまま変更せずに指定します。
データ・ソースとしてローカル・データベースソース・タイプとしてSQL問合せを選択します。SQL SELECT文を入力に以下を記述します。

expe_statusの条件が上司のときはsubmittedだったのが部門長ではapproved_by_mgrsbfl_currentの条件が上司のときはreview_expense_mgrだったのが部門長ではreview_expense_vpとなっているところに違いがあります。

へ進みます。


主キー列1としてEXPE_ID (Number)を選択します。ページの作成をクリックします。


対話モード・レポートとフォームのページが作成されます。

対話モード・レポートのページ(ページ番号7)を開き、対話モード・レポートのリージョンを選択します。右ペインで属性を開き、リンクターゲットタイプURLURLとして#LINK_TEXT#を指定します。


リージョンのボタンCREATEは不要なので削除します。


レポートのページの変更を保存し、ページ番号8の申請のレビューのページを開きます。

ページの別名をフロー・モデルで使用しているreview-vpに変更します。


フォーム・リージョン申請のレビューを選択します。

ソースタイプ表/ビューに変更し、表名TUTO_EXPENSESを指定します。


ページ・アイテムP3_SUBMITTED_ONP3_EXPE_AMOUNTは部門長による申請のレビューでは使用しないため、ビルド・オプションコメント・アウトします。


部門長がコメントを入力するページ・アイテムはP8_EXPE_COMMENT_VPです。ページ・アイテムP8_EXPE_IDP8_EXPE_STATUSP8_EXPE_COMMENT_VP(とコメント・アウト済みのページ・アイテム)以外は識別のタイプを表示のみへ変更します。


上司によるコメントについてはコメントがある場合にのみ表示されるよう、サーバー側の条件タイプアイテムはNULLではないとし、アイテムとしてP8_EXPE_COMMENT_MGRを指定します。


ボタンDELETE削除します。


ボタンCREATEを選択し、申請を却下するボタンDECLINEに変更します。

識別ボタン名DECLINEラベル却下とします。外観ホットOFFにします。動作データベース・アクションSQL UPDATE操作を選択し、サーバー側の条件タイプ- 選択 -に戻し、条件を外します。


ボタンSAVEを選択し、申請を承認するボタンAPPROVEに変更します。

識別ボタン名APPROVEラベル承認とします。それ以外はボタンDECLINEと同じ変更を適用します。


ボタンAPPROVEまたはDECLINEが押された時に、ページ・アイテムP8_EXPE_STATUSにそれぞれapproved_by_vpdeclined_by_vpが設定されるように、計算を作成します。

ページ・アイテムP8_EXPE_STATUSを選択し、識別タイプ非表示にします。


ページ・アイテムP8_EXPE_STATUS計算を作成します。

実行ポイント送信後計算タイプ静的値静的値としてapproved_by_vpを指定します。サーバー側の条件タイプリクエスト = 値を選択し、APPROVEとします。


もうひとつ、ページ・アイテムP8_EXPE_STATUS計算を作成します。

ボタンAPPROVEと同様の設定ですが、計算静的値declined_by_vpサーバー側の条件の値はDECLINEとします。


ワークフローと連携を定義します。左ペインにてプロセス・ビューを開きます。

ページ・アイテムP8_EXPE_STATUSの値をプロセス変数EXPE_STATUSに設定するプロセスを作成します。

作成したプロセスをプロセス・フォーム申請のレビューの下に配置します。

識別名前F4A:EXPE_STATUSの設定とし、タイプとしてFlows for APEX - Manage Flow Instance Variables [プラグイン]を選択します。

以下の設定を行います。

Action : Set
Flow Instance info : In Page Items
Process ID Item : PROCESS_ID
Subflow ID Item : SUBFLOW_ID
Manage Variable(s) using : APEX item(s)
Process Variable(s) Name(s) : EXPE_STATUS
APEX item(s) : P8_EXPE_STATUS


ワークフローのユーザタスク申請のレビューを完了するプロセスを作成します。

識別名前F4A:申請のレビューとします。タイプとしてFlows for APEX - Manage Flow Instance Step [プラグイン]を選択します。

以下の設定を行います。

Action:Complete Step
Flow Instance Info:In Page Items
Process ID item:PROCESS_ID
Subflow ID item:SUBFLOW_ID
Step Key : STEP_KEY
Set Gateway Routing?:OFF
Auto-Branching?:OFF


プロセスダイアログを閉じるを選択し、サーバー側の条件タイプ- 選択 -に戻します。承認または却下のいずれのボタンが押された場合でも、ダイアログが閉じられます。


以上で部門長による承認または却下を行なう画面が実装できました。


経理による支払い処理



上司と部門長のレビューにより承認された経費精算の申請は、経理担当者により支払い処理が行われます。

経理担当者が支払い処理を行うためのページを作成します。

ページの作成を実行します。


対話グリッドを選択します。


ページ定義ページ番号6名前経理ページ・モード標準フォーム・ページを含めるOFFです。データ・ソースとしてローカル・データベースソース・タイプとしてSQL問合せを選択します。SQL SELECT文を入力に以下を記述します。


編集が有効をONにします。ナビゲーションはデフォルトのブレッドクラムの使用ナビゲーションの使用ともにONから変更しません。。

へ進みます。


主キー列1としてEXPE_ID (Number)を選択します。ページの作成を実行します。


対話グリッドのページが作成されます。

最初にページの別名としてprepare-paymentを設定します。


リージョン経理を開き、列の設定を調整します。

経理担当者が入力するのは列EXPE_ACCOUNTのみで、それ以外は主に申請者が入力し経理担当者が変更することはありません。列EXPE_IDEXPE_ACCOUNT(APEX$ROW_SELECTOR、APEX$ROW_ACTIONはデータの列ではないので、これらも除外)以外識別タイプ表示のみに変更します。


対話グリッドの属性を開き、編集実行可能な操作より行の追加行の削除を除きます(チェックを外す)。経理担当者が実行するのは、EXPE_ACCOUNTの更新のみです。


左ペインでプロセス・ビューを開き、対話グリッドを処理するプロセス経理 - 対話グリッド・データの保存を選択します。

設定ターゲット・タイプPL/SQL Codeに変更し、挿入/更新/削除するPL/SQLコードとして以下を記述します。

失われた更新の防止OFF行のロックNoに変更します。


対話グリッドには、未払いの経費精算の申請が一覧されていてます。支払いが済むと行が無くなります。

支払い済みの経費も確認できるように、対話モード・レポートをページに追加します。

左ペインでレンダリング・ビューを開き、リージョンの作成を実行します。

識別タイトル支払い済みタイプ対話モード・レポートとします。ソース位置ローカル・データベースタイプSQL問合せとして、SQL問合せに以下を記述します。


対話グリッドで変更作業があった後に、対話モード・レポートがリフレッシュされるように動的アクションを作成します。

リージョン経理上でコンテキスト・メニューを開き、動的アクションの作成を実行します。


作成された動的アクションの識別名前支払い済みの更新とします。タイミングイベント保存[対話グリッド]選択タイプリージョンリージョン経理になります。


TRUEアクション識別名前支払い済みのリフレッシュとし、アクションリフレッシュを選択します。影響を受ける要素選択タイプリージョンリージョン支払い済みになります。


以上で経理担当者が支払い処理を行なう画面ができました。

対話グリッドにある未払いの申請について、列EXPE_ACCOUNTに何かの数値を指定し(今回のサンプル・アプリケーションでは数値自体に意味はありません)保存すると、ワークフローが完了し、行が支払い済みに移動します。

以上でFlows for APEXを使った経費精算のワークフローが実装できました。

これまでに作成した経費精算のアプリケーションのエクスポートを以下に置きました。
https://github.com/ujnak/apexapps/blob/master/exports/expenseclaim-v0.zip