How can we get a more readable record layout of the XCOM DSECT's?
You can assemble the XCOM for z/OS DSECT using ASMA90. The output is generated in SYSADATA and is in a readable format. That output is also used as input for the CCNEDSCT utility, which will generate C header definitions. Here is sample JCL to accomplish that:
Here is an excerpt on how the output produced will look like when you assemble a DSECT
000004 53 SMFINDIC DS X SMF OPSYS INDICATOR
000005 54 SMFRECNO DS X SMF RECORD NUMBER
000006 55 SMFTIME DS XL4 SMF TIME
00000A 56 SMFDATE DS PL4 SMF DATE
00000E 57 SMFSYSID DS CL4 SYSTEM IDENT(FROM SID PARM)
000012 58 DS XL6 FILLER (FOR DWORD Boundary)
Here is an excerpt on how the output produced will look like when you run CCNEDSCT:
unsigned char smfindic; /* SMF OPSYS INDICATOR */
unsigned char smfrecno; /* SMF RECORD NUMBER */
unsigned char smftime.4.; /* SMF TIME */
_dec__var(7,0) smfdate; /* SMF DATE */
unsigned char smfsysid.4.; /* SYSTEM IDENT(FROM SID PARM) */
unsigned char _filler2.6.; /* FILLER (FOR DWORD Boundary) #116 */
Note: You can use the C header generated in your SAS or other applications that will support it.
Attached is a document with the XCOM r12 for z/OS layout for our SMFDSECT. Were we used the output of the above JCL and a scientific calculator to place it in a table format. The same document also has additional IBM utilities and PROC's that can be used.