IM-FormaDesigner for Accel Platform プログラミングガイド 第8版 2016-08-01

6. 前処理

IM-FormaDesigner for Accel Platform では、登録(申請)画面、編集(再申請)画面、詳細画面、承認画面など画面を表示するタイミングに任意のプログラムを実行することができる機能を提供しています。
前処理プログラムのしくみを利用することで画面アイテム「ファイルアップロード」を除いた入力系の画面アイテムに初期表示する値を指定することができます。
  • 前処理が呼ばれる流れと値を設定するしくみ
../../_images/preprocess_explain.png

6.1. 前処理プログラムの実装

6.1.1. JavaEE開発モデル

JavaEE開発モデルにおいて、前処理プログラムを実装する手順を示します。

6.1.1.1. 実装規約

JavaEE開発モデルにおいて、前処理プログラムを実装する場合、下記の制約に従って実装する必要があります。

  • アプリケーション種別が「標準」の場合

    jp.co.intra_mart.foundation.forma.userprogram.StandardPreProcessExecutor を継承すること

    プログラムを実行するタイミングに合わせて以下のメソッドを実装すること

    • 登録画面の表示時

      regist(final PreProcessParameter formaParam, final Map<String, Object> uppParam) メソッド

    • 編集画面の表示時

      edit(final PreProcessParameter formaParam, final Map<String, Object> uppParam) メソッド

    • 詳細画面の表示時

      refer(final PreProcessParameter formaParam, final Map<String, Object> uppParam) メソッド

  • アプリケーション種別が「IM-Workflow」の場合

    jp.co.intra_mart.foundation.forma.userprogram.ImwPreProcessExecutor を継承すること

    プログラムを実行するタイミングに合わせて以下のメソッドを実装すること

    • 申請画面の表示時

      apply(final PreProcessParameter formaParam, final PreProcessWorkflowParameter workflowParam, final Map<String, Object> uppParam) メソッド

    • 再申請画面の表示時

      reapply(final PreProcessParameter formaParam, final PreProcessWorkflowParameter workflowParam, final Map<String, Object> uppParam) メソッド

    • 承認画面の表示時

      approve(final PreProcessParameter formaParam, final PreProcessWorkflowParameter workflowParam, final Map<String, Object> uppParam) メソッド

    • 詳細画面の表示時

      reference(final PreProcessParameter formaParam, final PreProcessWorkflowParameter workflowParam, final Map<String, Object> uppParam) メソッド

6.1.1.2. パラメータ

各メソッドに渡されるパラメータが保持する情報は以下の通りです。
6.1.1.2.1. jp.co.intra_mart.foundation.forma.userprogram.PreProcessParameter
IM-FormaDesigner for Accel Platformの基本情報を保持するクラスです。

メソッドの概要

メソッド 説明
String getLoginUserCd() ログインユーザコードを返却します。
String getApplicationId() アプリケーションIDを返却します。
long getApplicationNo() アプリケーションバージョンNO(アプリケーション履歴番号)を返却します。
String getInsertId() データ登録IDを返却します。
ApplicationType getApplicationType()
アプリケーション種別を返却します。
アプリケーション種別は 以下の列挙型で定義されています。
jp.co.intra_mart.foundation.forma.type.ApplicationType
  • APPLICATION_TYPE_STD
    標準
  • APPLICATION_TYPE_IMW
    IM-Workflow
IM-BIS の場合、アプリケーション種別は以下の列挙型で定義されています。
jp.co.intra_mart.foundation.forma.type.BisApplicationType
  • BIS_APPLICATION_TYPE_WORKFLOW
    ワークフロー
  • BIS_APPLICATION_TYPE_BUSINESSFLOW
    BPM
ApplicationPageType getAppPageType()
アプリケーションページ種別を返却します。
アプリケーションページ種別は 以下の列挙型で定義されています。
jp.co.intra_mart.foundation.forma.type.ApplicationPageType
  • REGISTRATION
    登録・申請処理
  • EDIT
    更新・再申請処理
  • POSTSCRIPT
    承認処理
  • REFERENCE
    参照
  • REFERENCE_EDIT
    参照時の更新処理(IM-Workflow 時のみ)
