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

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

    関連記事

    BloomMakerとLogicDesignerでWorkflowコンテンツを作成する

    このCookBookでは、BloomMakerとLogicDesignerを利用してWorkflowのコンテンツを作成する方法を紹介します。 2019 Winter(8.0.24)で、以下の機能をリリ …

    no image

    ViewCreatorのヘッダやフッタに配置するリンクのURLに計算結果を埋め込む方法

    本記事では、ViewCreatorのヘッダやフッタにリンクを埋め込む際に、関数を利用する方法をご紹介します。 この方法を利用すると、パラメータ文字列に「今日日付」を受け渡すといったことが実現できます。 …

    no image

    IMBox の「Like!」を別のキャプションにする方法

    この Cookbook では、IMBox の「Like!」を別のキャプションにする方法を紹介します。 具体的には、「Like!」を「確認」に変更する方法を紹介します。 この Cookbook では、日 …

    no image

    データ参照表示時のページへのアクセス権を認可で制御する方法

    この CookBook では、ViewCreator の「データ参照」表示時のアクセス権を認可で制御する方法について紹介しています。 データ参照の参照権では、その定義を利用してデータを見ることができる …

    no image

    申請時の注意事項を添付ファイルとして配置する方法

    このCookBookでは、申請時の注意事項を記載したファイルを、申請画面の添付ファイルとして配置する方法について紹介しています。 FormaDesignerの前処理プログラムで任意の添付ファイルを設定 …