# 抽出条件項目

抽出条件設定の各項目について説明します。条件（抽出条件、カスタムエラー条件、前処理、後処理）は、合計で最大256個登録できます。

型違いで同じ値（例：文字列型の"123"と数値型の123）の比較時に常にアンマッチとして扱うのではなく、変換して比較する場合は、システム動作環境設定画面の基本タブの「異なる型同士を比較する」を”ON”にしてください。

- 比較元が文字列型、比較先が数値型の場合は、文字列型を数値型に変換して比較します。

- 比較元が数値型、比較先が文字列型の場合は、数値型を文字列型に変換して比較します。

(1) 抽出条件（共通項目）

抽出条件No.

作成された抽出条件の番号。抽出条件の番号が、「抽出条件n」（nは抽出条件の番号）の形式で表示されます。

コメント

設定する抽出条件に対するコメント。

フォーマット

入力設定で指定したマルチフォーマットのキー、およびフォーマット情報。

入力形式が“マルチフォーマット”の場合のみ表示されます。

コメント

マルチフォーマットのグループに対するコメント。

グループ又はレコード

入力設定で指定した階層フォーマットのグループ、およびレコード情報。

入力形式が“階層フォーマット”の場合のみ表示されます。

コメント

階層フォーマットのグループに対するコメント。

レコード単位要素名

入力設定で指定したXML情報のレコード単位要素名。

入力形式が“XML”かつ、XMLレコード単位が“要素”の場合のみ設定できます。

条件一覧

登録済みの条件の一覧。

設定できる条件数の上限は400件です。このとき、「比較元、比較演算子、比較先」の一式を1つの条件としてカウントします。

入力設定でマルチフォーマットを指定した場合、キー情報は「条件一覧」のNo.1 の条件式に自動設定されます。この条件は削除できません。

入力設定で階層フォーマットを指定した場合、グループまたはレコード情報は「条件一覧」のNo.1 の条件式に自動設定されます。この条件は削除できません。

入力設定でXMLを指定しXMLレコード単位に要素を選択した場合、要素は「条件一覧」のNo.1 の条件式に自動設定されます。この条件は削除できません。

No.

通し番号。

条件式

設定した条件式。

条件論理式

条件一覧に設定した条件式のNo.(数値)を入力します。

複数の条件式を設定する場合は、論理演算子（「AND（論理積）」、「OR（論理和）」、「!（否定）」）や「(（始めの丸かっこ）」、「)（終わりの丸かっこ）」、「スペース」を使用して組み合わせることができます。

AND自動結合

抽出条件に入力された条件式を自動でAND結合するか否かを選択します。

条件に一致した場合、以降の条件判定をスキップする

抽出条件ごとに設定できるコンティニュー条件。

この条件にヒットすると、以降の抽出条件の判定は行われません。

比較文字列と比較対象値の長さの処理

比較元と比較先の文字列の長さが揃わない場合の処理。

“NULLを詰める”または“スペースを埋める”を選択できます。

NULLを詰める：0x00を詰め文字とします。

スペースを詰める：入力漢字コード種の半角スペースコードを詰め文字とします。

注意

入力漢字コード種がEBCDIC系コードのときは、比較対象値内のマルチバイト文字列の前後にシフトコードを内部的に付加して比較します。よって、長さ比較もシフトコードを付加した後のサイズで比較されます。詰め文字は、すべてのシフトコードが付加された後に、足りないサイズ分詰められます。

(2) 抽出条件（条件設定詳細）

比較元種別

抽出条件の比較元。

“レコード”、“入力項目”、“マッチング項目”、および“変数”を選択できます。

指定した値によって、設定する項目の種類が異なります。

比較元設定項目については後述します。

比較先種別

抽出条件の比較先。

“固定値”、“実行時引数”、“入力項目”、“マッチング項目”、および“変数”を選択できます。指定した値によって、設定する項目の種類が異なります。

マッチング番号

マッチング番号を指定します。

種別

抽出条件のタイプ。

「比較先種別」で“変数”を選択した場合は設定を行いません。

比較先の「比較先種別」で“固定値”を選択した場合

文字列

  : 文字列タイプとして処理します。

数値

  : 数値タイプとして処理します。値には、「-（マイナス）」と「.（小数点）」を除いて19桁以内で指定してください。項目値がレコード番号の場合には"1"～"2147483647"で指定してください。

日付

  : 日付タイプとして処理します。値に指定できる範囲は1900年から3000年です。範囲外を指定した場合の動作はサポート対象外となります。また"today"と記述すると、変換開始日時を表します。日付データの指定方法の詳細は「DataMagic　操作マニュアル」を参照してください。

