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

図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 出力ファイル