Go to LeighWeb Home Page            

Back To LeighWeb Mainframe Utilities Page

View the documentation associated with this module

ISREDIT MACRO (OPT1 OPT2 OPT3 OPT4 OPT5 OPT6 OPT7 OPT8 OPT9 OPT10)
ISPEXEC CONTROL ERRORS RETURN
/**** SET MESSAGE DISPLAY ON/OFF BASED ON THE DEBUG SWITCH ***/
ISPEXEC VGET (DBGSWTCH) PROFILE
IF &DBGSWTCH = &STR(ON) THEN CONTROL MSG LIST CONLIST SYMLIST NOFLUSH
ELSE  CONTROL NOMSG NOLIST NOFLUSH NOPROMPT
IF &OPT1 = HELP THEN GOTO HELPSEC
/**********************************************************************
/* EDIT MACRO : STAMP                                                 *
/* AUTHOR : DAVE LEIGH                                                *
/* FUNCTION : MARK LINES WITH A "DATE", "TIME" OR "DATE/TIME" STAMP   *
/**********************************************************************

/**********************************************************************
/* PARSE THE INPUT OF THE USER AND SET THE "STAMP TYPE"               *
/**********************************************************************
ISREDIT (LN,CL) = CURSOR
IF &STR(&OPT1) = DATE OR +
   &STR(&OPT1) = TIME OR +
   &STR(&OPT1) = DATETIME OR +
   &STR(&OPT1) = TIMEDATE THEN +
    DO
        SET STAMPTYPE = &STR(&OPT1)
        SET OPTIONS = &STR(&OPT2 &OPT3 &OPT4 &OPT5 &OPT6 +
                           &OPT7 &OPT8 &OPT9 &OPT10)
    END
ELSE  +
    DO
        SET STAMPTYPE = DATETIME                /* DEFAULT STAMP TYPE */
        SET OPTIONS = &STR(&OPT1 &OPT2 &OPT3 &OPT4 &OPT5 &OPT6 +
                           &OPT7 &OPT8 &OPT9 &OPT10)
    END

/**********************************************************************
/* MAKE THE USER PLACE THE CURSOR, OR SPECIFY THE CRITERIA.           *
/**********************************************************************
IF &CL = 0 AND &STR(&OPTIONS) =      THEN +
    DO
        SET ZEDLMSG = &STR(CURSOR MUST BE ON A DATA LINE OR +
                           "LINE QUALIFICATION CRITERIA" MUST +
                           BE SPECIFIED)
        ISPEXEC SETMSG MSG(UTLZ001W)
        EXIT CODE(8)
    END

/**********************************************************************
/* SET UP THE EDIT PICTURE STRING.                                    *
/**********************************************************************
SELECT(&STAMPTYPE)
    WHEN (DATE) DO
        SET EQUALS = &STR(========)
        SET STAMP = &STR(&SYSSDATE)
    END
    WHEN (TIME) DO
        SET EQUALS = &STR(========)
        SET STAMP = &STR(&SYSTIME)
    END
    WHEN (DATETIME) DO
        SET EQUALS = &STR(================)
        SET STAMP = &STR(&SYSSDATE&SYSTIME)
    END
    WHEN (TIMEDATE) DO
        SET EQUALS = &STR(================)
        SET STAMP = &STR(&SYSTIME&SYSSDATE)
    END
END

IF &STR(&OPTIONS) =     THEN SET OPTIONS = &STR(&CL .ZCSR .ZCSR)

/**********************************************************************
/* ACTUALLY MAKE THE CHANGE                                           *
/**********************************************************************
SET CHANGECC = 0
ISREDIT CHANGE P'&STR(&EQUALS)' '&STR(&STAMP)' &STR(&OPTIONS)
SET CHANGECC = &LASTCC
IF &CHANGECC > 0 THEN +
    DO
        SET ZEDLMSG = &STR(THE "STAMPING" PROCESS ENDED IN ERROR WITH +
                           A RETURN CODE OF "&CHANGECC".  CHECK FOR +
                           BAD LINE QUALIFICATION CRITERIA.)
        ISPEXEC SETMSG MSG(UTLZ001W)
    END

/**********************************************************************
/* RETURN THE USER TO WHERE THEY WERE                                 *
/**********************************************************************
ISREDIT CURSOR = &LN &CL
EXIT CODE(&CHANGECC)

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