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

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

    関連記事

    no image

    IM-FormaDesignerで作成したフォーム内で、外部連携を利用して最も簡単に値を渡す方法(テーブルアイテム編)

    このCookBookでは、IM-FormaDesignerで作成したフォーム画面の中で、テーブルアイテムからテーブルアイテムへ値を渡す方法について紹介します。 今回は例として、グリッドテーブルを利用し …

    no image

    Milkode のご紹介

    この CookBook では、Milkode について紹介しています。 intra-mart 開発本部ではソースコード検索エンジンとして Milkode を利用しています。 導入 導入は Instal …

    no image

    FormaのスクリプトからAjax処理を呼び出す

    このCookBookでは、Formaのスクリプトからサーバサイドロジックを呼び出し、Ajax処理を実現する方法をご紹介します。 IM-LogicDesignerを利用し、サーバサイドロジックとその呼び …

    【ViewCreator】LogicDesignerと連携してデータ参照の一覧を表示するデータ参照を作成する方法

    ViewCreator において、標準の「データ参照一覧」画面では以下のような変更ができません。 「説明」を一覧に表示する。 「データ参照名」の(初期表示時の)列幅を変更する。 各データ参照の表示画面 …

    スプレッドシートにフロー毎の未処理件数を表示するポートレットの作成方法

    このクックブックでは、スプレッドシートにフロー毎の未処理件数を表示するポートレットの作成方法をご紹介します。 ポートレットは、スプレッドシートとIM-Workflow REST APIを利用して作成し …

    まだデータがありません。

    RSSRSSRSSRSS