/* Rexx */ /* Exec to display the Linklst concatenation. */ /* Also called by LIBGROUP facility to dynamically define LINKLST */ /* concatenation to Library group structure. Ashley - TSG */ Trace arg option . cvtllta=d2x(c2d(storage(10,4))+1244) /* Link List Table address */ cvtllt=d2x(c2d(storage(cvtllta,4))) /* Pointer to LLT */ lltcount=c2d(storage(d2x(x2d(cvtllt)+4),4)) /* Entries in table */ lltentry=cvtllt /* LLT entry */ sublibs="SAG SAGLNKL. " , "CA CAPROD. " , "LIVE LIVE. " , "NETVIEW NETVLNKL." , "PLI PLI. " , "TSG TSG. " , "OEM OEM. " , "SAS SAS. " , "DMS DMS. " , "IBM * " /* IBM entry must be last */ do n=1 for lltcount /* loop through the table */ lltdsn.n=strip(storage(d2x(x2d(lltentry)+9),44)) /* DSN */ lltentry=d2x(x2d(lltentry)+45) /* point to next entry */ sublibdsn.n="" do ll=1 by 2 for words(sublibs)/2 sublibdsn.n=word(sublibs,ll) if pos(word(sublibs,ll+1),lltdsn.n)¬=0 then leave end libinc.n="DSN='"lltdsn.n"',"sublibdsn.n /* define variable */ end /* If we were called as part of LIBGROUP processing, then set */ /* up the global variable values */ if option="LIBGROUP" then do fc=globalv("LINKLST","SET","LIBINC.0",lltcount+2) fc=globalv("LINKLST","SET","LIBINC.1","LIB=LINKLST") !globalv="TAG='Sublibs=Ibm,SAG,Ca,Live,Netview,Pli,Tsg,Oem,SAS'" fc=globalv("LINKLST","SET","LIBINC.2") do jj=1 for lltcount fc=globalv("LINKLST","SET","LIBINC."jj+2,libinc.jj) end exit end /* Otherwise, display details at terminal */ address TSO "CLRSCRN" do d=1 for lltcount say lltdsn.d end exit