前処理(Webデータベース)
前処理は、フォーム画面を表示する際に実行される業務ロジックです。
登録画面を表示する際にのみ実行したいなどの制御は、ロジック内の分岐を利用して実装可能です。
利用例
- フォームの入力項目に初期値を設定する
業務ロジックの概要
前処理の業務ロジックを新規作成すると、初期状態では以下の図のように設定されています。
タスクを追加し、実現したい業務ロジックを作成してください。
前処理の業務ロジックには、画面の種別ごとの分岐が初期設定されています。
設定されている分岐条件と条件式は以下の通りです。
分岐条件 | 条件式 |
---|---|
登録 | ${ $input.executeProcessType == "regist" } |
編集 | ${ $input.executeProcessType == "edit" } |
詳細 | ${ $input.executeProcessType == "refer" } |
特定の画面種別、例えば、登録画面を表示する際にのみ実行したい処理は、「分岐(登録)」タスクの 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オブジェクト を参照 |
executeProcessType
アプリケーション実行種別を保持します。
画面を表示するタイミングに合わせて以下の値が取得可能です。
- regist:登録画面
- edit:編集画面
- refer:詳細画面
preProcessParameterオブジェクト
画面の基本情報を保持します。
項目 | 型 | 説明 |
---|---|---|
loginUserCd | string | ログインユーザコード |
applicationId | string | アプリケーションID |
applicationNo | long | アプリケーションバージョンNO(アプリケーション履歴番号) |
insertId | string | データ登録ID |
applicationType | string | アプリケーション種別
|
appPageType | string | アプリケーションページ種別
|
processKey | string | プロセスキー |
uppParamオブジェクト
画面呼び出し時のリクエストパラメータで業務ロジック用に渡された情報を保持します。
パラメータ名の頭に「 upp_
」と付いているリクエストパラメータが受け渡しの対象として扱われます。
出力値
出力値 | 型 | 説明 |
---|---|---|
data | object | 更新データオブジェクト フォームの初期値を設定したい場合は、 data 配下のパラメータに設定したい値をマッピングしてください。data 配下には、フォームの画面アイテムの識別IDに対応するパラメータが予め設定されています。 |
files | object[] | 更新ファイルアップロードデータオブジェクト配列 フォームに存在する「ファイルアップロード」アイテムにファイルを初期登録したい場合に使用します。 |
error | boolean | エラーフラグtrue を設定した場合、当処理をエラー終了します。処理が正常に終了した場合は false を設定してください。 |
errorMessage | string | 設定したメッセージを例外ログとして出力します。 |
userErrorTitleMessage | string | 設定したメッセージをエラー画面の一行目に表示します。 ロケールごとにメッセージを用意する必要がなければこのプロパティを利用してください。 このプロパティを省略した場合、エラー画面にはデフォルトのエラーメッセージが表示されます。 |
localizedUserErrorTitleMessages | object | 設定したメッセージをロケールに従ってエラー画面の一行目に表示します。 アカウントコンテキストから解決されたロケールに一致するメッセージを使用します。 userErrorTitleMessage が設定されている場合はこのプロパティは使用されません。 |
userErrorMessage | string | 設定したメッセージをエラー画面の二行目に表示します。 ロケールごとにメッセージを用意する必要がなければこのプロパティを利用してください。 userErrorTitleMessage が設定されている場合に適用されます。 |
localizedUserErrorMessages | object | 設定したメッセージをロケールに従ってエラー画面の二行目に表示します。 アカウントコンテキストから解決されたロケールに一致するメッセージを使用します。 userErrorMessage が設定されている場合はこのプロパティは使用されません。 |
outputLog | boolean | ログ出力有無フラグ 業務ロジック実行中にエラーが発生した際のログ出力有無を設定します。 このプロパティを省略した場合はログが出力されます。 |
filesオブジェクト
出力値 | 型 | 説明 |
---|---|---|
file | storage | 指定したストレージから取得したファイルを「ファイルアップロード」アイテムに初期登録します。 指定するストレージは「パブリックストレージ取得」などのタスクを利用して取得してください。 何も設定しない場合は、指定したアイテム識別IDの「ファイルアップロード」アイテムの登録済みファイルを全てクリアします。 実体がないファイルを設定した場合は、警告ログを出力して処理をスキップします。 |
uploadItemId | string | 「ファイルアップロード」アイテムのアイテム識別ID |
notes | string | 「ファイルアップロード」アイテムの備考に設定する内容 |
localizedUserErrorTitleMessagesオブジェクト
出力値 | 型 | 説明 |
---|---|---|
ja | string | 日本語ロケールメッセージ |
en | string | 英語ロケールメッセージ |
zh_CN | string | 中国語ロケールメッセージ |
localizedUserErrorMessagesオブジェクト
出力値 | 型 | 説明 |
---|---|---|
ja | string | 日本語ロケールメッセージ |
en | string | 英語ロケールメッセージ |
zh_CN | string | 中国語ロケールメッセージ |
定数
定数ID | 説明 |
---|---|
FALSE | 出力値 error へのマッピングに利用する定数です。 |
imfrApplicationId | アプリケーションID 「ファイルアップロード情報取得」タスクの入力値等に使用します。 |
実装例
簡単な前処理の業務ロジック実装例をご紹介します。
この業務ロジックでは、登録画面を表示する際にログインユーザのプロファイル情報から住所1を取得し、フォームの「住所」という項目の初期値に設定します。
概要
図:業務ロジックの実装例
以下のタスクを使用しています。
- IM共通マスタ > ユーザプロファイルの取得
処理の流れ・設定例
-
業務ロジックに初期設定されている分岐タスクを使用して、登録画面でのみ初期値の設定を行うようにします。 「分岐(登録)」タスクの
then
と「終了」タスクの間に実行する処理に必要なタスクを追加していきます。 -
「ユーザプロファイルの取得」タスクを用いて、ログインユーザのプロファイル情報を取得します。
-
「終了」タスクのマッピング設定で、出力の
data
配下のaddress
に「ユーザプロファイルの取得」タスクの返却値address1
をマッピングします。data
配下のパラメータ名はフォームの画面アイテムの識別IDに対応しています。
今回は、「住所」という項目のフィールド識別IDがaddress
のため、address
というパラメータに値をマッピングします。