前処理(ワークフロー)
前処理は、フォーム画面を表示する際に実行される業務ロジックです。
申請画面を表示する際にのみ実行したいなどの制御は、ロジック内の分岐を利用して実装可能です。
利用例
- フォームの入力項目に初期値を設定する
業務ロジックの概要
前処理の業務ロジックを新規作成すると、初期状態では以下の図のように設定されています。
タスクを追加し、実現したい業務ロジックを作成してください。

図:業務ロジックの初期状態
前処理の業務ロジックには、画面の種別ごとの分岐が初期設定されています。
設定されている分岐条件と条件式は以下の通りです。
| 分岐条件 | 条件式 |
|---|---|
| 申請 | ${ $input.executeProcessType == "apply" } |
| 再申請 | ${ $input.executeProcessType == "reapply" } |
| 承認 | ${ $input.executeProcessType == "approve" } |
| 詳細 | ${ $input.executeProcessType == "reference" } |
特定の画面種別、例えば、申請画面を表示する際にのみ実行したい処理は、「分岐(申請)」タスクの then から線をつなげるようにします。
複数の、または、すべての画面種別で同じ処理を実行する場合は、それぞれの分岐の then から線をつなげてください。

図:申請画面を表示する際にのみ実行したい処理の場合

図:申請画面と再申請画面を表示する際に実行したい処理の場合
ワークフローのフォームの入力項目に初期値を設定したい場合は、出力値の data オブジェクトの配下のパラメータに設定したい値をマッピングします。
パラメータ名は、フォーム作成時に設定したフィールド識別IDに対応しています。
「明細テーブル」、「グリッドテーブル」、「スプレッドシート」のテーブルのデータは、テーブル識別IDをパラメータ名とするオブジェクトの配列です。
以下に data オブジェクトの構造の例を示します。
data <object>
├─ textbox1 <string>
├─ number1 <integer>
├─ calendar1 <date>
└─ tb1 <object[]>
├─ [0] // テーブル1行目
│ ├─ tb1_textbox1 <string>
│ └─ tb1_number1 <integer>
├─ [1] // テーブル2行目
│ ├─ tb1_textbox1 <string>
│ └─ tb1_number1 <integer>
└─ [2] // テーブル3行目
├─ tb1_textbox1 <string>
└─ tb1_number1 <integer>
前処理の中でデータベースの登録・更新・削除処理を行う場合は、独自にデータベーストランザクション制御を行ってください。
入力値
| 入力値 | 型 | 説明 |
|---|---|---|
| executeProcessType | string | executeProcessType を参照 |
| preProcessParameter | object | preProcessParameterオブジェクト を参照 |
| uppParam | object | uppParamオブジェクト を参照 |
| preProcessWorkflowParameter | object | preProcessWorkflowParameterオブジェクト を参照 |
executeProcessType
アプリケーション実行種別を保持します。
画面を表示するタイミングに合わせて以下の値が取得可能です。
- apply:申請画面
- reapply:再申請画面
- approve:承認画面
- reference:詳細画面
preProcessParameterオブジェクト
画面の基本情報を保持します。
| 入力値 | 型 | 説明 |
|---|---|---|
| loginUserCd | string | ログインユーザコード |
| applicationId | string | アプリケーションID |
| applicationNo | double | アプリケーションバージョンNO(アプリケーション履歴番号) |
| insertId | string | データ登録ID |
| applicationType | string | アプリケーション種別
|
| appPageType | string | アプリケーションページ種別
|
| processKey | string | プロセスキー |
| recycleId | string | リサイクルID(過去に申請した案件の入力内容をコピーして申請(「コピー新規」)した場合のみ取得可能) コピー元案件のアプリケーションIDを返却します。 |
| recycleDataId | string | リサイクルデータID(過去に申請した案件の入力内容をコピーして申請(「コピー新規」)した場合のみ取得可能) コピー元案件のユーザデータIDを返却します。 |
uppParamオブジェクト
画面呼び出し時のリクエストパラメータで業務ロジック用に渡された情報を保持します。
パラメータ名の頭に「 upp_ 」と付いているリクエストパラメータが受け渡しの対象として扱われます。
preProcessWorkflowParameterオブジェクト
ワークフローに関するパラメータを保持します。
| 入力値 | 型 | 説明 |
|---|---|---|
| imwApplyBaseDate | string | 申請基準日( yyyy/MM/dd 形式) |
| imwArriveType | string | 到達種別
|
| imwAuthUserCode | string | 処理権限者コード 案件をログインユーザ本人の権限で処理する場合は本人のユーザコードが、代理先として処理する場合は代理元のユーザコードが設定されます。 |
| imwCallOriginalPagePath | string | 呼び出し元ページパス |
| imwCallOriginalParams | string | 呼び出し元パラメータ |
| imwContentsId | string | コ ンテンツID |
| imwContentsVersionId | string | コンテンツバージョンID |
| imwFlowId | string | フローID |
| imwFlowVersionId | string | フローバージョンID |
| imwNodeId | string | 処理対象ノードID 処理対象のノードが縦配置・横配置ノードの場合は、展開後のノードIDが渡されます。 |
| imwPageType | string | 画面種別
|
| imwRouteId | string | ルートID |
| imwRouteVersionId | string | ルートバージョンID |
| imwSystemMatterId | string | システム案件ID |
| imwUserCode | string | 処理者コード ログインユーザ本人のユーザコードです。 |
| imwUserDataId | string | ユーザデータID |