6.1.1.2.2. jp.co.intra_mart.foundation.forma.userprogram.PreProcessWorkflowParameter
ワークフローに関するパラメータを保持するクラスです。
各画面で取得が可能なIM-Workflow リクエストパラメータの詳細は「 IM-Workflow プログラミングガイド 」-「 リクエストパラメータ 」を参照してください。

メソッドの概要

メソッド 説明
String getImwApplyBaseDate() 申請基準日を返却します。
String getImwArriveType() 到達種別を返却します。
String getImwAuthUserCode() 権限者コードを返却します。
String getImwCallOriginalPagePath() 呼び出し元ページパスを返却します。
String getImwCallOriginalParams() 呼び出し元パラメータを返却します。
String getImwContentsId() コンテンツIDを返却します。
String getImwContentsVersionId() コンテンツバージョンIDを返却します。
String getImwFlowId() フローIDを返却します。
String getImwFlowVersionId() フローバージョンIDを返却します。
String getImwNodeId() ノードIDを返却します。
String getImwPageType() 画面種別を返却します。
String getImwRouteId() ルートIDを返却します。
String getImwRouteVersionId() ルートバージョンIDを返却します。
String getImwSerialProcParams() 連続処理パラメータを返却します。
String getImwSystemMatterId() システム案件IDを返却します。
String getImwUserCode() 処理者CDを返却します。
String getImwUserDataId() ユーザデータIDを返却します。
6.1.1.2.3. uppParamマップ
画面呼び出し時にユーザプログラム用に渡されたリクエスト情報を保持するパラメータMap です。
パラメータ名の頭に「upp_」と付いている情報がユーザプログラム用のパラメータと判断され受け渡しパラメータの対象になります。

6.1.1.3. 返却値

画面の初期表示値に任意の値を設定したい場合は返却値の更新データMapに値を設定して返却します。
更新データマップは Map<String, Object>形式で値を設定します。
画面表示時に同一フィールドに対して、前処理プログラムより与えられた更新データ、リクエストデータ、DBデータがあった場合に表示する値を決定する優先順位は以下の通りです。
前処理プログラムより与えられた更新データ > リクエストデータ > DBデータ
  • Map<String, Object>のデータ構造

    • 画面アイテム「明細テーブル」以外の画面アイテム

      キー :フィールド識別ID
      値 :表示する値
    • 画面アイテム「明細テーブル」のデータ

      キー :テーブル識別ID
      値 :1レコード(行)毎にフィールド識別ID と値をマッピングした Map の List 各列のデータ型は列タイプに依存します。
  • 画面アイテムのデータ型と値のデータ型

    アイテムのデータ型 値のデータ型
    文字列 java.lang.String
    数値 java.lang.Numberのサブクラス
    日付またはタイムスタンプ java.Util.Date

6.1.1.4. エラー処理

処理中にエラーが発生した場合は、 Exception を throw してください。
エラーが発生した場合は、処理を中断しエラー画面に遷移します。

6.1.1.5. トランザクションの制御

前処理プログラムはトランザクション内で実行されていません。
DB トランザクション制御を行う必要がある場合は、実行プログラム内においてトランザクションのコミット、ロールバック等を行ってください。

6.1.1.6. 実装例

  • アプリケーション種別が「標準」の場合

     1
     2
     3
     4
     5
     6
     7
     8
     9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    public class SampleStandardPreProcess extends StandardPreProcessExecutor {
    
        /**
         * 登録画面表示時に実行されます。<BR>
         * @param formaParam フォルマパラメータ
         * @param uppParam ユーザプログラムパラメータ
         * @return 更新データ
         * @throws Exception 例外が発生
         */
        @Override
        public Map<String, Object> regist(final PreProcessParameter formaParam, final Map<String, Object> uppParam) throws Exception {
            System.out.println("************** JAVAEE 開発:アプリケーション種別:標準用登録画面表示時前処理サンプルプログラム ****************");
            // ここに登録画面表示時に実行する処理を記述します。
    
            // ここに登録画面の各アイテムフィールドに任意の初期値を設定したい場合は、更新データMapを生成する処理を記述します。
            // 初期表示値の設定がない場合は、nullを返却してください。
            final Map<String, Object> updateData = new HashMap<String, Object>();
            // 文字列
            updateData.put("textbox1", "sample_setting_textbox1");
            // 数値
            updateData.put("number1", new Integer("10001"));
            // 日付
            updateData.put("calendar1", new Date());
            // チェックボックス
            updateData.put("checkbox1", "1,2");
            // テーブル識別IDが「table1」の明細テーブルに表示する値を設定する例
            final Map<String, Object> detaileTableData1 = new HashMap<String, Object>();
            detaileTableData1.put("table1_textbox1", "sample_setting_table_textbox1");
            detaileTableData1.put("table1_number1", new Integer("20001"));
            detaileTableData1.put("table1_calendar1", new Date());
            final Map<String, Object> detaileTableData2 = new HashMap<String, Object>();
            detaileTableData2.put("table1_textbox1", "sample_setting_table_textbox2");
            detaileTableData2.put("table1_number1", new Integer("20002"));
            detaileTableData2.put("table1_calendar1", new Date());
            final List<Map<String, Object>> list = new ArrayList<Map<String, Object>>();
            list.add(detaileTableData1);
            list.add(detaileTableData2);
            updateData.put("table1", list);
            return updateData;
        }
    
        /**
         * 編集画面表示時に実行されます。<BR>
         * @param formaParam フォルマパラメータ
         * @param uppParam ユーザプログラムパラメータ
         * @return 更新データ
         * @throws Exception 例外が発生
         */
        @Override
        public Map<String, Object> edit(final PreProcessParameter formaParam, final Map<String, Object> uppParam) throws Exception {
            System.out.println("************** JAVAEE 開発:アプリケーション種別:編集画面表示時前処理サンプルプログラム ****************");
            // ここに編集画面表示時に実行する処理を記述します。
            return null;
        }
    
        /**
         * 参照画面表示時に実行されます。<BR>
         * @param formaParam フォルマパラメータ
         * @param uppParam ユーザプログラムパラメータ
         * @return 更新データ
         * @throws Exception 例外が発生
         */
        @Override
        public Map<String, Object> refer(final PreProcessParameter formaParam, final Map<String, Object> uppParam) throws Exception {
            System.out.println("************** JAVAEE 開発:アプリケーション種別:参照画面表示時前処理サンプルプログラム ****************");
            // ここに参照画面表示時に実行する処理を記述します。
            return null;
        }
    }
    
  • アプリケーション種別が「IM-Workflow」の場合

     1
     2
     3
     4
     5
     6
     7
     8
     9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    public class SampleWorkflowPreProcess extends ImwPreProcessExecutor {
    
        /**
         * 申請画面表示時に実行されます。<BR>
         * @param formaParam フォルマパラメータ
         * @param workflowParam ワークフローパラメータ
         * @param uppParam ユーザプログラムパラメータ
         * @return 更新データ
         * @throws Exception 例外が発生
         */
        @Override
        public Map<String, Object> apply(final PreProcessParameter formaParam, final PreProcessWorkflowParameter imwParameter, final Map<String, Object> uppParam) throws Exception {
            System.out.println("************** JAVAEE 開発:アプリケーション種別:IM-Workflow用申請画面表示時前処理サンプルプログラム ****************");
            // ここに申請画面表示時に実行する処理を記述します。
    
            // ここに申請画面の各アイテムフィールドに任意の初期値を設定したい場合は、更新データMapを生成する処理を記述します。
            // 初期表示値の設定がない場合は、nullを返却してください。
            final Map<String, Object> updateData = new HashMap<String, Object>();
            // 文字列
            updateData.put("textbox1", "sample_setting_textbox1");
            // 数値
            updateData.put("number1", new Integer("10001"));
            // 日付
            updateData.put("calendar1", new Date());
            // チェックボックス
            updateData.put("checkbox1", "1,2");
            // テーブル識別IDが「table1」の明細テーブルに表示する値を設定する例
            final Map<String, Object> detaileTableData1 = new HashMap<String, Object>();
            detaileTableData1.put("table1_textbox1", "sample_setting_table_textbox1");
            detaileTableData1.put("table1_number1", new Integer("20001"));
            detaileTableData1.put("table1_calendar1", new Date());
            final Map<String, Object> detaileTableData2 = new HashMap<String, Object>();
            detaileTableData2.put("table1_textbox1", "sample_setting_table_textbox2");
            detaileTableData2.put("table1_number1", new Integer("20002"));
            detaileTableData2.put("table1_calendar1", new Date());
            final List<Map<String, Object>> list = new ArrayList<Map<String, Object>>();
            list.add(detaileTableData1);
            list.add(detaileTableData2);
            updateData.put("table1", list);
            return updateData;
        }
    
        /**
         * 承認画面表示時に実行されます。<BR>
         * @param formaParam フォルマパラメータ
         * @param workflowParam ワークフローパラメータ
         * @param uppParam ユーザプログラムパラメータ
         * @return 更新データ
         * @throws Exception 例外が発生
         */
        @Override
        public Map<String, Object> approve(final PreProcessParameter formaParam, final PreProcessWorkflowParameter imwParameter, final Map<String, Object> uppParam) throws Exception {
            System.out.println("************** JAVAEE 開発:アプリケーション種別:IM-Workflow用承認画面表示時前処理サンプルプログラム ****************");
            // ここに承認画面表示時に実行する処理を記述します。
            return null;
    
        }
    
        /**
         * 再申請画面表示時に実行されます。<BR>
         * @param formaParam フォルマパラメータ
         * @param workflowParam ワークフローパラメータ
         * @param uppParam ユーザプログラムパラメータ
         * @return 更新データ
         * @throws Exception 例外が発生
         */
        @Override
        public Map<String, Object> reapply(final PreProcessParameter formaParam, final PreProcessWorkflowParameter imwParameter, final Map<String, Object> uppParam) throws Exception {
            System.out.println("************** JAVAEE 開発:アプリケーション種別:IM-Workflow用再申請画面表示時前処理サンプルプログラム ****************");
            // ここに再申請画面表示時に実行する処理を記述します。
            return null;
        }
    
        /**
         * 参照画面表示時に実行されます。<BR>
         * @param formaParam フォルマパラメータ
         * @param workflowParam ワークフローパラメータ
         * @param uppParam ユーザプログラムパラメータ
         * @return 更新データ
         * @throws Exception 例外が発生
         */
        @Override
        public Map<String, Object> reference(final PreProcessParameter formaParam, final PreProcessWorkflowParameter imwParameter, final Map<String, Object> uppParam) throws Exception {
            System.out.println("************** JAVAEE 開発:アプリケーション種別:IM-Workflow用参照画面表示時前処理サンプルプログラム ****************");
            // ここに参照画面表示時に実行する処理を記述します。
            return null;
        }
    
    }
    

6.1.2. スクリプト開発モデル

スクリプト開発モデルにおいて、前処理プログラムを実装する手順を示します。

6.1.2.1. 実装規約

スクリプト開発モデルにおいて、前処理プログラムを実装する場合、下記の制約に従って実装する必要があります。

  • アプリケーション種別が「標準」の場合 画面を表示するタイミングに合わせて以下のメソッドを実装すること

    • 登録画面の表示時

      regist(formaParam, uppParam) メソッド

    • 編集画面の表示時

      edit(formaParam, uppParam) メソッド

    • 詳細画面の表示時

      refer(formaParam, uppParam) メソッド

  • アプリケーション種別が「IM-Workflow」の場合
    画面を表示するタイミングに合わせて以下のメソッドを実装すること
    • 申請画面の表示時

      apply(formaParam, imwParam, uppParam) メソッド

    • 再申請画面の表示時

      reapply(formaParam, imwParam, uppParam) メソッド

    • 承認画面の表示時

      approve(formaParam, imwParam, uppParam) メソッド

    • 詳細画面の表示時

      reference(formaParam, imwParam, uppParam) メソッド

6.1.2.2. パラメータ

6.1.2.2.1. formaParamオブジェクト

IM-FormaDesigner の画面の基本情報を保持します。

項目 説明
loginUserCd(String) ログインユーザコード
applicationId(String) アプリケーションID
applicationNo(Number) アプリケーションバージョンNO(アプリケーション履歴番号)
insertId(String) データ登録ID
applicationType(String)
アプリケーション種別
アプリケーション種別は FRApplicationManager オブジェクトに定義されています。
  • APPLICATION_TYPE_STD
    標準
  • APPLICATION_TYPE_IMW
    IM-Workflow
IM-BIS の場合、アプリケーション種別は BisApplication オブジェクトに定義されています。
  • BIS_APPLICATION_TYPE_WORKFLOW
    ワークフロー
  • BIS_APPLICATION_TYPE_BUSINESSFLOW
    BPM
appPageType(String)
アプリケーションページ種別
アプリケーションページ種別は FRApplicationPageInfo オブジェクトに定義されています。
  • REGISTRATION
    登録・申請処理
  • EDIT
    更新・再申請処理
  • POSTSCRIPT
    承認処理
  • REFERENCE
    参照
  • REFERENCE_EDIT
    参照時の更新処理(IM-Workflow 時のみ)
6.1.2.2.2. imwParamオブジェクト
ワークフローに関するパラメータを保持します。
各画面で取得が可能なIM-Workflow リクエストパラメータの詳細は「 IM-Workflow プログラミングガイド 」を参照してください。

プロパティの概要

項目 説明
imwApplyBaseDate(String) 申請基準日
imwArriveType(String) 到達種別
imwAuthUserCode(String) 権限者コード
imwCallOriginalPagePath(String) 呼び出し元ページパス
imwCallOriginalParams(String) 呼び出し元パラメータ
imwContentsId(String) コンテンツID
imwContentsVersionId(String) コンテンツバージョンID
imwFlowId(String) フローID
imwFlowVersionId(String) フローバージョンID
imwNodeId(String) ノードID
imwPageType(String) 画面種別
imwRouteId(String) ルートID
imwRouteVersionId(String) ルートバージョンID
imwSerialProcParams(String) 連続処理パラメータ
imwSystemMatterId(String) システム案件ID
imwUserCode(String) 処理者コード
imwUserDataId(String) ユーザデータID
6.1.2.2.3. uppParamオブジェクト
画面呼び出し時にユーザプログラム用に渡されたリクエスト情報を保持します。
パラメータ名の頭に「upp_」と付いている情報がユーザプログラム用のパラメータと判断され受け渡しパラメータの対象になります。

6.1.2.3. 返却値とエラー処理

処理結果オブジェクト
  ├ data : 更新データオブジェクト
  ├ error : エラーフラグ  処理に失敗した場合は true 、成功した場合はfalse
  ├ errorMessage : エラーメッセージ(※設定したメッセージはエラーログに出力されます。)
  ├ userErrorMessageId : 画面に表示するメッセージのID
  └ userErrorMessage : 画面に表示する詳細メッセージ(※userErrorMessageIdに設定がある場合に適用されます)
  • 返却値

    画面の入力フィールドに表示する初期表示値を任意の値に設定したい場合は更新データオブジェクトに値を設定します。
    画面表示時に同一フィールドに対して、前処理プログラムより与えられた更新データ、リクエストデータ、DBデータがあった場合に表示する値を決定する優先順位は以下の通りです。

    前処理プログラムより与えられた更新データ > リクエストデータ > DBデータ

  • 更新データオブジェクト

    • 画面アイテム「明細テーブル」以外の画面アイテム

      プロパティ:フィールド識別ID 値 :表示する値

    • 画面アイテム「明細テーブル」のデータ

      プロパティ:テーブル識別ID

      値 :1レコード(行)毎に各列のフィールド識別ID と値をマッピングしたオブジェクトの配列です。
      各列のデータ型は列タイプに依存します。
  • 画面アイテムのデータ型と値のデータ型

アイテムのデータ型 値のデータ型
文字列 String
数値 Number
日付またはタイムスタンプ Date
  • エラー発生時

    エラー発生時には処理結果オブジェクトのエラーフラグを true にしてください。
    エラーフラグが true の場合は、処理を中断しエラー画面に遷移します。
    画面に表示するメッセージIDの指定がなかった場合は、エラー画面にはデフォルトのエラーメッセージが表示されます。

6.1.2.4. トランザクションの制御

前処理プログラムはトランザクション内で実行されていません。
DB トランザクション制御を行う必要がある場合は、実行プログラム内においてトランザクションのコミット、ロールバック等を行ってください。

