データ記述中の 2 進数項目が本来の境界にない場合、コンパイラーはレコード内に遊びバイトを挿入して、 すべての SYNCHRONIZED 項目が適切な境界にあるようにします。
ファイル内のレコードの長さを把握しているのは重要なことであり、 遊びバイトが必要であるかどうかを判別したり、必要であればコンパイラーがバイトをいくつ追加すればよいか判別しなければなりません。 コンパイラーの使用するアルゴリズムは、次のとおりです。
これらの遊びバイトは、各レコードごとに、2 進数項目の前にある基本データ項目のすぐ後に追加されます。これらは、SYNCHRONIZED 2 進数項目の直前にある基本項目と同じレベル番号を持つ項目を構成するかのように定義され、それらを含むグループのサイズに数えられます。
以下に例を示します。
01 FIELD-A.
05 FIELD-B PICTURE X(5).
05 FIELD-C.
10 FIELD-D PICTURE XX.
[10 SLACK-BYTES PICTURE X. INSERTED BY COMPILER]
10 FIELD-E COMPUTATIONAL PICTURE S9(6) SYNC.
01 FIELD-L.
05 FIELD-M PICTURE X(5).
05 FIELD-N PICTURE XX.
[05 SLACK-BYTES PICTURE X. INSERTED BY COMPILER]
05 FIELD-O.
10 FIELD-P COMPUTATIONAL PICTURE S9(6) SYNC.
OCCURS 文節の指定のあるグループ項目が定義されており、 そのグループ項目の中に SYNCHRONIZED 2 進データ項目が含まれている場合も、コンパイラーは遊びバイトを追加することができます。遊びバイトを追加するかどうかを決定するために、コンパイラーは次の処置を取ります。
OCCURS 文節を含むグループ項目のオカレンスのたびに、その終わりのところで遊びバイトが挿入されます。例えば、次のように定義されているレコードは、ストレージの中では、レコードの後の図に示すようになります。
01 WORK-RECORD.
05 WORK-CODE PICTURE X.
05 COMP-TABLE OCCURS 10 TIMES.
10 COMP-TYPE PICTURE X.
[10 SLACK-BYTES PIC XX. INSERTED BY COMPILER]
10 COMP-PAY PICTURE S9(4)V99 COMP SYNC.
10 COMP-HOURS PICTURE S9(3) COMP SYNC.
10 COMP-NAME PICTURE X(5).

COMP-PAY と COMP-HOURS を適切な境界に位置合わせするために、 コンパイラーはレコード内に 2 つの遊びバイトを追加しました。
上記の例の場合、さらに調整をしなければ、COMP-TABLE の 2 番目のオカレンスは、 ダブルワード境界の 1 バイト手前から始まることになってしまいます。そして、2 番目以降のオカレンス項目では、COMP-PAY と COMP-HOURS が正しく位置合わせされません。したがって、コンパイラーはグループの最後に遊びバイトを加える必要があります。これによって、レコードは次のように記述されたかのようになります。
01 WORK-RECORD.
05 WORK-CODE PICTURE X.
05 COMP-TABLE OCCURS 10 TIMES.
10 COMP-TYPE PICTURE X.
[10 SLACK-BYTES PIC XX. INSERTED BY COMPILER]
10 COMP-PAY PICTURE S9(4)V99 COMP SYNC.
10 COMP-HOURS PICTURE S9(3) COMP SYNC.
10 COMP-NAME PICTURE X(5).
[10 SLACK-BYTES PIC XX. INSERTED BY COMPILER]
この例では、2 番目の COMP-TABLE のオカレンス (およびそれ以降) は、 ダブルワード境界を 1 バイト超えたところから開始されます。 COMP-TABLE の最初のオカレンスに関するストレージのレイアウトは、以下の図に示したように見えることになります。

このテーブルの後続の各オカレンスは、 これで最初のオカレンスと同じ相対位置で開始されることになります。