文字列（16進）

  : 16進文字列の場合に選択します。値は、16進文字列で指定してください。抽出条件に外字コードが存在する場合などに指定してください。

空文字

  : 空文字（NULL）の場合に選択します。「比較元設定項目」で"項目No."、"項目名"、"変数"のいずれかを選択した場合に使用できます。

比較先の「比較先種別」で“実行時引数”を選択した場合

$DSTR

  : 動的文字列の場合に選択します。

$DSTR(16進)

  : 16進文字列の場合に選択します。抽出条件に外字コードが存在する場合などに指定してください。

$DSTR(日付)

  : 日付の場合に選択します。日付データの指定方法の詳細は「DataMagic 操作マニュアル」を参照してください。

$DNUM(数値)

  : 動的数値の場合に選択します。

比較先の「比較先種別」で“入力項目”を選択した場合

文字列

  : 文字列タイプとして処理します。

数値

  : 数値タイプとして処理します。

日付

  : 日付タイプとして処理します。

比較先の「比較先種別」で“マッチング項目”を選択した場合

“入力項目”の場合と同様になります。

値

比較先の「比較先種別」で"固定値"を選択した場合に、比較対象となる固定値を1024バイト以内で設定します。

「種別」が"文字列"の場合は、16進数表現と制御文字が使用できます。制御文字を使用する場合は、システム動作環境設定ファイル（huledenv.conf）の「固定値で制御文字を使用する（ed_fixvalue_ctrlchar_flag）」に“1”（使用する）を指定してください。

番号

比較対象となる実行時引数の番号を指定します。

比較先の「比較先種別」で“実行時引数”を選択した場合に設定を行います。

“01”～“20”から指定します。

項目名

項目名を指定します。［参照］ボタンをクリックして項目選択ダイアログを表示し、任意の項目名を選択してください。

項目No.

項目No.を指定する場合に選択します。“1”～“1000”までの数値で指定してください。

マッチングファイルが設定済みの場合は、［参照］ボタンから項目選択ダイアログを表示し、任意の項目No.を選択してください。

項目情報（比較先）

「比較先種別」でIDありの“入力項目”、“マッチング項目”、または“変数”を指定した場合に使用できるツリービューからの項目選択時、選択した項目の詳細が表示されます。ただし、“変数”を選択した場合リストの項目は「変数名」、「変数タイプ」、および「初期値」になります。

比較元の指定

「比較元種別」で“レコード”を選択した場合

マッチング番号

「入力項目」で“マッチング項目”を選択した場合のみ設定を行います。

マッチング番号を“1”～”101”までの数値で指定します。

対象レコード

入力ファイルのレコード数。

グループレコード数

階層フォーマットのグループレコード数。

入力総レコード数

マッチングファイルで複数マッチしたレコードを含む入力データのレコード数。

マッチング設定が行われている場合のみ選択できます。

入力ヒットレコード数

入力ファイルのレコードごとにマッチング処理でヒットしたマッチングファイルのレコード数。マッチング設定が行われている場合のみ選択できます。

「比較元種別」で“入力項目”を選択した場合

CSVID無しの場合は、「指定方法」が自動で“項目No.”とみなされ、直接項目No.を入力する必要があります。

指定方法

入力項目の指定方法を選択します。“項目名”と“項目No.”を指定できます。

出力方法

処理なし、関数、共通コンポーネントから選択します。

「比較元種別」で“マッチング項目”を選択した場合

マッチング番号

「入力項目」で“マッチング項目”を選択した場合のみ設定を行います。

マッチング番号を“1”～”101”までの数値で指定します。

出力方法（IDありの場合）

処理なし、関数、共通コンポーネントから選択します。

項目No.

項目No.を指定します。

「比較元種別」で“変数”を選択した場合

変数名

比較元となる変数を指定します。

［参照］ボタンをクリックして変数選択ダイアログを表示し、任意の変数名を選択してください。

出力方法

処理なし、関数、共通コンポーネントから選択します。

演算子の指定

比較先に「固定値」「実行時引数」「変数」を選択した場合

<

  : 比較対象値より小さいことを意味します。

>

  : 比較対象値より大きいことを意味します。

<=

  : 比較対象値以下であることを意味します。

>=

  : 比較対象値以上であることを意味します。

==

  : 比較対象値と等しいことを意味します。

!=

  : 比較対象値と異なることを意味します。

