ISREDIT MACRO (MOD TEST) NOPROCESS 00000100
SET &TEST = &SYSCAPS(&TEST) 00000200
CONTROL ASIS NOMSG NOFLUSH 00000300
IF &TEST = ON THEN CONTROL MSG LIST SYMLIST CONLIST 00000400
ISPEXEC CONTROL ERRORS RETURN 00000500
ISREDIT (DSN) = DATASET 00000600
ISREDIT (MBR) = MEMBER 00000700
ISREDIT (CAPS) = CAPS 00000800
ISREDIT (LRECL) = LRECL 00000900
ISREDIT (TOP,BOT) = DISPLAY_LINES 00001000
ISREDIT (CHANGE) = DATA_CHANGED 00001100
SET &TABLE = T1234567 00001200
ISREDIT PROCESS DEST RANGE C M 00001300
SET &RC01 = &LASTCC 00001400
ISREDIT (SIGN) = RANGE_CMD 00001500
ISREDIT (FIRST) = LINENUM .ZFRANGE 00001600
ISREDIT (LAST) = LINENUM .ZLRANGE 00001700
ISREDIT (DEST) = LINENUM .ZDEST 00001800
SET &RC02 = &LASTCC 00001900
00002000
IF &RC01 = 0 OR &RC01 = 8 OR &RC01 = 12 THEN DO 00002100
ISPEXEC TBCREATE &TABLE NAMES(COPYLINE) NOWRITE SHARE 00002200
IF &LASTCC GT 0 THEN ISPEXEC TBOPEN &TABLE NOWRITE SHARE 00002300
ISPEXEC TBBOTTOM &TABLE 00002400
00002500
IF &SYSCAPS(&MOD) NE MOD THEN DO 00002600
ISPEXEC TBTOP &TABLE 00002700
DO WHILE &LASTCC EQ 0 00002800
ISPEXEC TBDELETE &TABLE 00002900
ISPEXEC TBSKIP &TABLE 00003000
END 00003100
END 00003200
IF &RC01 = 12 THEN DO 00003300
ISPEXEC TBEND &TABLE 00003400
EXIT 00003500
END 00003600
SET &COUNTER = &FIRST 00003700
DO WHILE &COUNTER LE &LAST 00003800
ISREDIT (COPYLINE) = LINE &COUNTER 00003900
ISPEXEC TBADD &TABLE 00004000
SET &COUNTER = &COUNTER + 1 00004100
END 00004200
IF &SIGN = M THEN DO 00004300
IF &RC01 = 0 THEN DO 00004400
IF &DEST LT &LAST THEN DO 00004500
ISREDIT DELETE ALL &FIRST &LAST 00004600
END 00004700
END 00004800
ELSE DO 00004900
ISREDIT DELETE ALL &FIRST &LAST 00005000
END 00005100
END 00005200
END 00005300
00005400
IF &RC01 = 0 OR &RC01 = 4 OR + 00005500
(&RC01 = 20 AND &RC02 = 4 ) THEN DO 00005600
ISREDIT (LAB,LEV) = LABEL .ZDEST 00005700
ISREDIT (LASTL) = LINENUM .ZLAST 00005800
IF &LAB = &STR(.B) THEN SET &DEST = &DEST - 1 00005900
IF &DEST LT 0 THEN SET &DEST = 0 00006000
ISPEXEC TBOPEN &TABLE NOWRITE SHARE 00006100
ISPEXEC TBBOTTOM &TABLE 00006200
DO WHILE &LASTCC EQ 0 00006300
ISREDIT LINE_AFTER &DEST = (COPYLINE) 00006400
SET &RC = &LASTCC 00006500
ISPEXEC TBSKIP &TABLE NUMBER(-1) 00006600
END 00006700
ISPEXEC TBEND &TABLE 00006800
IF &RC = 4 THEN ISPEXEC SETMSG MSG(MSEE059G) 00006900
END 00007000
IF &RC01 = 0 AND &DEST GT &LAST AND &SIGN EQ M THEN DO 00007100
ISREDIT DELETE ALL &FIRST &LAST 00007200
END 00007300
EXIT 00008000
00010000
¤ Dauer der Verarbeitung: 0.1 Sekunden
(vorverarbeitet)
¤
|
Haftungshinweis
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung ist noch experimentell.
|