CookBook

FormaDesignerのユーザプログラム前処理と後処理をロジックフローで作成する方法

投稿日:

このCookBookでは、FormaDesignerのユーザプログラム前処理と後処理をロジックフローで作成する方法を紹介します。

サンプルでは、ユーザプログラム前処理と後処理を利用して、Workflowでユーザプロファイルを更新しています。
申請画面の前処理で、ログインユーザのプロファイル情報を取得します。
また、変更内容を承認画面の後処理として、プロファイルの更新を実行しています。

完成イメージ


1.申請処理でユーザプロファイルの情報を取得します。
2.承認処理でユーザプロファイルの情報を更新します。
3.IM-共通マスタ プロファイルが設定・更新されます。

  • 申請画面
  • 承認画面
  • IM-共通マスタ プロファイルの設定・更新後
  • 完成サンプル

    以下の完成サンプルをダウンロードしてご活用ください。

  • LogicDesigner
  • LogicDesignerのインポート機能からインポートしてください。
    [IM-LogicDesigner ユーザ操作ガイド] - [インポートを行う]
    im_cookbook_162290_logicdesigner-data

  • ワークフロー
  • zipファイルを任意のフォルダに展開し、IM-Workflowのインポート機能を利用してインポートしてください。
    [IM-Workflow 管理者操作ガイド] - [インポート/エクスポートを行う]
    im_cookbook_162290_workflow-data

  • Formaアプリ
  • Formaアプリのインポート機能からインポートしてください。
    [IM-FormaDesigner for Accel Platform 作成者 操作ガイド] - [「アプリケーション情報インポート」画面の機能と各部の説明]
    im_cookbook_162290_forma

    レシピ

    1. 前処理・後処理のロジックフローを作成します。
    2. Formaアプリを作成します。
    3. ユーザプログラムで前処理・後処理の設定をします。
    4. ワークフローを作成します。
    5. WFフォーム上のユーザプロファイルを設定・更新します。

    1. 前処理・後処理のロジックフローを作成します。

    IM-LogicDesignerで前処理と後処理のロジックフローを作成します。

    フロー定義ID
    前処理 im_cookbook_162290_flow_pre_processing
    後処理 im_cookbook_162290_flow_post_processing

    im_cookbook_162290_flow_pre_processing(前処理)

    最初に、入出力設定・定数設定をします。

    ①「Input and Output Settings(入出力設定)」をクリックします。

    入力・出力値に渡されるパラメータ情報を設定してください。

  • 前処理プログラムを実装する手順の詳細は以下のドキュメントをご覧ください。
  • [IM-FormaDesigner プログラミングガイド] - [前処理] - [ロジックフロー]

    入力:上記のドキュメント通り
    出力:下記を追加してください。
    ・data <object型>

    名前
    userCd string
    address1 string
    emailAddress1 string
    telephoneNumber string

    ・error <boolean型>

    ②「Constrant Settings(定数設定)」をクリックします。

    下記を追加してください。

    定数ID 定数値
    false false

    次に、“Acquisition of user profile”タスクのマッピングをします。

    下記の表の左右欄をマッピングさせてください。

    userProfile/userCd im_immGetProfile1/userCd

    最後に、“End”タスクのマッピングをします。

    下記の表の左右欄をマッピングさせてください。

    定数/false error
    userProfile/address1 address1
    userProfile/emailAddress1 emailAddress1
    userProfile/telephoneNumber telephoneNumber
    userProfile/userCd userCd

    im_cookbook_162290_flow_post_processing(後処理)

    ①「Input and Output Settings(入出力設定)」から入力・出力値に渡されるパラメータ情報を設定してください。

    入力:上記のドキュメント通り(またsendParmは、下記の表を追加してください)

    ・sendParam <object型>

    名前
    address1 string
    emailAddress1 string
    telephoneNumber string

    出力:上記のドキュメント通り

    ➁「Constrant Settings(定数設定)」に下記の表を追加してください。

    定数ID 定数値
    ja ja
    false false

    次に、“Multilingual information update”タスクのマッピングをします。

    下記の表の左右欄をマッピングさせてください。

    sendParam/address1 im_immUpdateLocalizedProfile1/address1
    sendParam/emailAddress1 im_immUpdateLocalizedProfile1/emailAddress1
    sendParam/telephoneNumber im_immUpdateLocalizedProfile1/telephoneNumber
    定数/ja im_immUpdateLocalizedProfile1/targetLocale
    セッション情報/systemDate im_immUpdateLocalizedProfile1/targetDate
    ユーザコンテキスト/userProfile/userCd im_immUpdateLocalizedProfile1/userCd
    ユーザコンテキスト/userProfile/userName im_immUpdateLocalizedProfile1/userName
    ユーザコンテキスト/userProfile/userSearchName im_immUpdateLocalizedProfile1/userSearchName

    最後に、“End”タスクのマッピングをします。

    下記の表の左右欄をマッピングさせてください。

    定数/false error

    2. Formaアプリを作成します。

    Formaアプリを作成してください。
    アプリケーション種別は「IM-Workflow」を設定します。
    ・Formaアプリ

    アイテムはテキストボックスを使用し、下記の表を参考に設定をしてください。
    ※全テキストボックスの表示タイプ「承認」を「入力可」に選択をしてください。

    各アイテムのフィールド識別IDは下記のように入力してください。

    フィールド識別ID userCd
    フィールド識別ID address1
    フィールド識別ID emailAddress1
    フィールド識別ID telephoneNumber

    また、WF連携設定も行ってください。

    3. ユーザプログラムで前処理・後処理の設定をします。

    Formaアプリの「フォーム設定/編集」-「フォーム一覧」-「ユーザプログラム一覧」から設定をしてください。下記の表を入力してください。
    ・前処理プログラム(申請)

    プログラム種別 ロジックフロー
    フロー定義 im_cookbook_162290_flow_pre_processing

    ・後処理プログラム(更新)

    プログラム種別 ロジックフロー
    フロー定義 im_cookbook_162290_flow_post_processing

    4. ワークフローを作成します。

    ・ ワークフロー

    フロー定義では、作成したコンテンツ定義とルート定義を選択してください。

    5. WFフォーム上のユーザプロファイルを設定・更新します。

    申請・承認画面で処理を行い、ユーザプロファイルが設定・更新されていることを確認してください。

    -CookBook
    -,

    執筆者:


    comment

    メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

    関連記事

    IM-Wiki

    Wiki機能の活用例

    このCookbookでは、intra-mart Accel Platform 2018 Springから利用可能なWiki機能(IM-Wiki)の活用例について紹介します。 今回の記事では実際にWik …

    no image

    IM-FormaDesignerで複数のセレクトボックスを連動させて利用する方法

    このCookbookでは、セレクトボックスの選択結果によって、他のセレクトボックスの選択肢を絞り込む方法を説明します。 この方法は、IM-FormaDesignerのみ導入環境での方法です。 IM-B …

    no image

    imuiTreeでドラッグ&ドロップのバリデーションを実装する方法

    このCookBookでは、imuiTree (ツリービュー) のドラッグ&ドロップバリデーションについて紹介しています。 intra-mart Accel Platform では、画面上にツリーを表示 …

    no image

    画面操作方法によって画面アイテムの入力チェックを切り替える方法

    このCookBookでは、IM-FormaDesignerの入力チェックプログラムで、画面の操作方法に応じた入力チェックを設定する方法を紹介します。 この方法は、以下の製品で作成したアプリケーションや …

    スプレッドシートでForma入力チェックユーザプログラムを利用して入力チェックを実行する方法

    このCookBookでは、スプレッドシートでForma入力チェックユーザプログラムを利用して入力チェックを実行する方法について紹介しています。 Formaの入力チェックプログラムでは以下の2つのチェッ …

    RSSRSSRSSRSS