How to generate a XCOM for z/OS DSECT layout using ASMA90
search cancel

How to generate a XCOM for z/OS DSECT layout using ASMA90

book

Article ID: 38271

calendar_today

Updated On:

Products

XCOM Data Transport XCOM Data Transport - Windows XCOM Data Transport - Linux PC XCOM Data Transport - z/OS

Issue/Introduction

Question:

How can we get a more readable record layout of the XCOM DSECT's?

Answer: 

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:

 

//XCDSECT JOB (ACCOUNTING), ’ASSEMBLE DSECT’,                       
//         CLASS=A,MSGCLASS=X,MSGLEVEL=(1,1)        
//ASMDSECT      EXEC PGM= ASMA90,                                        
//                                 PARM=(NODECK,NOOBJECT,NOTERM,BATCH,NOTEST,ADATA,DECIMAL)
//SYSLIB               DD          DISP=SHR,DSN=xcomhlq.CBXGMAC     
//                            DD          DISP=SHR,DSN=ccshlq.CCS.D140929.MACLIB                 
//                            DD          DISP=SHR,DSN=SYS1.MACLIB                            
//                            DD          DISP=SHR,DSN=SYS1.AMODGEN                           
//                            DD          DISP=SHR,DSN=SYS1.MODGEN                            
//SYSUT1             DD          UNIT=SYSALLDA,SPACE=(1700,(6000,100))               
//SYSUT2             DD          UNIT=SYSALLDA,SPACE=(1700,(6000,100))               
//SYSUT3             DD          UNIT=SYSALLDA,SPACE=(1700,(6000,100))               
//SYSPRINT         DD          SYSOUT=*                                            
//SYSIN                DD          DISP=SHR,
//                                            DSN=xcomhlq.CBXGMAC(SMFDSECT)    
//SYSLIN              DD          DUMMY                                              
//SYSTERM         DD          DUMMY                                               
//SYSPUNCH      DD          DUMMY                                              
//*SYSPRINT      DD          DSN=&&ASMLST,DISP=(OLD,PASS)                      
//SYSADATA       DD          DISP=(NEW,PASS),                                    
//                                            UNIT=SYSALLDA,SPACE=(80,(2000,500)),                
//                                            DSN=&&OBJSET                                        
//*                                                                
//DSECT2C          EXEC PGM=CCNEDSCT,COND=(4,LT,ASMDSECT),                  
//                             PARM=(DECIMAL,BITF0XL,NOEQUATE)                        
//SYSADATA       DD          DISP=(OLD,PASS),DSN=&&OBJSET                        
//EDCDSECT       DD          SYSOUT=*                                            
//SYSOUT            DD          SYSOUT=*                                             
/*          
 

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.

 

Additional Information:

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.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

        

 

 

 

 

 

 

   

 

 

 

 

 

Environment

Release:
Component: XCMVS

Attachments

1558534336097TEC1697396.zip get_app