6.1.2.5. 実装例

  • アプリケーション種別が「標準」の場合

     1
     2
     3
     4
     5
     6
     7
     8
     9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    // 登録
    function regist(formaParam, appParam) {
        Debug.print('************** スクリプト開発:アプリケーション種別:標準用登録画面表示時前処理サンプルプログラム ****************');
        // ここに登録画面表示時に実行する処理を記述します。
    
        // ここに登録画面の各アイテムフィールドに任意の初期値を設定したい場合は、更新データオブジェクトを生成する処理を記述します。
        // 初期表示値の設定がない場合は空を返却してください。
    
        var obj = {
            'textbox1': 'sample_setting_textbox1',
            'number1': 10001,
            'date1' : new Date(),
            'checkbox1' :'1,2', 
            'table1' : [
                 {
                   'table1_textbox1': 'sample_setting_table_textbox1',
                   'table1_number1': 20001,
                   'table1_date1' : new Date()
                 },
                 {
                   'table1_textbox1': 'sample_setting_table_textbox2',
                   'table1_number1': 20002,
                   'table1_date1' : new Date()
                 }
               ]
             };
        return {'error' : false, data : obj};
    }
    
    // 編集
    function edit(formaParam, appParam) {
        Debug.print('************** スクリプト 開発:アプリケーション種別:編集画面表示時前処理サンプルプログラム ****************');
        Debug.print('---formaParam-----');
        Debug.console(formaParam);
        Debug.print('---appParam-----');
        Debug.console(appParam);
    
        var obj = {
          'textbox2': 'u_data_ee',
          'number2': 22222,
          'date2' : new Date()
        };
        return {'error' : false, data : obj};
    }
    
    // 参照
    function refer(formaParam, appParam) {
        Debug.print('************** スクリプト 開発:アプリケーション種別:参照画面表示時前処理サンプルプログラム ****************');
        Debug.print('---formaParam-----');
        Debug.console(formaParam);
        Debug.print('---appParam-----');
        Debug.console(appParam);
    
        var obj = {
          'textbox3': 'u_data_eee',
          'number3': 33333,
          'date3' : new Date()
        };
        return {'error' : false, data : obj};
    }
    
  • アプリケーション種別が「IM-Workflow」の場合

     1
     2
     3
     4
     5
     6
     7
     8
     9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    // 申請
    function apply(formaParam, imwParam, uppParam)  {
        Debug.print('************** スクリプト 開発:アプリケーション種別:IM-Workflow用申請画面表示時前処理サンプルプログラム ****************');
        Debug.print('---formaParam-----');
        Debug.console(formaParam);
        Debug.print('---imwParam-----');
        Debug.console(imwParam);
        Debug.print('---uppParam-----');
        Debug.console(uppParam);
    
        var obj = {
          'textbox1': 'u_data_e',
          'number1': 11111,
          'date1' : new Date()
        };
         return {'error' : false, data : obj};
    }
    
    // 再申請
    function reapply(formaParam, imwParam, uppParam) {
        Debug.print('************** スクリプト 開発:アプリケーション種別:IM-Workflow用再申請画面表示時前処理サンプルプログラム ****************');
        Debug.print('---formaParam-----');
        Debug.console(formaParam);
        Debug.print('---imwParam-----');
        Debug.console(imwParam);
        Debug.print('---uppParam-----');
        Debug.console(uppParam);
    
        var obj = {
          'textbox1': 'u_data_e_',
          'number1': 111110,
          'date1' : new Date()
        };
        return {'error' : false, data : obj};
    }
    
    // 承認
    function approve(formaParam, imwParam, uppParam) {
        Debug.print('************** スクリプト 開発:アプリケーション種別:IM-Workflow用承認画面表示時前処理サンプルプログラム ****************');
        Debug.print('---formaParam-----');
        Debug.console(formaParam);
        Debug.print('---imwParam-----');
        Debug.console(imwParam);
        Debug.print('---uppParam-----');
        Debug.console(uppParam);
    
        var obj = {
          'textbox2': 'u_data_ee',
          'number2': 22222,
          'date2' : new Date()
        };
        return {'error' : false, data : obj};
    }
    
    
    // 参照
    function reference(formaParam, imwParam, uppParam) {
        Debug.print('************** スクリプト 開発:アプリケーション種別:IM-Workflow用参照画面表示時前処理サンプルプログラム ****************');
        Debug.print('---formaParam-----');
        Debug.console(formaParam);
        Debug.print('---imwParam-----');
        Debug.console(imwParam);
        Debug.print('---uppParam-----');
        Debug.console(uppParam);
    
        var obj = {
          'textbox3': 'u_data_eee',
          'number3': 33333,
          'date3' : new Date()
        };
        return {'error' : false, data : obj};
    }