home about us   contact us
 
   







 


Chicago-Soft
ATTN: TSO Times
One Maple Street
Hanover, NH 03755
(603) 643-4002
information
@tsotimes.com

 

SHOWLOAD REXX Edit Macro

by Marilyn Miller

In development, it often happens that various versions of a program may be found in a number of load libraries. When coding JCL for testing, a developer must be concerned as to which version his job will use when it executes. The SHOWLOAD edit macro searches all libraries listed in the JOBLIB DD statement and displays which ones contain the program in question.

To use the edit macro, the user should type SHOWLOAD and the program name on the command line and press enter. The edit macro will search through the JOBLIBs for the program and then display which libraries contain the program.

Download this macro in text format (SHOWLOAD.TXT)

/* REXX EDIT MACRO TO DISPLAY JOBLIBS WHICH CONTAIN LOAD MODULE*/
/* FOR PROGRAM */
"ISREDIT MACRO (MBR)"
CALL INIT
CALL FINDLIBS
DO COUNT = 1 BY 1 UNTIL COUNT = CTR
    CALL FINDLOAD
END
IF FOUND = "N" THEN
   CALL NOTFOUND
EXIT

INIT:
/*********************************************************************/
/* SET SWITCHES, TURN MESSAGES OFF, CHECK FOR VALUE IN MSG           */
/*********************************************************************/
Z=MSG(OFF)
IF MBR = "" THEN
    DO
    SAY "ENTER YOUR PROGRAM NAME AND PRESS ENTER"
    PULL MBR
    END
MBR = TRANSLATE(MBR)
FOUND = "N"
FIRST = "Y"
RETURN

FINDLIBS:
/*********************************************************************/
/* FIND ALL JOBLIBS LISTED IN JCL                                    */
/*********************************************************************/
CTR = 0
"ISREDIT FIND '//JOBLIB  ' FIRST"
IF RC ^= 0 THEN
    DO
    SAY ""
    SAY "NO JOBLIBS WERE FOUND IN YOUR JCL"
    EXIT
    END
ELSE
    DO
    CTR = CTR + 1
    "ISREDIT (LIB) = LINE .ZCSR"
    STARTPOS = POS("//JOBLIB",LIB)
    LIB = SUBSTR(LIB,STARTPOS)
    LIB = TRANSLATE(LIB,"  ",",=")
    JOBLIB.CTR = WORD(LIB,4)
    MORE = "Y"
    DO UNTIL MORE = "N"
        CALL USERLIBS
    END
RETURN

USERLIBS:
/*********************************************************************/
/* EXTRACT REMAINING JOBLIBS                                         */
/*********************************************************************/
"ISREDIT (LNBR,CNBR) = CURSOR"
"ISREDIT CURSOR = "LNBR + 1" "CNBR"
"ISREDIT (LIB) = LINE .ZCSR"
LIB = SUBSTR(LIB,STARTPOS)
IF SUBSTR(LIB,1,3) = "//*" THEN
    NOP
ELSE
    IF SUBSTR(LIB,1,3) = "// " THEN
        CALL GETLIB
    ELSE
        MORE = "N"
RETURN

GETLIB:
/*********************************************************************/
/* EXTRACT JOBLIB NAME                                               */
/*********************************************************************/
LIB = TRANSLATE(LIB,"  ",",=")
CTR = CTR + 1
JOBLIB.CTR = WORD(LIB,4)
RETURN

FINDLOAD:
/*********************************************************************/
/* LOOP TO FIND LOAD IN JOBLIBS                                      */
/*********************************************************************/
X = SYSDSN("'"JOBLIB.COUNT"("MBR")'")
IF X = "MEMBER NOT FOUND" THEN
    NOP
ELSE
    IF X = "OK" THEN
        DO
        IF FIRST = "Y" THEN
          SAY "LOAD MODULES FOR" MBR "FOUND IN THE FOLLOWING LIBRARIES:"
        FIRST = "N"
        SAY ""
        SAY JOBLIB.COUNT
        FOUND = "Y"
        END
    ELSE
        CALL LIBERROR
RETURN

LIBERROR:
/*********************************************************************/
/* ISSUE WARNING IF JOBLIB NOT FOUND, EXIT ON OTHER JOBLIB ERRORS    */
/*********************************************************************/
IF X = "DATASET NOT FOUND" THEN
    DO
    SAY ""
    SAY "******* WARNING!" JOBLIB.COUNT "NOT FOUND ********"
    END
ELSE
    DO
    ZEDSMSG = "JOBLIB ERROR"
    ZEDLMSG = JOBLIB.COUNT "ERROR"
    "ISPEXEC SETMSG MSG(ISRZ001)"
    EXIT
    END
RETURN

NOTFOUND:
/*********************************************************************/
/* ISSUE WARNING IF LOAD MODULE NOT FOUND IN ANY JOBLIB              */
/*********************************************************************/
SAY "LOAD MODULE FOR" MBR "NOT FOUND IN ANY OF LISTED JOBLIBS"
RETURN

Marilyn Miller is a Computer Specialist in Technical Support for Rural Economic and Community Development Service in St. Louis, Missouri.

 



The TSO Times is back by popular demand!
Register now for your FREE subscription









 

Chicago-Soft, LTD
ISPF Tools & Toys
MVS Help Board
Lionel Dyck's Tools
IBM ISPF Page
Tom Brennan's Vista tn3270 Page
Mark Zelden's MVS Utilities


 


 

home · current articles · archives · forums ·
· subscribe · about us · contact us · links