intra-mart Accel Platform IM-LogicDesigner チュートリアルガイド 第12版 2023-10-01

5.4.3.3. INSERTを用いたユーザ定義(SQL)の作成

この章では、INSERT文を利用したユーザ定義の作成方法とその詳細について説明します。

5.4.3.3.1. 本チュートリアルで作成するユーザ定義の概要

本チュートリアルでは、
「IM-共通マスタのユーザテーブル(imm_user)へ、タスクの入力値として与えられた情報を元に新しく情報を追加する」
というタスクの処理の実装を通して、INSERT文を用いたユーザ定義の作成方法とその詳細を説明します。
作成するユーザ定義の処理イメージは以下の通りです。
../../../../_images/insert_task_overview.png

図:処理イメージ

なお、本チュートリアルでは簡略化のため、ユーザテーブル(imm_user)のうち必須(NOT NULL)である値のみを登録するものとしています。

5.4.3.3.2. データベース種別とクエリ種別

はじめに、今回作成するユーザ定義(SQL)が対象とするデータベース種別、および、クエリ種別を設定します。
本チュートリアルでは以下の値を設定します。
  • データ種別 - 「TENANT
  • クエリ種別 - 「INSERT

5.4.3.3.3. 入力値/出力値

次に、作成するユーザ定義を呼び出す際の入力値と、呼び出しが完了した際に返却する出力値を定義します。
ユーザ定義(SQL)の作成において入力値/出力値は、クエリ種別を選択したタイミングで自動的に初期値が設定されます。
クエリ種別「INSERT」設定時の入力値/出力値の初期値は以下の通りです。
../../../../_images/insert_input_and_output.png

図:クエリ種別「INSERT」選択時の入力値/出力値の初期値

ここで留意すべき点は、出力値がシステムによって固定であることです。
IM-LogicDesignerではクエリ種別を元に出力値を自動で決定します。
クエリ種別「INSERT」選択時に設定される出力値の詳細は以下の通りです。
出力値 説明
count<integer> 処理総数が格納されます。
query<string> 実行されたクエリが格納されます。
なお出力値とは違い、入力値は開発者が決定する必要があります。
本チュートリアルでは、入力値として「ユーザテーブル(imm_user)において必須(NOT NULL)である値」をもとに定義します。
入力値 説明
user_cd<string> ユーザコード
locale_id<string> ロケールID
term_cd<string> 期間コード
start_date<sqldate> 開始日
end_date<sqldate> 終了日
user_name<string> ユーザ名
delete_flag<string> 削除フラグ
sort_key<integer> ソートキー
create_user_cd<string> 作成者
create_date<sqltimestamp> 作成日
record_user_cd<string> 最終更新者
record_date<sqltimestamp> 最終更新日

5.4.3.3.4. クエリ設定

次に、実際に追加処理を行うクエリ(INSERT文)の設定を行います。

5.4.3.3.4.1. 想定するINSERT文

本チュートリアルで想定する処理は、以下のSQLによって表現されます。
INSERT INTO imm_user (
  user_cd,
  locale_id,
  term_cd,
  start_date,
  end_date,
  user_name,
  delete_flag,
  sort_key,
  create_user_cd,
  create_date,
  record_user_cd,
  record_date
) VALUES (
  /*user_cd*/'tutorial',
  /*locale_id*/'ja',
  /*term_cd*/'tutorial_term',
  /*start_date*/'2000-01-01',
  /*end_date*/'3000-01-01',
  /*user_name*/'チュートリアル',
  /*delete_flag*/0,
  /*sort_key*/100,
  /*create_user_cd*/'tenant',
  /*create_date*/'2016-01-31 00:00:00',
  /*record_user_cd*/'tenant',
  /*record_date*/'2016-01-31 00:00:00'
)

5.4.3.3.5. ユーザ定義(SQL)を作成する。

最後に、これまでの内容を踏まえてユーザ定義(SQL)を作成します。
  1. 「SQL定義編集」画面を表示します。

  2. ユーザ定義の基本情報となる各項目に以下の値を入力します。

    • ユーザ定義ID「tutorial_ud_sql_insert

    • バージョン「1」(固定)

    • ユーザ定義名
      • 標準 - 「ユーザ定義[SQL-INSERT]
      • 日本語、英語、中国語(中華人民共和国) - 入力なし
    • カテゴリ
      • カテゴリID - 「tutorial_user_category
    • ソート番号「1002

    ../../../../_images/implement_ud_insert1.png

    図:基本情報の定義

  3. データベース種別とクエリ種別を「データベース種別とクエリ種別」をもとに設定します。

    ../../../../_images/implement_ud_insert2.png

    図:データベース種別、および、クエリ種別の定義

  4. 入力値を「入力値/出力値」をもとに値を設定します。

    ../../../../_images/implement_ud_insert3.png

    図:入力値の定義

  5. クエリに「想定するINSERT文」で提示したSQLを設定します。

    ../../../../_images/implement_ud_insert4.png

    図:クエリの定義

  6. 登録」をクリックします。

    ../../../../_images/implement_ud_insert5.png

    図:登録

以上で、INSERTを用いたユーザ定義(SQL)の作成が完了しました。