List data sets

Scenario 1

With ZOAU, you can list all data sets that start with ${prefix}, showing details for the data sets with any of the following ways:

  • Issuing a shell command:

    • Option 1:
    dls -us "${prefix}.*"
    
    • Option 2:
    echo " LISTCAT LVL(${prefix}) ALL" | mvscmdauth --pgm=IDCAMS --sysprint=* --amsdump=dummy --sysin=stdin | awk '/0NONVSAM/ { print }'
    

  • Calling an API in Python programs:

    print(datasets.list_datasets("%s.*" % HLQ, verbose=True))
    

Without ZOAU, to achieve the same purpose, you need to write the following JCL statements:

//*
//* List all the datasets that start with
//* to @@HLQ.ZOASAMP
//*
//DLS      EXEC PGM=IDCAMS 
//SYSPRINT DD SYSOUT=*
//AMSDUMP  DD DUMMY
//SYSIN    DD *
  LISTCAT LVL(@@HLQ@@.ZOASAMP) ALL
/*

Scenario 2

Use the dls shell command with option -V to list all the data sets in volume “RES480” that match the pattern “SYS1.M*”:

dls -l -V RES480 SYS1.M*

The output is as follows:

SYS1.MACLIB                                  PO  FB      80 RES480
SYS1.MIGLIB                                  PO  U        0 RES480
SYS1.MODGEN                                  PO  FB      80 RES480
SYS1.MSGCHS                                  PO  VB     259 RES480
SYS1.MSGDEU                                  PO  VB     259 RES480
SYS1.MSGENP                                  PO  VB     259 RES480
SYS1.MSGENU                                  PO  VB     259 RES480
SYS1.MSGJPN                                  PO  VB     259 RES480

Scenario 3

Use the dls shell command with options -l and -a to list the PDS members and members aliases of the data set SYS1.MIGLIB:

dls -l -a SYS1.MIGLIB

The output is as follows:

SYS1.MIGLIB                                  PO  U        0 RES480
ADYEXT
ADYGETSM
ADYHDFMT
AHLFCGTF
AHLFVEC  ALIAS(AHLFFP)
AHLTWINT
AIZBLKR
AMAPDUPL ALIAS(MTFTPS)
AMAPDUPT
AMASPZAP ALIAS(IMASPZAP)
AMATERSE ALIAS(GIMUNPCK TRSMAIN)

If you use wildcards in the data set name, the output is organized by data set. For example, use the following command to list the PDS members and members aliases of all the datasets that match the pattern SYS1.M*:

dls -l -a SYS1.M*       

The output is as follows:

SYS1.MACLIB                                  PO  FB      80 RES480
ABEND
ACBVS

SYS1.MIGLIB                                  PO  U        0 RES480
ADYEXT
IXLC2LBF ALIAS(IXLCTLBF)
IXLF1RTR ALIAS(IXLFMCBF IXLFMRTR IXLFMSTR)

SYS1.MODGEN                                  PO  FB      80 RES480
ADROAB
ADRRAB
ADRRBLKB

SYS1.MSGJPN                                  PO  VB     259 RES480
ADFSMRJP
ADYDAEJP ALIAS(GIMUNPCK TRSMAIN)