Return to Mainframe Utilities Page
Module
ISREDIT MACRO (OPT1,OPT2,OPT3,OPT4)
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
/******************************************************************/
/* 'SIGN' EDIT MACRO. CHANGE SIGNED DATA IN A FILE FROM POSITIVE */
/* OR NON-SIGNED TO NEGATIVE OR VICE VERSA. PACKED OR ZONED. */
/* AUTHOR : DAVID LEIGH DATE : 10-11-88 */
/******************************************************************/
IF &OPT1 = &STR(HELP) THEN GOTO HELPSEC
IF &DATATYPE(&STR(&OPT1)) = NUM THEN +
DO
SET COLUMN = &OPT1
SET SIGN = &STR(+)
SET CLUDED = NX
SET TYPE = ZONED
END
ELSE +
DO
SET ZEDLMSG = &STR(*** COLUMN : "&OPT1" IS INVALID *** +
MUST BE NUMERIC ***)
ISPEXEC SETMSG MSG(UTLZ001)
EXIT
END
IF &STR(&OPT2) = &STR(+) OR +
&STR(&OPT3) = &STR(+) OR +
&STR(&OPT4) = &STR(+) THEN SET SIGN = &STR(+)
IF &STR(&OPT2) = &STR(-) OR +
&STR(&OPT3) = &STR(-) OR +
&STR(&OPT4) = &STR(-) THEN SET SIGN = &STR(-)
IF &STR(&OPT2) = X OR +
&STR(&OPT3) = X OR +
&STR(&OPT4) = X THEN SET CLUDED = X
IF &STR(&OPT2) = NX OR +
&STR(&OPT3) = NX OR +
&STR(&OPT4) = NX THEN SET CLUDED = NX
IF &STR(&OPT2) = PACKED OR +
&STR(&OPT3) = PACKED OR +
&STR(&OPT4) = PACKED THEN SET TYPE = PACKED
IF &STR(&OPT2) = ZONED OR +
&STR(&OPT3) = ZONED OR +
&STR(&OPT4) = ZONED THEN SET TYPE = ZONED
IF &TYPE = ZONED THEN +
IF &STR(&SIGN) = &STR(+) THEN +
DO
ISREDIT CHANGE X'F0' X'C0' &COLUMN ALL &CLUDED
ISREDIT CHANGE X'F1' X'C1' &COLUMN ALL &CLUDED
ISREDIT CHANGE X'F2' X'C2' &COLUMN ALL &CLUDED
ISREDIT CHANGE X'F3' X'C3' &COLUMN ALL &CLUDED
ISREDIT CHANGE X'F4' X'C4' &COLUMN ALL &CLUDED
ISREDIT CHANGE X'F5' X'C5' &COLUMN ALL &CLUDED
ISREDIT CHANGE X'F6' X'C6' &COLUMN ALL &CLUDED
ISREDIT CHANGE X'F7' X'C7' &COLUMN ALL &CLUDED
ISREDIT CHANGE X'F8' X'C8' &COLUMN ALL &CLUDED
ISREDIT CHANGE X'F9' X'C9' &COLUMN ALL &CLUDED
ISREDIT CHANGE X'D0' X'C0' &COLUMN ALL &CLUDED
ISREDIT CHANGE X'D1' X'C1' &COLUMN ALL &CLUDED
ISREDIT CHANGE X'D2' X'C2' &COLUMN ALL &CLUDED
ISREDIT CHANGE X'D3' X'C3' &COLUMN ALL &CLUDED
ISREDIT CHANGE X'D4' X'C4' &COLUMN ALL &CLUDED
ISREDIT CHANGE X'D5' X'C5' &COLUMN ALL &CLUDED
ISREDIT CHANGE X'D6' X'C6' &COLUMN ALL &CLUDED
ISREDIT CHANGE X'D7' X'C7' &COLUMN ALL &CLUDED
ISREDIT CHANGE X'D8' X'C8' &COLUMN ALL &CLUDED
ISREDIT CHANGE X'D9' X'C9' &COLUMN ALL &CLUDED
END
ELSE +
DO
ISREDIT CHANGE X'F0' X'D0' &COLUMN ALL &CLUDED
ISREDIT CHANGE X'F1' X'D1' &COLUMN ALL &CLUDED
ISREDIT CHANGE X'F2' X'D2' &COLUMN ALL &CLUDED
ISREDIT CHANGE X'F3' X'D3' &COLUMN ALL &CLUDED
ISREDIT CHANGE X'F4' X'D4' &COLUMN ALL &CLUDED
ISREDIT CHANGE X'F5' X'D5' &COLUMN ALL &CLUDED
ISREDIT CHANGE X'F6' X'D6' &COLUMN ALL &CLUDED
ISREDIT CHANGE X'F7' X'D7' &COLUMN ALL &CLUDED
ISREDIT CHANGE X'F8' X'D8' &COLUMN ALL &CLUDED
ISREDIT CHANGE X'F9' X'D9' &COLUMN ALL &CLUDED
ISREDIT CHANGE X'C0' X'D0' &COLUMN ALL &CLUDED
ISREDIT CHANGE X'C1' X'D1' &COLUMN ALL &CLUDED
ISREDIT CHANGE X'C2' X'D2' &COLUMN ALL &CLUDED
ISREDIT CHANGE X'C3' X'D3' &COLUMN ALL &CLUDED
ISREDIT CHANGE X'C4' X'D4' &COLUMN ALL &CLUDED
ISREDIT CHANGE X'C5' X'D5' &COLUMN ALL &CLUDED
ISREDIT CHANGE X'C6' X'D6' &COLUMN ALL &CLUDED
ISREDIT CHANGE X'C7' X'D7' &COLUMN ALL &CLUDED
ISREDIT CHANGE X'C8' X'D8' &COLUMN ALL &CLUDED
ISREDIT CHANGE X'C9' X'D9' &COLUMN ALL &CLUDED
END
ELSE +
IF &STR(&SIGN) = &STR(+) THEN +
DO
ISREDIT CHANGE X'0F' X'0C' &COLUMN ALL &CLUDED
ISREDIT CHANGE X'1F' X'1C' &COLUMN ALL &CLUDED
ISREDIT CHANGE X'2F' X'2C' &COLUMN ALL &CLUDED
ISREDIT CHANGE X'3F' X'3C' &COLUMN ALL &CLUDED
ISREDIT CHANGE X'4F' X'4C' &COLUMN ALL &CLUDED
ISREDIT CHANGE X'5F' X'5C' &COLUMN ALL &CLUDED
ISREDIT CHANGE X'6F' X'6C' &COLUMN ALL &CLUDED
ISREDIT CHANGE X'7F' X'7C' &COLUMN ALL &CLUDED
ISREDIT CHANGE X'8F' X'8C' &COLUMN ALL &CLUDED
ISREDIT CHANGE X'9F' X'9C' &COLUMN ALL &CLUDED
ISREDIT CHANGE X'0F' X'0C' &COLUMN ALL &CLUDED
ISREDIT CHANGE X'1D' X'1C' &COLUMN ALL &CLUDED
ISREDIT CHANGE X'2D' X'2C' &COLUMN ALL &CLUDED
ISREDIT CHANGE X'3D' X'3C' &COLUMN ALL &CLUDED
ISREDIT CHANGE X'4D' X'4C' &COLUMN ALL &CLUDED
ISREDIT CHANGE X'5D' X'5C' &COLUMN ALL &CLUDED
ISREDIT CHANGE X'6D' X'6C' &COLUMN ALL &CLUDED
ISREDIT CHANGE X'7D' X'7C' &COLUMN ALL &CLUDED
ISREDIT CHANGE X'8D' X'8C' &COLUMN ALL &CLUDED
ISREDIT CHANGE X'9D' X'9C' &COLUMN ALL &CLUDED
END
ELSE +
DO
ISREDIT CHANGE X'0F' X'0D' &COLUMN ALL &CLUDED
ISREDIT CHANGE X'1F' X'1D' &COLUMN ALL &CLUDED
ISREDIT CHANGE X'2F' X'2D' &COLUMN ALL &CLUDED
ISREDIT CHANGE X'3F' X'3D' &COLUMN ALL &CLUDED
ISREDIT CHANGE X'4F' X'4D' &COLUMN ALL &CLUDED
ISREDIT CHANGE X'5F' X'5D' &COLUMN ALL &CLUDED
ISREDIT CHANGE X'6F' X'6D' &COLUMN ALL &CLUDED
ISREDIT CHANGE X'7F' X'7D' &COLUMN ALL &CLUDED
ISREDIT CHANGE X'8F' X'8D' &COLUMN ALL &CLUDED
ISREDIT CHANGE X'9F' X'9D' &COLUMN ALL &CLUDED
ISREDIT CHANGE X'0F' X'0D' &COLUMN ALL &CLUDED
ISREDIT CHANGE X'1C' X'1D' &COLUMN ALL &CLUDED
ISREDIT CHANGE X'2C' X'2D' &COLUMN ALL &CLUDED
ISREDIT CHANGE X'3C' X'3D' &COLUMN ALL &CLUDED
ISREDIT CHANGE X'4C' X'4D' &COLUMN ALL &CLUDED
ISREDIT CHANGE X'5C' X'5D' &COLUMN ALL &CLUDED
ISREDIT CHANGE X'6C' X'6D' &COLUMN ALL &CLUDED
ISREDIT CHANGE X'7C' X'7D' &COLUMN ALL &CLUDED
ISREDIT CHANGE X'8C' X'8D' &COLUMN ALL &CLUDED
ISREDIT CHANGE X'9C' X'9D' &COLUMN ALL &CLUDED
END
ISREDIT CURSOR = 1 &COLUMN
EXIT
HELPSEC: + 02480000
ISPEXEC SELECT PGM(ISPTUTOR) PARM(HELPSHEL) 02490000
SET ZEDLMSG = &STR(*** HELP DISPLAYED FOR SIGN UTILITY + 02490000
*** NO PROCESSING PERFORMED ***) 02490000
ISPEXEC SETMSG MSG(UTLZ000) 02490000
EXIT
Documentation
This utility allows you to change un-signed or signed data to positive or
negative signed numbers. It can handle packed or zoned decimal numbers. To
invoke it, type SIGN 999 -/+ packed/zoned on the command line of a file that
you are editing and press ENTER. The '999' is the column number that is to be
changed and must be specified. "-" or "+" can be specified to denote the sign
that you want to change to ("+" is the default). "Packed" or "zoned" can be
specified to indicate the type of data being changed ("zoned" is the default.)

0 Comments