PROC 1 MEMBER ALL EDIT SUMMARY NB DEBUG CHKCAT - DS1('&SYSUID..LIBR.PANELS') - DS2('TECH.SYSTECH.ISPPLIB') - DS3('TECHTSO.COMBINE.ISPPLIB') - DS4('TSOTEST.LIB01.PANELS') - DS5('TSOPROD.LIB01.PANELS') - CL1('TECH.ISPPLIB') + CL2('SYS1.ISPFPDF.ISRPLIB') + CL3('SYS1.ISPF.ISPPLIB') + CL4('SYS6.IOF.ISPPLIB') + CL5('SYS1.DSNSPFP') + CL6('SYS1.VSF2PLIB') + CL7('SYS1.COB2PLIB') + CL8('CAI.CAIISPP') + CL9('TSOPROD.LIB01.PANELS') + CL10('SYS1.ICEISPP') + CL11('SYS1.ICEDGTP') + CL12('SYS1.ICQPLIB') - CL13('SYS1.HRFPANL') - CL14('SYS1.SBLSPNL0') - CL15('SYS1.DGTPLIB') /*********************************************************************/ /* *** the following are actually in IV2B69 .... *** */ /* TECHTSO.COMBINE.ISPPLIB as of 1993/10/01 contains... */ /* TECH.ISPPLIB -- SYSTECH common use addit. and overrides*/ /* SYS1.ISPFPDF.ISRPLIB -- IBM supplied ISPF panels (FLM..,ISR..) */ /* SYS1.ISPF.ISPPLIB -- IBM supplied mainly TUTORIAL (ISP..) */ /* SYS6.IOF.ISPPLIB -- single panel for IOF -- (VIOFSCRN) */ /* SYS1.DSNSPFP -- IBM DB2 panels (DSN..) */ /* SYS1.VSF2PLIB -- IBM FORTRAN panels (AFF..) */ /* SYS1.COB2PLIB -- IBM COBOL panels (IGZT..,ISRFPA) */ /* CAI.CAIISPP -- Computer Associates panels-- JCLCHECK */ /* TSOPROD.LIB01.PANELS -- Production panels by CIS programmers */ /* SYS1.ICEISPP -- IBM SORT panels (mainly ICE..) */ /* SYS1.ICEDGTP -- IBM SORT panels (ICE..) */ /*********************************************************************/ /* the following libraries exist though not in the TECH.COMBINE..*/ /* SYS1.ICQPLIB Information Center Facility (ICQ...) */ /* SYS1.HRFPANL RACF (RCH...) */ /* SYS1.SBLSPNL0 DUMP Analysis */ /* SYS1.DGTPLIB (DFQ,DGT.,ICEHRE50 dup)*/ /*********************************************************************/ /* PURPOSE: BROWSE A PANELS MEMBER /* ACCORDING TO EXPECTED ORDER /* SUPPLIED BY DAVID MCRITCHIE AHC 1985/07/10 /* TO CHECK THE LIBRARIES CHECKED IN THIS PANELS YOU MAY WISH /* TO COMPARE DSNAMES WITH DSNAME SHOWN USING " /* ===> TSO DDNAME SYSPROC". /* TEST WITH MEMBERNAME "ISRJC03" /* OPTIONS -- */ /* DEBUG -- TRACING FOR PROGRAMMER /* NB -- NO BROWSE DS LIBRARIES /* ALL -- WILL (ALSO) BROWSE THE COMBINED LIBRARIES /* SUMMARY -- WILL PRODUCE A SUMMARY LIST AT END /* CONTROL MAIN /* REFRESHED FROM IV2B69 ON 1992/11/13 -- D.MCR */ /* WITH SOME ASSISTANCE IS03.LIBR.CLIST(IV2B69R) */ /**************************************************************** */ /* ***** Example of Usage: ===> TSO PANELS membername /* ***** Also of Interest: ===> TSO PDSDD ISPPLIB membername /* ***** Also of Interest: ===> TSO PDSDD PANELS membername /* ***** Also of Interest: ===> TSO DDNAME ISPPLIB /* ***** Also of Interest: ===> TSO CLIST membername /* ***** Also of Interest: ===> TSO PROC membername /* * Also of Interest: ===> TSO LISTALC (STATUS) (HISTORY) (SYSNAMES) /**************************************************************** */ SET L = &LENGTH(&STR(&MEMBER.)) IF &L. > 8 THEN DO SET INVAL =INVALID MEMBERNAME LENGTH('&MEMBER.') EXCEEDS 8 WRITE &INVAL. SET &ZEDSMSG = &STR(MEMBERNAME) SET &ZEDLMSG = &STR(&INVAL.) ISPEXEC SETMSG MSG(ISRZ000) EXIT CODE(12) END SET MULTIMEM = &SYSINDEX(&STR(*),&STR(&MEMBER.)) IF &MULTIMEM = 0 THEN - SET MULTIMEM = &SYSINDEX(&STR(%),&STR(&MEMBER.)) ISPEXEC CONTROL DISPLAY LINE SET BLANKS = &STR( ) SET BLANKS = &STR(&BLANKS.&BLANKS.) SET DEBUG = &SYSCAPS(&DEBUG) SET NB = &SYSCAPS(&NB) IF &NB = NB THEN SET SUMMARY = SUMMARY SET ALL = &SYSCAPS(&ALL) SET SUMMARY = &SYSCAPS(&SUMMARY) SET XCNT = 0 SET RC = 0 SET N = 1 SET DS = &&DS&N.. SET BROWSE = BROWSE IF &STR(&EDIT) = EDIT THEN SET BROWSE = EDIT IF CHKCAT = &SYSCAPS(&STR(&CHKCAT.)) + | CHKCAT = &SYSCAPS(&STR(&MEMBER.)) + THEN DO SET CHKCAT = CHKCAT SET MEMBER = &STR(........) SET ALL = ALL /* MIGHT AS WELL CHECK EVERYTHING */ END DO WHILE &STR(&DS) ^= SET RC = &N IF CHKCAT = &SYSCAPS(&CHKCAT.) THEN DO /* CONTROL NOLIST NOCONLIST NOSYMLIST MSG /* SYSOUT TRAPS WILL NOT WORK IF YOU USE LIST SET SYSOUTTRAP = 100 SET SYSOUTLINE7 = &STR(.....................................) LISTCAT ENT('&DS.') VOL SET NS = &SYSOUTLINE SET I = 1 DO WHILE &I <= &NS SET X = &STR(&&SYSOUTLINE&I..) SET X = &STR(&X.) SET I = &I. + 1 END WRITE &SUBSTR(26:31,&SYSOUTLINE7.&BLANKS.) + &SUBSTR(16:60,&SYSOUTLINE1.&BLANKS.) GOTO AGAIN END /* SET MULTIMEM = &SYSINDEX(&STR(*),&STR(&MEMBER.))*/ IF &MULTIMEM NE 0 THEN DO SET XDSN&RC = &STR(&DS.) SET CHK&RC = &STR(NO ---MEMBERS FOUND) $&BROWSE. '&DS.(&STR(&MEMBER.))' IF &LASTCC. = 0 THEN DO SET XCNT = &XCNT. + 1 SET MULTI&N. = 1 /* WOULD BE NICE TO HAVE A COUNT*/ SET CHK&RC = &STR(MEMBER&LP.S&RP. FOUND) END GOTO AGAIN END SET CHKX = &STR(&SYSDSN('&DS.(&MEMBER.)')) SET XDSN&RC = &STR(&DS.) SET CHK&RC = &STR(&CHKX) IF &STR(&CHKX) = OK THEN DO SET DSNAME = '&DS.(&MEMBER.)' IF &NB ^= NB THEN DO ISPEXEC VPUT DSNAME SHARED ISPEXEC &BROWSE DATASET('&DS.(&MEMBER.)') SET DSNAME = ISPEXEC VPUT DSNAME SHARED END SET XCNT = &XCNT. + 1 END ELSE IF &DEBUG. = DEBUG THEN DO WRITE '&DS.(&MEMBER.)' -- &STR(&CHKX). END AGAIN: + SET N = &N. + 1 SET DS = &&DS&N.. END IF &XCNT. ^=0 THEN DO IF &XCNT ^= 1 THEN - WRITE MEMBER=&MEMBER. WAS FOUND IN &XCNT. PANEL LIBRARIES IF &ALL ^= ALL AND &SUMMARY ^= SUMMARY THEN EXIT CODE(0) END ELSE DO IF CHKCAT ^= &STR(&CHKCAT.) THEN WRITE MEMBER=&MEMBER. WAS NOT FOUND IN ANY OF + SELECTED REGULAR PANEL LIBRARIES END SET DRC = &RC. /************** REDO FOR COMBINED LIBRARIES ********/ SET CCNT = 0 SET N = 1 SET CL = &&CL&N.. DO WHILE &STR(&CL) ^= SET RC = &RC + 1 SET XDSN&RC = &STR(&CL.) IF CHKCAT = &SYSCAPS(&CHKCAT.) THEN DO /* CONTROL NOLIST NOCONLIST NOSYMLIST MSG /* SYSOUT TRAPS WILL NOT WORK IF YOU USE LIST SET SYSOUTTRAP = 100 SET SYSOUTLINE7 = &STR(.....................................) LISTCAT ENT('&CL.') VOL SET NS = &SYSOUTLINE SET I = 1 DO WHILE &I <= &NS SET X = &STR(&&SYSOUTLINE&I..) SET X = &STR(&X.) SET I = &I. + 1 END WRITE &SUBSTR(26:31,&SYSOUTLINE7.&BLANKS.) + &SUBSTR(16:60,&SYSOUTLINE1.&BLANKS.) GOTO AGAIN2 END IF &MULTIMEM NE 0 THEN DO SET XDSN&RC = &STR(&DS.) SET CHK&RC = &STR(NO ---MEMBERS FOUND) $&BROWSE. '&DS.(&STR(&MEMBER.))' IF &LASTCC. = 0 THEN DO SET CCNT = &CCNT. + 1 SET MULTI&N. = 1 /* WOULD BE NICE TO HAVE A COUNT*/ SET CHK&RC = &STR(MEMBER&LP.S&RP. FOUND) END GOTO AGAIN2 END SET CHKX = &STR(&SYSDSN('&CL.(&MEMBER.)')) SET CHK&RC = &STR(&CHKX) IF &STR(&CHKX) = OK THEN DO IF &ALL = ALL THEN DO SET DSNAME = '&CL.(&MEMBER.)' ISPEXEC VPUT DSNAME SHARED ISPEXEC &BROWSE DATASET('&CL.(&MEMBER.)') SET DSNAME = ISPEXEC VPUT DSNAME SHARED END SET CCNT = &CCNT. + 1 END ELSE IF &DEBUG. = DEBUG THEN DO WRITE '&CL.(&MEMBER.)' -- &STR(&CHKX). END AGAIN2: + SET N = &N. + 1 SET CL = &&CL&N.. END SET HRC = &RC. /* --------------------------------------------------------------- */ IF &SUMMARY ^= SUMMARY THEN DO SET DSN = SET XDSN = EXIT CODE(0) END WRITE As an alternative to SUMMARY verification you could enter ... WRITE &STR() ===> TSO PDSDD PANELS &MEMBER ALL WRITE /* --------------------------------------------------------------- */ SET I = 1 IF &STR(&DDNAME) ^= &STR(&DDNAMEX) THEN DO WRITE SUMMARY ----------------- PANELS &STR(&DDNAME) + &MEMBER &ALL &SUMMARY &NB &DEBUG DSN1() DSN2() END ELSE WRITE SUMMARY -------- + ===> TSO PANELS &DDNAME &MEMBER &ALL &SUMMARY &NB &DEBUG WRITE AS DETERMINED &SYSDATE. + &SYSTIME. FOR &SYSUID. USING PROC=&SYSPROC. SET STR44 = &STR(............................................) DO WHILE &I <= &RC IF &I = &EVAL(&HRC + 1) | &I = &EVAL(&DRC + 1) THEN DO IF &I = &EVAL(&DRC + 1) THEN - WRITE ------ &BROWSE OF COMBINED + LIBRARIES OCCURS ONLY WITH 'ALL' OPTION ELSE WRITE ------ &BROWSE OF ADDITIONAL + LIBRARIES OCCURS ONLY WITH 'ALL' OPTION END SET DSN = '&STR(&&XDSN&I.(&MEMBER.))' SET CHK = &STR(&&CHK&I) IF &I < 10 THEN WRITE &STR(0&I) + &SUBSTR(1:44,&STR(&STR(&DSN) &STR(&STR44))) &CHK. ELSE WRITE &STR(&I) + &SUBSTR(1:44,&STR(&STR(&DSN) &STR(&STR44))) &CHK. SET I = &I + 1 END IF &DEBUG = DEBUG THEN WRITE DRC=&DRC RC=&RC HRC=&HRC I=&I SET DSN = SET XDSN = /* ----+++ */