休暇申請のワークフローを処理するAPEXアプリケーションを作成します。
休暇申請アプリケーションの作成
# prefix: hap
requests
emp_name vc100 /nn
start_date date /nn
end_date date /nn
is_approved vc1 /check Y,N
休暇申請のワークフローを処理するAPEXアプリケーションを作成します。
# prefix: hap
requests
emp_name vc100 /nn
start_date date /nn
end_date date /nn
is_approved vc1 /check Y,N
Flows for APEXが提供しているワークフローのモデラーを使用して、休暇申請のフロー・モデルを作成します。
ドイツのMT GmBHが中心となって開発しているオープン・ソースのOracle APEXの拡張機能、Flows for APEXを使ってみます。BPMN 2.0で記述したビジネス・プロセスをOracle APEXで実行させるツールです。開発はGitHub上で行われています。
BPMNのダイアグラムの記述には、BPMN.io(Camunda Services GmbHが開発元)が提供しているBPMNエディタを使用しています。Camundaもドイツの会社で、BPM(ビジネス・プロセス・マネジメント)ツールの領域では一定の評価を得ているようです。
% ls -l Applications
total 71016
drwxr-xr-x@ 3 ynakakoshi staff 96 4 28 15:15 Enable_Timers
drwxr-xr-x@ 3 ynakakoshi staff 96 8 10 12:05 REST_Modules
-rw-r--r--@ 1 ynakakoshi staff 31009731 8 10 12:14 flowsforapex_apex202.sql
-rw-r--r--@ 1 ynakakoshi staff 5347202 8 10 12:15 flowsforapex_sample_app_apex202.sql
%
フロー・モデルおよびダイアグラムの作成、編集、削除などを行なうアプリケーションになります。
今回の作業は、Always FreeのAutonomous Transaction Processingのインスタンス(Oracle APEX 23.1)で実施します。
アプリケーション・ビルダーからインポートを実行します。特別な作業はなく、通常のアプリケーションのインポート作業です。
ドラッグ・アンド・ドロップの領域にインポートするアプリケーションのファイルとして、flowsforapex_apex202.sqlを選択します。ファイル・タイプはデフォルトのアプリケーション、ページまたはコンポーネントのエクスポート、ファイルの文字セットはUnicode(UTF-8)のまま変更しません。
次へ進みます。
2つのページ・アイテムがあり、それぞれタイプがシャトルとなっています。このページ・アイテムには親子関係があり、親となるシャトルで選択した値に基づき、子のシャトルで選択できる値が決まります。
サンプル・データセットのEMP/DEPTをデータ・ソースとして使い、以下のようなページを作成します。