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)
ISPEXEC CONTROL ERRORS RETURN
ISPEXEC VGET (DBGSWTCH) PROFILE
IF &DBGSWTCH = &STR(ON) THEN +
     CONTROL MSG LIST CONLIST SYMLIST NOFLUSH
ELSE CONTROL NOMSG NOLIST NOFLUSH NOPROMPT
IF &STR(&OPT1) = HELP THEN GOTO HELPSEC
/**********************************************************************
/* EDIT MACRO : LONGEST                                               *
/* AUTHOR     : DAVID LEIGH                                           *
/* FUNCTION   : DETERMINE THE LONGEST LINE IN THE FILE.               *
/**********************************************************************

SET OPTIONS = &STR(&OPT1 &OPT2 &OPT3 &OPT4 &OPT5)
SET X = 0
ISREDIT FIND FIRST P'=' 1 &STR(&OPTIONS)
DO WHILE &LASTCC = 0
    ISREDIT FIND LAST P'¬' .ZCSR .ZCSR
    ISREDIT (LN,CL) = CURSOR
    IF &CL > &X THEN +
        DO
            SET X = &CL
            SET LINE = &LN
        END
    ISREDIT FIND NEXT P'=' 1 &STR(&OPTIONS)
END

ISREDIT CURSOR = &LINE 1
SET MSG1 = &STR(THE NEXT LINE IS THE LONGEST IN THIS FILE.)
SET MSG2 = &STR(THE LAST NON-BLANK BYTE IS IN COLUMN: &X)
SET MSG3 = &STR(/\ /\ /\ /\ /\ /\ /\ /\ /\ /\ /\ /\ /\ /\)
ISREDIT LINE_BEFORE .ZCSR = MSGLINE (MSG1)
ISREDIT LINE_BEFORE .ZCSR = MSGLINE (MSG2)
ISREDIT UP 2
ISREDIT LINE_AFTER .ZCSR = MSGLINE (MSG3)

EXIT

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