/* REXX ZLC LISTCAT from a 3.4 dataset list */ arg argline /* pro-forma quick-start */ address TSO arg parms "((" opts opts = Strip(opts,"T",")") parse var opts "TRACE" tv . parse value tv "N" with tv . parse value "0 0 0 0 0 0 0" with, sw. . rc = Trace("O") rc = Trace(tv) parse var parms dsname parms sw.0Keep = WordPos( "KEEP",parms ) > 0 alloc.0 = "NEW CATALOG UNIT(SYSDA) SPACE(5 5) TRACKS", "RECFM( V B ) LRECL( 255 ) BLKSIZE( 0 )" alloc.1 = "SHR" /* if it already exists... */ outdsn = "sysout.list" tempstat = Sysdsn(outdsn) = "OK" |, /* 1=exists, 0=missing */ Sysdsn(outdsn) = "MEMBER NOT FOUND" "ALLOC FI( SYSLIST ) DA( "outdsn" ) REU" alloc.tempstat "LISTC ENTRIES( "dsname" ) ALL OUTFILE( SYSLIST )" address ISPEXEC "VIEW DATASET( SYSOUT.LIST ) PROFILE( DEFAULT )" address TSO @stat = Msg( "OFF" ) if sw.0Keep = 0 then "DELETE" outdsn @stat = Msg( @stat ) exit /*@ ZLC */