INCLUDE

  : 比較対象値が含まれることを意味します。

= 備考 =

種別に「数値」「日付」「$DSTR(日付)」「$DNUM(数値)」を指定した場合は、“INCLUDE”は指定できません。

比較先に「入力項目」「マッチング項目」を選択した場合

種別が「文字列」の場合

等しい

  : 比較先項目の値が比較元項目の値と完全一致することを意味します。

前方一致

  : 比較先項目の値が比較元項目の先頭の値と一致することを意味します。

後方一致

  : 比較先項目の値が比較元項目の末尾の値と一致することを意味します。

等しくない

  : 比較先項目の値が比較元項目の値と一致しないことを意味します。

含む

  : 比較先項目の値が比較元項目の値に含まれることを意味します。

種別が「数値」または「日付」の場合

<

  : 比較先項目の値が比較元項目の値より小さいことを意味します。

>

  : 比較先項目の値が比較元項目の値より大きいことを意味します。

<=

  : 比較先項目の値が比較元項目の値以下であることを意味します。

>=

  : 比較先項目の値が比較元項目の値以上であることを意味します。

==

  : 比較先項目の値が比較元項目の値と等しいことを意味します。

!=

  : 比較先項目の値が比較元項目の値と異なることを意味します。

注意

- 入力データの漢字コード種がEBCDIC系コードの場合、内部的に比較対象値内のマルチバイト文字列の前後にシフトコードを付加して比較を行います。

- 前方一致および後方一致では、比較元のデータの長さが比較先のデータの長さよりも長いとマッチングされません。データの長さは、次に示すように指定してください。

  比較元（左） ≦ 比較先（右）

比較先の指定

「比較先種別」で“固定値”を選択した場合

種別

入力項目の種別。

“文字列”、“数値”、“日付”、”文字列(16進)”、および”空文字”を選択できます。

値

固定値を指定します。

「比較先種別」で“実行時引数”を選択した場合

種別

実行時引数の種別。

“$DSTR”、“$DSTR(16進)”、“$DSTR(日付)”、および“$DNUM(数値)”を選択できます。

番号

実行時引数の番号。

“01”～”20”を選択できます。

「比較先種別」で“入力項目”を選択した場合

種別

入力項目の種別。

“文字列”、“数値”、および“日付”を選択できます。

指定方法

項目の指定方法。

「比較先種別」でID指定ありの“入力項目”を選択した場合のみ設定します。

「項目名」を選択すると項目名入力欄が表示され、「項目No.」を選択すると項目No.入力欄が表示されます。

「比較先種別」で“変数”を選択した場合

変数名

比較先となる変数を指定します。

［参照］ボタンをクリックして変数選択ダイアログを表示し、任意の変数名を選択してください。

「比較先種別」で“マッチング項目”を選択した場合

マッチング番号

マッチング番号。この項目は比較先種別に"マッチング項目"を選択した場合に表示されます。

種別

入力項目の種別。

“文字列”、“数値”、および“日付”を選択できます。

項目No.

項目No.を指定します。

注意

- 入力データの漢字コード種がEBCDIC系コードの場合には、内部的に比較対象値内のマルチバイト文字列の前後にシフトコードを付加して比較を行います。

- 比較先が"固定値"の"文字列"および"実行時引数"の"$DSTR"で、入力ファイルのフォーマット項目が項目タイプNの場合、比較対象値が項目タイプNの項目長より短くならないように、以下のどちらかの対処をしてください。

  - 比較先の値に指定の後ろに全角スペースを詰めて、項目タイプNの項目長と長さを同じにする。

  - 比較演算子に、"INCLUDE"を指定する。

- 日付を指定する際、時刻を省略した場合は「00:00:00」として処理します。

  例) 日付が2007/10/26 なら時刻は任意でよいという場合

  誤 item1 = 2007/10/26 (item1 = 2007/10/26 00:00:00 と同等)

  正 item1 >= 2007/10/26 AND item1 < 2007/10/27

- Iタイプの項目を指定した場合、実行時に変換エラーとなります。Iタイプの項目は指定しないでください。

- 項目で設定されている項目タイプと、比較先のタイプが異なる場合、正しく抽出が行われない場合があります。文字データ（項目タイプX、N、M等）を比較する場合は比較先の種別は文字列、数値データ（項目タイプ9、S、P等）を比較する場合は数値を設定してください。

  なお、システム動作環境設定ファイル（huledenv.conf）の「異なる型同士を比較する(compare_different_type_data)」に"1"(変換して比較する)を指定すると、型違いでも比較します。