桁詰め

データ項目の記述に SYNCHRONIZED 句が含まれている場合、語記憶モードが有効になり、そのデータ項目の右端 (最下位) がコンピューターの記憶域の固有の境界に合わせて整列される。この整列を行うために、コンピューター記憶域の追加の文字位置 (バイト) が桁詰め項目の隣に予約される。これらのバイトは埋め込みバイトまたは暗黙的な FILLER バイトと呼ばれ、グループ項目に含まれる場合を除き、通常はコンピューター プログラムからはアクセスできない。

SYNCHRONIZED 句を指定した各基本データ項目は、データ項目の記憶域割り当てに対応する固有記憶域境界 (「コンピューター メモリの固有境界」トピックの表 5 を参照) に合わせて配置される。したがって、語記憶モードでは、PICTURE に S9(5) と記述されている数値データ項目には、4 バイト (データ分の 3 バイトおよび埋め込み分の 1 バイト) の記憶域が割り当てられる。SYNCHRONIZED が指定されている場合は、次に最も近い 4 バイトの境界に合わせて整列される (つまり、その項目を含むレコードの最初から、その項目の左端 (最上位) までのバイト数が 4 の倍数になるように、合計 4 バイトの記憶域割り当てが整列される)。直前の項目の末尾が 4 バイトの境界に達しない場合は、暗黙の FILLER 割り当てが必要となる。

OCCURS 句 (「OCCURS 句」セクションを参照) を含む非基本データ記述に SYNCHRONIZED 項目を使用した場合にも、暗黙の FILLER が生成されることがある。これは、最初の集団項目の登場箇所がコンピューターの記憶域の固有境界に合わせて整列されるのと同様に、2 番目以降の登場箇所も境界に合わせて整列するために、各集団項目の登場箇所で追加バイトの予約が必要になることがあるためである。