# 未ヒット時の挙動

入力が階層フォーマット形式のとき、レコードの出現条件で指定したキー値が入力レコードと一致しないことを「未ヒット」と呼びます。

図4.1 未ヒット

キーが一致しなかったときの動作は、階層フォーマット情報の「未ヒット時の挙動」で設定できます。

= 備考 =

「未ヒット時の挙動」の" デフォルト値を使用" および" 正常とし前回のデータを使用" は、条件でグループを指定した場合に有効です。

(1) 抽出条件が"グループ"の場合

抽出条件が"グループ"の場合について、例を使って説明します。

以下の入力側および出力側のレイアウト情報と、マッピング情報を使用します。

図4.2 レイアウト情報とマッピング情報（抽出条件:グループ）

入力ファイルは以下のようになります。

図4.3 入力ファイル

a) 「未ヒット時の挙動」="エラー"（省略不可）

入力側に対応するレコードがない場合、エラーとなります。

b) 「未ヒット時の挙動」="デフォルト値を使用"

入力側に対応するレコードがない場合、項目ごとにデフォルト値を設定したデータを使用して処理します。

今回の例では、Mタイプの項目には“値なし”、9タイプの項目には“0”のデフォルト値が適用されます。しかしその後、桁合わせの処理により、Mタイプの「値なし」のデータは半角スペースが10バイト、9タイプの“0”のデータは0が3バイトとして処理され、以下のような出力ファイルとなります。

項目タイプのデフォルト値については「項目タイプの一覧」、桁合わせ処理については「桁合わせ」を参照してください。

図4.4 出力ファイル（デフォルト値を使用）

c) 「未ヒット時の挙動」="正常とし前回のデータを使用"

入力側に対応するレコードがない場合、前回処理したレコードの値を再利用します。出力ファイルは以下のようになります。

図4.5 出力ファイル（正常とし前回のデータを使用）

(2) 抽出条件が"レコード"の場合

「未ヒット時の挙動」が"デフォルト値を使用"または"正常とし前回のデータを使用"の時、入力側に対応するレコードがない場合は処理がスキップされ、デフォルト値や前回の値は出力されません。

抽出条件に"レコード"を指定し、マルチフォーマット形式で出力します。

図4.6 レイアウト情報とマッピング情報（抽出条件:レコード）

出力ファイルは以下のようになります。

図4.7 出力ファイル