/* REXX CLNXREF Exclude all lines on a FCXREF "STATS" listing whose dates match for all entries. */ address ISREDIT "MACRO (opts)" if rc = 20 then do /* ISREDIT not available */ address TSO parse source . . exec_name . ex_nam = Left(exec_name,8) /* predictable size */ helpmsg = ex_nam "is an EDIT macro" say helpmsg end upper opts opts = Strip( opts,'T','5d'x ) /* yes we want no bananas */ parse value "" with tv parse var opts "TRACE" tv . parse value tv "N" with tv . rc = Trace('O') ; rc = Trace(tv) "(start) = LINENUM .zfirst " "(end) = LINENUM .zlast " parse value start+0 end+0 with, start end . "(lrecl) = LRECL " parse value 12 13 lrecl+0 with, from to lrecl checktxt do while from < lrecl checktxt = checktxt "Substr( txt,"from",1 ) = ' ' &", "Substr( txt,"to",1 ) <> ' ' |" parse value from+17 to+17 with, from to end /* from */ checktxt = "sw.0Oops = "Strip( checktxt,"T","|" ) ignore_mems = " #INDEX @@README CBTSCAN BACKUP BIG CMDUPD FLIP ", " SHOWMEM $$$#DATE ", " MIGRATE ONLY RESTORE SQRT VC " do line# = start to end "(txt) = LINE " line# if Substr( txt, 2,1 ) = ' ' &, Substr( txt,13,1 ) = ' ' then do /* not a member */ "XSTATUS" line# "= X " iterate end if Substr( txt,2,1 ) = '-' then, /* separator */ iterate parse var txt mbr . if WordPos( mbr,ignore_mems ) > 0 then do "XSTATUS" line# "= X " /* exclude */ iterate end /* ignore */ Interpret checktxt if sw.0Oops = 0 then, "XSTATUS" line# "= X " /* hide complete match */ end /* line# */ exit /*@ CLNXREF */