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: