|
|||||||||||
|
Chicago-Soft
|
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.
|
|
||||||||
home · current
articles
· archives · forums · |