Go to LeighWeb Home Page            

Back To LeighWeb Mainframe Utilities Page

View the documentation associated with this module

PROC 0 HELP REPEAT
CONTROL NOMSG NOLIST NOCONLIST NOSYMLIST NOFLUSH NOPROMPT
ERROR DO
          SET MODE = CLIST
          RETURN
      END
ISREDIT MACRO (HELP)
ERROR OFF
ISPEXEC CONTROL ERRORS RETURN
IF &HELP = HELP THEN GOTO HELPSEC
/**********************************************************************
/* CLIST/MACRO : TRAPDBUG                                             *
/*      AUTHOR : DAVE LEIGH                                           *
/*    FUNCTION : THIS UTILITY ALLOWS YOU TO TRAP THE MESSAGES SENT BY *
/*               BY A CLIST/EDIT MACRO WHEN IT'S IN "DEBUG" MODE.  THE*
/*               TRAPPED MESSAGES ARE THEN STORED IN A DATASET WHICH  *
/*               IS EDITED UPON COMPLETION OF THE UTILITY.            *
/**********************************************************************

SET MAXTRAP = 10000
SET CYLINDER = 1
SET UTILNAME =
SET PARMDATA =
IF &MODE = CLIST THEN SET TYPE = CLIST
ELSE SET TYPE = MACRO

ISPEXEC VPUT (TYPE UTILNAME PARMDATA MAXTRAP CYLINDER) SHARED

REDISPLAY: ISPEXEC DISPLAY PANEL(TRAPDBUG)

IF &LASTCC > 7 THEN +
    DO
        IF &REPEAT ¬= REPEAT THEN +
            DO
                SET ZEDLMSG = &STR(*** EXITED "TRAPDBUG" WITHOUT +

                                   PROCESSING ***)
                ISPEXEC SETMSG MSG(UTLZ001)
            END
        EXIT
    END

ISPEXEC VGET (UTILNAME PARMDATA MAXTRAP CYLINDER) SHARED

ISPEXEC VGET DBGSWTCH
IF &DBGSWTCH = ON THEN
ELSE %SETDEBUG

SET TRAPDSN = &STR(&SYSUID..TEMP.TRAP.DEBUG)
DELETE '&TRAPDSN'
FREE DDNAME(TRAP)
ALLOC DDNAME(TRAP) DSN('&TRAPDSN') +
      NEW CATALOG +
      UNIT(SYSDA) VOLUME(WRK$$$) +
      SPACE(&CYLINDER,2) CYLINDERS RELEASE +
      RECFM(F B) LRECL(255) BLKSIZE(23460) DSORG(PS)

OPENFILE TRAP OUTPUT

SET SYSOUTTRAP = &MAXTRAP
IF &MODE = CLIST THEN &UTILNAME &STR(&SYSNSUB(1,&PARMDATA))
ELSE ISREDIT &UTILNAME &STR(&SYSNSUB(1,&PARMDATA))
SET TRAPPED = &SYSOUTLINE
SET SYSOUTTRAP = 0
%SETDEBUG

WRITE *** LOADING THE TRAPPED DEBUGGING MESSAGES NOW ***

CONTROL NOMSG NOLIST NOCONLIST NOSYMLIST NOFLUSH NOPROMPT

DO &A = 1 TO &TRAPPED
    SET TRAP = &STR(&SYSNSUB(2,&&SYSOUTLINE&A))
    PUTFILE TRAP
END

CLOSFILE TRAP

FREE DDNAME(TRAP)

ISPEXEC EDIT DATASET('&TRAPDSN')

IF &REPEAT = REPEAT THEN GOTO REDISPLAY

EXIT

HELPSEC: +
ISPEXEC SELECT PGM(ISPTUTOR) PARM(HELPSHEL)
SET ZEDLMSG = &STR(*** HELP DISPLAYED FOR TRAPDBUG UTILITY +
                   *** NO PROCESSING PERFORMED ***)
ISPEXEC SETMSG MSG(UTLZ000)
EXIT