Se r (o restante) for igual a zero, não serão necessários bytes livres.
Se r não for igual a zero, m - r bytes livres serão necessários. Esses bytes de folga podem ser especificados escrevendo um FILLER de nível 02 no final do registro.
Considere a seguinte descrição do registro:
01 COMP-RECORD.
05 A-1 PICTURE X(5).
05 A-2 PICTURE X(3).
05 A-3 PICTURE X(3).
05 B-1 PICTURE S9999 USAGE COMP SYNCHRONIZED.
05 B-2 PICTURE S99999 USAGE COMP SYNCHRONIZED.
05 B-3 PICTURE S9999 USAGE COMP SYNCHRONIZED.
O número de bytes em A-1, A-2 e A-3 totaliza 11. B-1 é um item COMPUTACIONAL de quatro dígitos e, portanto, deve ser adicionado 1 byte de folga antes de B-1.
Com esse byte adicionado, o número de bytes que precedem B-2 totaliza 14.
Como B-2 é um item COMPUTACIONAL de cinco dígitos, dois bytes de folga devem ser adicionados antes dele.
Não são necessários bytes livres antes do B-3.
A entrada revisada da descrição do registro agora aparece como:
01 COMP-RECORD.
05 A-1 PICTURE X(5).
05 A-2 PICTURE X(3).
05 A-3 PICTURE X(3).
[05 SLACK-BYTE-1 PICTURE X. INSERTED BY COMPILER]
05 B-1 PICTURE S9999 USAGE COMP SYNCHRONIZED.
[05 SLACK-BYTE-2 PICTURE XX. INSERTED BY COMPILER]
05 B-2 PICTURE S99999 USAGE COMP SYNCHRONIZED.
05 B-3 PICTURE S9999 USAGE COMP SYNCHRONIZED.
Existe um total de 22 bytes em COMP-RECORD, mas pelas regras acima, parece que m = 4 er = 2.
Portanto, para obter o alinhamento adequado para registros bloqueados, você deve adicionar 2 bytes de folga no final do registro.
A entrada final da descrição do registro aparece como:
01 COMP-RECORD.
05 A-1 PICTURE X(5).
05 A-2 PICTURE X(3).
05 A-3 PICTURE X(3).
[05 SLACK-BYTE-1 PICTURE X. INSERTED BY COMPILER]
05 B-1 PICTURE S9999 USAGE COMP SYNCHRONIZED.
[05 SLACK-BYTE-2 PICTURE XX. INSERTED BY COMPILER]
05 B-2 PICTURE S99999 USAGE COMP SYNCHRONIZED.
05 B-3 PICTURE S9999 USAGE COMP SYNCHRONIZED.
05 FILLER PICTURE XX. [SLACK BYTES YOU ADD]
© Copyright IBM Corp.