Library View Topics Framed Contents Revised Topics Previous Topic Next Topic Search Search ResultsPrevious Topic MatchNext Topic Match Notes List Notes Print Download No PDF Handheld DisconnectedHandheld ConnectedHelp

5.3.15.3 Slack Bytes between Records



>_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]


Previous Topic Next Topic © Copyright IBM Corp. 1991, 1998

IBM Library Server Copyright 1989, 2005 IBM Corporation. All rights reserved.





Return to library:   z/OS | z/OS.e | TPF | z/VSE | z/VM | IBM Hardware | IBM System z Redbooks
Glossary:   IBM terminology
Publications:   How to order publications
Readers:   Download IBM Library Reader | Download IBM Softcopy Reader | Download Adobe® Acrobat® Reader®
Library management:   Download IBM Softcopy Librarian
Contacts:   Contact z/OS


Adobe, the Adobe logo, Acrobat, the Acrobat logo, and Acrobat Reader are registered trademarks of Adobe Systems incorporated.