非類似フィールドの定様式比較
定様式比較が要求されて、テンプレート・マッピングで非類似属性を持つフィールドを比較するように指定されている場合には、File Manager はフィールドのデータを有意義な方式で比較しようと試みます。
最初のステップでは、各フィールドが数値データ、ビット・ストリング・データ、または文字データであるとして分類されます。内部 (2 進数、パック 10 進数、および浮動小数点) および外部 (ゾーン 10 進数および外部浮動小数点) 数値データ・タイプはすべて数値として分類されます。長さが 64 ビットまでのビット・フィールドはビット・ストリングとして分類されます。その他のフィールド (マップされたグループ項目を含む) はすべて文字データとして分類されます。
次のステップでは、フィールドの比較方法が決定されます。次の表に、データ分類のそれぞれの組み合わせに使用される比較方式を示します (冗長組み合わせはブランクのままにしてあります)。
データ・タイプ | 数値 | bit string | 文字 |
---|---|---|---|
数値 | 数値 | 数値 | 数値 |
bit string | bit string | bit string | |
文字 | 文字 |
- Numeric comparison (数値比較)
- 内部数値タイプとして定義されていないフィールドが、最初に他のフィールドとの比較に対応する内部数値タイプに変換されます。この変換に失敗すると、それらのフィールドは一致しません。比較の前にパックおよびゾーン 10 進数フィールドが検証されて、この検証に失敗すると、それらのフィールドは一致しません。変換および検証エラーと浮動小数点数の精度エラー以外は、フィールドのデータ・タイプと長さは比較の結果に影響を与えません。注: 比較が浮動小数点として定義されていないフィールドであっても、(外部) 浮動小数点数が入っている文字フィールドは有効です。
- Bit string comparison (ビット・ストリング比較)
- 2 つのフィールドの対応するビットがすべて一致すれば、ビット・ストリング比較は同じになります。
- Character comparison (文字比較)
- 文字比較の結果は、追加の定様式比較オプションが指定されているかどうかによって異なります。追加のオプションが指定されていなければ、フィールドは同じ長さでなければならず、各フィールドの対応するバイトは正確に一致しなければなりません。追加のオプションを使用して、文字比較の実行時に、先行または末尾ブランク (あるいはその両方) を無視するように指定できます。また、フィールドのブランク区切りの「語」が再形式設定されている場合に、フィールドを突き合わせさせるオプションを指定することもできます。このオプションでは、フィールドの連続したブランクが単一ブランクのように処理されるので、先行および末尾ブランク・オプションは冗長です。長さの異なる文字フィールドを比較するには、これらのオプションの 1 つを指定してください。指定しなければ、レコードはいずれも一致しません。最後に、文字フィールドの比較では、大/小文字を無視するオプションを指定することができます。
注: 検証に失敗したレコードには、比較報告書に感嘆符 (!) のフラグが付けられます。幅広 (表形式) リストでは、フラグは「ID」桁に現れます。狭幅 (単一形式) リストでは、フラグはレコード見出しの左側に現れます。