Rational Developer for System z
Enterprise PL/I for z/OS, Version 3.8, Programming Guide

Understanding the SYSADATA file

The SYSADATA file is a sequential binary file. Under z/OS batch, the compiler writes the SYSADATA records to the file specified by the SYSADATA DD statement, and that file must not be a member of a PDS. On all other systems, the compiler writes to a file with the extension "adt".

Each record in the file contains a header. This 8-byte header has fields that are the same for all records in the file:

Compiler
A number representing the compiler that produced the data. For PL/I, the number is 40.
Edition number
The edition number of the compiler that produced the data. For this product, it is the number 2.
SYSADATA level
A number representing the level of SYSADATA that this file format represents. For this product, it is the number 4.

The header also has some fields that vary from record to record:

Possible record types are encoded as an ordinal value as shown in Figure 105.

Figure 105. Record types encoded as an ordinal value
 Define ordinal xin_Rect
  (Xin_Rect_Msg       value(50),   /*  Message record                */
   Xin_Rect_Fil       value(57),   /*  File record                   */
   Xin_Rect_Sum       value(61),   /*  Summary record                */
   Xin_Rect_Src       value(63),   /*  Source record                 */
   Xin_Rect_Tok       value(64),   /*  Token record                  */
   Xin_Rect_Sym       value(66),   /*  Symbol record                 */
   Xin_Rect_Lit       value(67),   /*  Literal record                */
   Xin_Rect_Syn       value(69),   /*  Syntax record                 */
   Xin_Rect_Ord_Type  value(80),   /*  ordinal type record           */
   Xin_Rect_Ord_Elem  value(81),   /*  ordinal element record        */
   Xin_Rect_Ctr       value(82) )  /*  counter record                */
                      prec(15);

The declare for the header part of a record is shown in Figure 106.

Figure 106. Declare for the header part of a record
 Dcl
   1 Xin_Hdr Based( null() ),       /*  Header portion               */
                                    /*                               */
     2 Xin_Hdr_Prod                 /*  Language code                */
             fixed bin(8) unsigned, /*                               */
                                    /*                               */
     2 Xin_Hdr_Rect                 /*  Record type                  */
         unal ordinal xin_Rect,     /*                               */
                                    /*                               */
     2 Xin_Hdr_Level                /*  SYSADATA level               */
             fixed bin(8) unsigned, /*                               */
                                    /*                               */
     2 * union,                     /*                               */
       3 xin_Hdr_Flags     bit(8),  /*  flags                        */
       3 *,                         /*                               */
         4 *               bit(6),  /*  Reserved                     */
         4 Xin_Hdr_Little_Endian    /*  ints are little endian       */
                           bit(1),  /*                               */
         4 Xin_Hdr_Cont    bit(1),  /*  Record continued in next rec */
                                    /*                               */
     2 Xin_Hdr_Edition              /*  compiler "edition"           */
             fixed bin(8) unsigned, /*                               */
                                    /*                               */
     2 Xin_Hdr_Fill        bit(32), /*  reserved                     */
                                    /*                               */
     2 Xin_Hdr_Data_Len             /*  length of data part          */
            fixed bin(16) unsigned, /*                               */
                                    /*                               */
     2 Xin_Hdr_End         char(0); /*                               */

Terms of use | Feedback

This information center is powered by Eclipse technology. (http://www.eclipse.org)