Back To LeighWeb Mainframe Utilities Page
View the documentation associated with this module
ISREDIT MACRO (PARM)
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 &STR(&PARM) = HELP THEN GOTO HELPSEC
/**********************************************************************
/* UTILITY : PAGECONT *
/* AUTHOR : DAVID LEIGH *
/* DATE : 10-22-90 *
/* FUNCTION : COUNT THE NUMBER OF LINES AND PAGES IN A FILE BEING *
/* EDITED WHICH HAS ANSI CONTROL CHARACTERS IN COLUMN 1. *
/**********************************************************************
SET ZEDLMSG = &STR(*** COUNTING PAGES AND LINES ***)
ISPEXEC CONTROL DISPLAY LOCK
ISPEXEC DISPLAY MSG(UTLZ000W)
ISREDIT (LN,CL) = CURSOR
FREE DDNAME(TEMPDD)
DELETE TEMP.PAGECONT
ALLOC DD(TEMPDD) DSN(TEMP.PAGECONT) +
NEW CATALOG +
UNIT(SYSDA) VOLUME(WRK$$$) +
SPACE(2,2) TRACKS RELEASE +
RECFM(F B) LRECL(80) BLKSIZE(23440) DSORG(PS)
OPENFILE TEMPDD OUTPUT
SET PAGE = 0
SET LINE = 0
SET BAD = 0
ISREDIT FIND FIRST P'=' 1
DO WHILE &LASTCC = 0
ISREDIT (COL) = LINE .ZCSR
SET COL = &SUBSTR(1:1,&NRSTR(&COL))
SELECT (&STR(&COL))
WHEN (&STR( )) SET LINE = &LINE + 1
WHEN (&STR(0)) SET LINE = &LINE + 2
WHEN (&STR(-)) SET LINE = &LINE + 3
WHEN (&STR(+)) SET LINE = &LINE
WHEN (&STR(1)) +
DO
SET PAGE = &PAGE + 1
SET TEMPDD = &STR(PAGE &PAGE CONTAINS &LINE LINES)
PUTFILE TEMPDD
SET LINE = 1
SET ZEDLMSG = &STR(*** &PAGE PAGES COUNTED SO FAR ***)
ISPEXEC CONTROL DISPLAY LOCK
ISPEXEC DISPLAY MSG(UTLZ000W)
END
OTHERWISE +
DO
SET BAD = &BAD + 1
SET LINE = &LINE + 1
END
END
ISREDIT FIND NEXT P'=' 1
END
IF &LINE > 0 THEN +
DO
SET PAGE = &PAGE + 1
SET TEMPDD = &STR(PAGE &PAGE CONTAINS &LINE LINES)
PUTFILE TEMPDD
SET ZEDLMSG = &STR(*** &PAGE PAGES COUNTED SO FAR ***)
ISPEXEC CONTROL DISPLAY LOCK
ISPEXEC DISPLAY MSG(UTLZ000W)
END
IF &BAD > 0 THEN +
DO
SET TEMPDD = &STR(&BAD LINES DID NOT CONTAIN VALID ANSI +
CONTROL CHARACTERS)
PUTFILE TEMPDD
SET TEMPDD = &STR(THEY WERE COUNTED AS " " CONTROL CHARACTERS)
PUTFILE TEMPDD
END
CLOSFILE TEMPDD
FREE DDNAME(TEMPDD)
ISPEXEC EDIT DATASET(TEMP.PAGECONT)
ISREDIT CURSOR = &LN &CL
EXIT
HELPSEC: + 02480000
ISPEXEC SELECT PGM(ISPTUTOR) PARM(HELPSHEL) 02490000
SET ZEDLMSG = &STR(*** HELP DISPLAYED FOR PAGECONT UTILITY + 02490000
*** NO PROCESSING PERFORMED ***) 02490000
ISPEXEC SETMSG MSG(UTLZ000) 02490000
EXIT
|