5.4.7.2. ユーザ定義(CSV Fetch)の詳細¶
この章では、CSV Fetchを利用したユーザ定義の作成方法とその詳細について説明します。
5.4.7.2.1. 本チュートリアルで作成する概要¶
本チュートリアルでは、シンプルなユーザ情報を列挙したCSVファイルを定義し、そのCSVファイルを取り扱うユーザ定義(CSV Fetch)の実装を通して、CSV Fetchを利用したユーザ定義の作成方法とその詳細を説明します。
5.4.7.2.1.1. 本チュートリアルで定義するCSVファイルの詳細¶
本チュートリアルで扱うユーザは、以下の情報(プロパティ)を持つものと定義します。
- ユーザ名(user_name)
- 年齢(age)
- 誕生日(birth_date)
- 備考(description)
加えて、本チュートリアルで扱うCSVファイルは、以下の仕様に沿って定義します。
- 1行目はヘッダ行とする。
- 各フィールドの値はダブルクォーテーション("~")で括る。
- フィールド間はカンマ(,)で区切る。
上記の定義を踏まえて、本チュートリアルで定義するユーザ情報のCSVファイルのサンプルは以下の通りです。
1 2 3 4 5 6 7 8 9 user_name, age, birth_date, description "csv_user00001","20","2016-08-01T00:00:00Z","CSV User No. 00001" "csv_user00002","21","2016-08-01T00:00:00Z","CSV User No. 00002" "csv_user00003","22","2016-08-01T00:00:00Z","CSV User No. 00003" "csv_user00004","23","2016-08-01T00:00:00Z","CSV User No. 00004" "csv_user00005","24","2016-08-01T00:00:00Z","CSV User No. 00005" ... "csv_user99998","28","2016-08-01T00:00:00Z","CSV User No. 99998" "csv_user99999","29","2016-08-01T00:00:00Z","CSV User No. 99999"
5.4.7.2.2. 入力値/出力値¶
はじめに、作成するユーザ定義を呼び出す際の入力値と、呼び出しが完了した際に返却する出力値を定義します。
ユーザ定義(CSV Fetch)の入力値/出力値の初期値は以下の通りです。
5.4.7.2.2.1. 入力値¶
ユーザ定義(CSV Fetch)の入力値はシステムによって固定です。
IM-LogicDesignerではCSVファイルを取り扱うにあたり、以下の内容を入力値として定義しています。
入力値 説明 file<storage> データを読み込むCSVファイルのアドレスを示すストレージ情報
5.4.7.2.2.2. 出力値¶
ユーザ定義(CSV Fetch)では出力値と、読み込んだCSVファイルの各フィールド値と紐付けます。
より具体的にはユーザ定義(CSV Fetch)では、CSVファイルの1番目のフィールドと、出力値の1番目の定義値とを紐付けます。
以後同様にCSVファイルのN番目のフィールドと出力値のN番目の定義値が紐づけます。
コラム
CSVファイルのヘッダ名と出力値名
出力値との紐付けを行う際に、CSVファイルにヘッダが指定されていても動作は変わりません。
CSVファイルのヘッダ名と出力値名が同一であった場合でも、紐付けの順番は変わらないことに注意してください。
またユーザ定義(CSV Fetch)では、読み込んだCSVファイルの各フィールドの値を全て文字列(string)として扱います。
出力値と紐付ける際に、紐付け先の出力値の型がstring以外だった場合、IM-LogicDesignerは自動的に型変換を行います。
(そのため、stringから変換することの出来ない型を出力値に定義した場合は、エラーとして扱います)
本チュートリアルでは、「本チュートリアルで作成する概要」を元に出力値を以下のように定義します。
出力値 説明 name<string> ユーザ名(user_name)フィールドを格納します。 age<integer> 年齢(age)フィールドを格納します。 birth<date> 誕生日(birth_date)フィールドを格納します。 desc<string> 備考(description)フィールドを格納します。
以上で、出力値の設定が完了しました。
5.4.7.2.3. フォーマット設定¶
次に、作成するユーザ定義(CSV Fetch)が読み込むCSVファイルのフォーマット情報を設定します。
フォーマット設定を「本チュートリアルで作成する概要」を元に以下のとおりに定義します。
- 文字コード
- UTF-8
- 引用文字
- "(ダブルクォート)
- 区切り文字
- ,(カンマ)
- 行の終端文字
- CRLF
以上で、フォーマット設定が完了しました。
5.4.7.2.4. 処理設定¶
次に、作成するユーザ定義(CSV Fetch)の処理時の振る舞いを設定します。
処理設定の定義内容は以下の通りです。
- ヘッダ行をスキップする
- チェックボックス:オン
- 返却値と列数が一致しない場合エラーにする
- チェックボックス:オフ
以上で、処理設定が完了しました。
5.4.7.2.5. ユーザ定義(CSV Fetch)を作成する。¶
最後に、これまでの内容を踏まえてユーザ定義(CSV Fetch)を作成します。
「CSV Fetch定義編集」画面を表示します。
ユーザ定義の基本情報となる各項目に以下の値を入力します。
入力値、および、出力値を「入力値/出力値」をもとに定義します。
フォーマット設定を「フォーマット設定」をもとに定義します。
処理設定を「処理設定」をもとに定義します。
「登録」をクリックします。
以上で、ユーザ定義(CSV Fetch)の作成が完了しました。