OPEN (PDSEDCB,(INPUT)) OPEN PDSE
...
*************************************************************
* ISSUE ISITMGD FOR SECOND DATA SET IN THE CONCATENATION
*************************************************************
ISITMGD DCB=PDSEDCB,MF=(E,ISITPARM),CONCAT=1
USING ISM,1
LTR 15,15 Did it complete successfully
BNZ ISITERR No, branch to error routine
TM ISMOFLG1,ISMMGD Is data set system-managed?
BZ NOTMGD No, branch to non-SMS routine
TM ISMOFLG2,ISMPDSE Is data set a PDSE
BO ANPDSE Yes, branch to PDSE routine
OTHER WTO 'PDS: system-managed data set'
B EXIT
*************************************************************
* PROCESS A NON-SMS MANAGED PDS
*************************************************************
NOTMGD EQU *
TM ISMOFLG2,ISMPDSE Is data set a PDSE
BO ANUMPDSE Yes, branch to PDSE routine
WTO 'PDS: non-system-managed data set'
B EXIT
*************************************************************
* PROCESS AN UNMANAGED MANAGED PDSE
*************************************************************
ANUMPDSE EQU *
WTO 'PDSE: unmanaged data set'
B EXIT
*************************************************************
* PROCESS A MANAGED PDSE
*************************************************************
ANPDSE EQU *
WTO 'PDSE: system-managed data set'
...
PDSEDCB DCB DSORG=PO,DDNAME=PDSEDDN,MACRF=(R)
ISITPARM ISITMGD MF=L Defines space for parameter list
IGWCISM Maps parameter list
...
If you are testing a single data set, use the CONCAT default, which is 0. The CONCAT parameter is used only for partitioned concatenation, not sequential concatenation. For sequential concatenation, the current data set is tested. The return code in register 15 shows whether the function failed or is not supported on the system.