The FILLER item is treated as if it were an item with a level number equal to that of the preceding item. The size of this implicit FILLER item is calculated as follows:
The size of the implicit FILLER item is not included in the size of any group item that contains it.
Group items are naturally defined as alphanumeric. Any FILLER items are initialized with spaces. Implicit FILLER items generated through the SYNCHRONIZED clause, then, are also initialized with spaces under the (default) *STDINZ compiler option. Under the *NOSTDINZ or *STDINZHEX00 options, these implicit FILLER items will contain hexadecimal zeroes.
An implicit FILLER item may also be added by the compiler when a group item is defined with an OCCURS clause and contains data items that are subject to alignment. To determine whether an implicit FILLER is to be added, the following action is taken:
An implicit FILLER item may be inserted at the end of each occurrence of the group item containing the OCCURS clause. This is done to synchronize subsequent occurrences.
Items at level 01 or 77 are aligned according to the following rules:
| Area | Level Number | Boundary Alignment |
|---|---|---|
| Working-Storage Section |
01 77 |
16 bytes 16 bytes |
| Local-Storage Section |
01 77 |
16 bytes 16 bytes |
| File Section | 01 | Compiler assumes a 16-byte boundary for synchronizing items. |
| Linkage Section |
01 77 | Compiler assumes a 16-byte boundary for synchronizing items. Pointer data and procedure-pointer data items are not synchronized. |
(C) Copyright IBM Corporation 1992, 2006. All Rights Reserved.