



>_Host_> Under OS/390 and VM, if the file contains blocked logical records that are to be processed in a buffer, and any of the records contain binary entries for which the SYNCHRONIZED clause is specified, you can improve performance by adding any needed slack bytes between records for proper alignment. <_Host_<
The lengths of all the elementary data items in the record, including all slack bytes, are added. (For variable-length records under OS/390 and VM, it is necessary to add an additional 4 bytes for the count field.) The total is then divided by the highest value of m for any one of the elementary items in the record.
If r (the remainder) is equal to zero, no slack bytes are required. If r is not equal to zero, m - r slack bytes are required. These slack bytes can be specified by writing a level-02 FILLER at the end of the record.
To show the method of calculating slack bytes both within and between records, consider the following record description:
     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.
   The number of bytes in A-1, A-2, and A-3 totals 11.  B-1 is a 4-digit
   COMPUTATIONAL item and 1 slack byte must therefore be added before B-1.
   With this byte added, the number of bytes preceding B-2 totals 14.
   Because B-2 is a COMPUTATIONAL item of 5 digits in length, two slack bytes
   must be added before it.  No slack bytes are needed before B-3.
The revised record description entry now appears as:
     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.
   There is a total of 22 bytes in COMP-RECORD, but, from the rules given in
   the preceding discussion, it appears that m = 4 and r = 2.  Therefore, to
   attain proper alignment for blocked records, you must add 2 slack bytes at
   the end of the record.
The final record description entry appears as:
     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. 1991, 1998
Adobe, the Adobe logo, Acrobat, the Acrobat logo, and Acrobat Reader are registered trademarks of Adobe Systems incorporated.