The TAUPDELI procedure generates the member list of a PDS according to the filter criterion (see Filter type).
REXX Example: Extract from TAUPDELI (simplified) . . . . Parse Arg indsn filter . . . . . /* Create the element list dataset */ Call REXX '0 TAUPDXA1 CONFIG ELELIST' Parse Value Result With . eledsn . Call ALLOC_FILE eledd eledsn /* Get the Elementtype */ type = GET_TYPE(indsn) /* Get members from PDS */ Call GET_MEMBERS Call TSO "0 EXECIO * DISKW" eledd "(FINIS STEM member.)" outparm = eledsn Call EXIT 0 wmsg . . . . GET_TYPE: Arg tdsn . Select When Pos('SOURCE', tdsn) > 0 Then ttype = 'EDITABLE' . . . . Otherwise ttype = 'UNKNOWN' End Return ttype GET_MEMBERS: Call ISPF "0 LMINIT DATAID(DSNDD) DATASET('"indsn"') ENQ(SHR)" Call ISPF "0 LMOPEN DATAID("dsndd")" j = 0 Do Forever mbr = ' ' parm = "DATAID("dsndd") OPTION(LIST) STATS(YES) PATTERN("filter")" Call ISPF "8 LMMLIST" parm "MEMBER(MBR)" If Result > 0 Then Leave j = j + 1 If Symbol('ZLC4DATE') = 'VAR' Then parm = zlc4date','zlm4date zlmtime','Strip(zlcnorc)','Strip(zluser) Else parm = ',,,' member.j = indsn','Strip(mbr)','parm','type End member.0 = j Return . . . . EXIT: Parse Arg exitrc exitmsg . . . . Call ISPF "* LMMLIST DATAID("dsndd") OPTION(FREE)" Call ISPF "* LMCLOSE DATAID("dsndd")" Call ISPF '* LMFREE DATAID('dsndd')' Call FREE_FILE eledd . . . . Exit exitrc outparm
Note the following in the programming for determining the member list: