パック 10 進数フィールドの桁数の長さの判別

パック 10 進数フィールドの桁数による長さを見付けるためには、次の式を使用 してください。
   桁数 = 2n - 1
   ...where n = number of packed input record positions used.

この式によって、パック 10 進数形式で表現できる最大桁数が得られます。上限 は 63 です。

パック・フィールドの長さは最高 32 バイトとすることができます。 表 1 は、最高 63 桁の長さのゾーン 10 進数フィールドと同等の パック 10 進数フィールドを示しています。
表 1. 最高 63 桁の長さのゾーン 10 進数フィールドと同等のパック 10 進数フィールド

ゾーン 10 進数
の長さ (桁)

パック 10 進数フィールド
で使用されるバイト数

1 1
2、3 2
4、5 3
28、29 15
30、31 16
60、61 31
62、63 32

たとえば、パック 10 進数形式で読み取られた入力フィールドの長さが (入力ま たは定義仕様書に指定されたとおりの) 5 バイトであったとします。 このフィールド の桁数は 2(5) - 1 つまり 9 と等しくなります。したがって、このフィールドが 演算仕様書で使用される時には、結果のフィールドは 9 桁の長さがなければなりません。 定義仕様書の PACKEVENキーワードを使用して、桁数では なく、開始位置および終了位置を使用してパック・サブフィールドを指定するときに必要な 2 つの使用可能なサイズのいずれかを指定することができます。