リリース済みのフロー・モデルを変更する場合、最初にステータスがdraftの新バージョンを作成します。通常、APEXアプリケーションは、ステータスがreleasedのフロー・モデルのバージョンを選択するため、そのままではdraftのバージョンのワークフローを開始することはできません。
フロー・モデルの新バージョンのステータスがdraftの間は、稼働中のAPEXアプリケーションはreleasedのフロー・モデルのバージョン(上記の画面のスナップショットではバージョン1)を使い続けます。
経費精算のフロー・モデルのバージョン2を作成します。ステータスはdraftです。フロー・モデルの新しいバージョンに対応した変更をAPEXアプリケーションに対して実施するために、アプリケーションをコピーします。
アプリケーション・ビルダーにて稼働中のAPEXアプリケーションを開き、このアプリケーションのコピーを実行します。
新規アプリケーション名には、開発中であることがわかる名前を付けます。以下では経費精算 - 開発中としています。次へ進みます。
確認画面が表示されます。アプリケーションのコピーを実行します。
アプリケーションのコピーが作成されます。
コピーしたアプリケーションがフロー・モデルのバージョン2を扱うように、設定を変更します。
プラグインFlows for APEX - Manage Flow Instance [プラグイン]のコンポーネント設定に含まれるGlobal Flowを、バージョン番号を加えた経費精算,2に変更します。
変更の適用をクリックします。
ページ番号3のページ経費精算の申請にあるプロセスF4A:ワークフローの開始を選択します。プロパティFlow (Diagram) selection based onをNameからName & Versionに変更します。その後に、変更を保存します。
アプリケーションをコピーする際に、ユーザーとロールの割り当てはコピーされません。
共有コンポーネントのアプリケーション・アクセス制御を開き、ユーザー・ロール割当ての追加をクリックします。
ユーザー名を入力し(記事通りに作業を行なっていると、ワークスペースにサインインしているユーザー名になります)、アプリケーション・ロールの上司、従業員、管理者、経理、部門長にチェックを入れます。割当ての作成をクリックします。
ユーザー・ロール割当てが作成されます。
フロー・モデルのステータスがdraftのバージョンのフロー・ダイアグラムを編集します。
フロー・モデラーで該当のバージョンのフロー・ダイアグラムを開き、ユーザータスクのAPEXページのApplication IDを空白にします。
ワークフロー開始時に、プロセス変数APPLICATION_IDにアプリケーションID(&APP_ID.)を設定します。ユーザータスクのApplication IDが無指定の場合、プロセス変数APPLICATION_IDの設定が使用されます。
Set Process Variables?のJSONの記述をを以下に変更します。
[
{
"name": "EXPE_AMOUNT",
"type": "number",
"value": &P3_EXPE_AMOUNT.
},
{
"name": "APPLICATION_ID",
"type": "number",
"value": "&APP_ID."
}
]
以上でフロー・モデルの変更は完了です。変更したフロー・ダイアグラムを保存します。
経費申請 - 開発中のアプリケーションを実行し、経費精算の申請を一通り実施します。
その後、Flows for APEXのアプリケーションを開きます。
フロー・モデルのバージョン2(ステータスはdraft)のインスタンスが増えています。コピーしたAPEXアプリケーションにて開始されたワークフローは、フロー・モデルのバージョン2に基づいていることが確認できます。
これ以降は通常のAPEXアプリケーションの開発作業になります。開発が完了したら、稼働中のアプリケーションと入れ替えます。
入れ替え後にコンポーネント設定のGlobal Flowを経費精算,2から経費精算、プロセス・プロパティFlow (Diagram) selection based onをName & VersionからNameに戻します。
開発が完了している時点で、フロー・モデルのバージョン2のステータスはreleasedになっているはずです。そのため、この変更によって選択されるバージョンはどちらも4で変わりません。この変更はアプリケーションの利用を開始した後でも、問題なく実行できます。