# マルチフォーマット情報

配信するファイルが複数の異なるレコードフォーマットを持っている場合、マルチフォーマットを登録します。最大20フォーマットIDとIDに関連付けられたキーを指定できます。

さらに関連付けられたキーに当てはまらないデータに使用するデフォルトフォーマットIDも指定することができます。登録するには以下の2通りの方法があります。

- 管理画面による登録

  ⇒「マルチフォーマット情報を操作する」参照

- パラメーターファイル指定によるコマンド登録

  ⇒「管理情報バッチ登録コマンド」参照

## 項目一覧

下記表は管理画面による登録の場合の値です。コマンド登録の場合、「省略」が画面の設定と異なる場合があります。コマンド登録の場合の「省略」の詳細は「管理情報バッチ登録コマンド」を参照してください。

表2.14 マルチフォーマット情報項目一覧

項目名 | 初期値 | 設定値 | 省略 | 備考
--- | --- | --- | --- | ---
画面 | ファイル
マルチフォーマットID | MFMT |  | 英数字および“_” | × | 先頭英字の50バイト以内
キー開始位置 | KEYSTART | 1 | 1～19997 | × |
キー長 | KEYLEN |  | 1～20 | × |
デフォルトフォーマットID | DFMTID |  | 英数字および“_” | ○ | 先頭英字の50バイト以内
キー値 | MFORMAT DEF ～ DEFEND |  | 英数字 | × | 20バイト以内 (*1)
フォーマットID |  | 英数字および“_” | × | 先頭英字の50バイト以内
コメント | COMMENT |  | 文字 | ○ | 60バイト以内

○ | : | 省略可
× | : | 省略不可
*1 | : | HULFT管理画面上でキー値に“DEFEND”という文字列を登録することができます。一方、「DEFEND」は管理情報バッチ登録コマンド（UTLIUPDT）の予約語であるため、管理情報バッチ登録コマンド（UTLIUPDT）使用時はキー値に“DEFEND”という文字列を登録することができません。

## 各項目の説明

マルチフォーマット情報に設定する各項目について説明します。（）内はパラメーターファイル使用時に指定する項目名です。

マルチフォーマットID（MFMT）

  登録したマルチフォーマット情報を認識するためのID

  このマルチフォーマットIDと配信管理情報のマルチフォーマットIDが関連づけされます。

キー開始位置（KEYSTART）

  レコード単位に設定するキーの開始位置

  キー開始位置とキー長を足した値が“19998”を超える値は設定できません。

  キー開始位置をフォーマット情報の長さよりも大きくすると、キー値が正しく適用されません。

キー長（KEYLEN）

  レコード単位に設定するキーの長さ

デフォルトフォーマットID（DFMTID）

  データ内のキーと一致しなかった場合の初期値のフォーマットID

  デフォルトフォーマットIDを指定しておくと、データ内のキーがマルチフォーマットの登録されたキーと一致しないとき、デフォルトフォーマットIDのフォーマットが使用されます。省略すると、キーと一致しなかった場合、変換エラーとなります。

キー値

  レコード単位に設定するキー

  キーは「キー長」と同じ長さの英数字で指定します。

  キー値を設定する領域の項目タイプは、以下のいずれかを指定してください。

  X

    : キャラクタータイプ

  M

    : 可変長文字

フォーマットID

  キーが一致した場合に使用するフォーマットID

  フォーマット情報に登録されているフォーマットIDを指定します。「キー値」と同じ個数の登録が必要です。キー値からフォーマットIDを識別し、データに適用します。

コメント（COMMENT）

  マルチフォーマットに対するコメント

## 設定時の注意点

キー値が正しく適用されない場合

フォーマット情報の項目タイプで“P（サイン付内部10進数）”または“S（サイン付外部10進数）”に指定されたデータがキー開始位置よりも前に存在すると、キー開始位置がずれてしまいます。そのため、キー値が適用されない場合があります。

フォーマットの適用位置について

キー値と一致したフォーマット情報を適用する場合、キー開始位置に関係なくフォーマット情報の開始位置はレコードの1バイト目から適用されます。

キー値の扱い

フォーマット管理情報に登録するフォーマット情報には、キー値を含んだフォーマットを登録してください。

レコード長

指定したフォーマット情報（デフォルトフォーマットIDを含む）のフォーマット長がそれぞれ異なる長さの場合、配信ファイルのレコード長は最大フォーマット長以上でなければなりません。