CookBook

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

投稿日:2017-01-27 更新日:

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

  • 文字列
  • 数値
  • 日付

前提条件

ご紹介する方法では外部連携機能を利用するため、IM-BISが環境に含まれている必要があります。
内容は重複してしまいますが、あらかじめ [単一アイテム編のCookBook] をご覧になってからこのCookBookを読むことをお薦めします。

完成イメージ


1. 左側のグリッドテーブルに、値を入力してください。
2. 画面下の「Transfer Values」ボタンをクリックしてください。
3. 画面右側の「string」と「number」に値が渡されます。

完成サンプル

以下の完成サンプルを、ローカル環境にインポートしてご活用ください。
なお、以下のサンプルはintra-mart Accel Platform 2016 Summerの環境を利用して作成したものです。
2016 Summerより前のバージョンでは正常に動作しない可能性があります。

ローカル環境で表示させる場合は、以下のURLにアクセスしてください。
http://localhost:8080/imart/forma/normal/view/regist_application_view/im_cookbook_114564_forma
なおベースURLである以下の部分は、環境に合わせて適宜変更してください。
http://localhost:8080/imart

レシピ

  1. IM-LogicDesignerを利用してロジックフローを作成する。
  2. 作成したロジックフローをデータソース定義に登録する。
  3. IM-FormaDesignerを利用してフォーム画面を作成する。
  4. 外部連携機能を利用して、アイテムからアイテムへ値を渡す設定をする。

IM-LogicDesignerを利用してロジックフローを作成する。

受け取った値を返却するだけのロジックフローを作成しましょう。

まずは入出力設定を行います。

入出力設定

入力 出力
object1 <object[]>
├──string1 <string>
├──integer1 <integer>
└──date1 <date>
object1 <object[]>
├──string1 <string>
├──integer1 <integer>
└──date1 <date>

object1がObject型の配列になっていることに注意しましょう。
object1の要素1つが、テーブル1行分のデータです。

次に、ロジックフローを作成しましょう。
StartタスクとEndタスクを矢印で直接つなぎ、Endタスクをダブルクリックしマッピング設定を行います。
入出力設定で追加した2つの入力データが直接出力されるようにマッピングしてください。

IM-LogicDesigner マッピング設定

以上でロジックフローの作成は終了です。
任意の名前で保存しましょう。

作成したロジックフローをデータソース定義に登録する。

先に作成したロジックフローをデータソース定義に登録してください。
登録方法について詳しくは、以下のドキュメントをご覧ください。

[IM-BIS システム管理者ガイド] – [データソース定義を設定する]

IM-FormaDesignerを利用してフォーム画面を作成する。

フォームデザイナ画面

上記スクリーンショットのようにアイテムを配置してください。
今回の例で設定したフィールド識別IDは以下です。

アイテムのラベル テーブル識別ID
リクエスト gt1
レスポンス gt2

左側に配置したgt1には以下の列を設定しています。

列名 列タイプ フィールド識別ID
文字列 文字列 gt1_textbox1
数値 数値 gt1_number1
日付 日付 gt1_calendar1

右側に配置したgt2にも、同様に列を設定しましょう。
最後に、アクション設定を利用するためにボタンを配置してください。

外部連携機能を利用して、アイテムからアイテムへ値を渡す設定をする。

配置したイベントボタンに対して、外部連携のアクション設定を行います。
データマッパーのリクエストタブでは、以下のようにマッピングを行ってください。

フォーム内の入力アイテム データソース定義の入力
gt1_textbox1 string1
gt1_number1 integer1
gt1_calendar1 date1

同様に、レスポンスタブでは以下のようにマッピングしてください。

データソース定義の出力 フォーム内の入力アイテム
string1 gt2_textbox1
integer1 gt2_number1
date1 gt2_calendar1

IM-FormaDesignerでは、以下4つのデータ型に対応していますが、全てIM-LogicDesignerで値を受け渡すことができます。
入出力データ型の仕様については以下のドキュメントをご覧ください。

終わりに

以上の手順を踏むことで、IM-FormaDesignerで作成したフォーム画面の中で、テーブルアイテムの値を受け渡すことができます。
データが複数行になっても、値を受け渡すことができます。

-CookBook
-, ,

執筆者:


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

  2. […] また、テーブルでの値渡しについては、[テーブルアイテム編のCookBook] をご覧ください。 […]

comment

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

関連記事

no image

AWS 上に Accel Platform を構築する方法

  この CookBook では、AWS の仮想マシン機能(Amazon EC2)を用いて、スタンドアローンで intra-mart Accel Platform を構築する方法について紹介 …

no image

imuiValidateでhiddenの隠し要素をバリデーションする方法

このCookBookでは、imuiValidateでhiddenの隠し要素をバリデーションする方法について紹介しています。 今回は閉じられたimuiGadgetBar 内の入力項目に対して、クライアン …

no image

ワークフローの参照者を動的に設定する

このCookbookでは、IM-Workflow 2018 Springから新たに追加された 処理対象者プラグイン「ロジックフロー(ユーザ)」 の設定方法を紹介いたします。 この機能を利用すると、申請 …

no image

ワークスペースとスケジュール機能との連携

このCookBookでは、「intra-mart Accel Collaboration」の機能の1つであるワークスペースと「intra-mart Accel Collaboration」のスケジュー …

no image

Cassandra の Docker を作成する。

この CookBook では、Cassandra の Docker の作成手順について紹介しています。 レシピ ベースイメージの作成 Cassandra の Docker イメージを作成します 実行し …

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

RSSRSSRSSRSS