/* REXX -- converted to REXX on 1994/06/03 */ ADDRESS "ISREDIT" /* THIS Macro WILL INVERT LINES BETWEEN TWO LABELS (.A) (.B) */ /* DAVID MCRITCHIE, "The REXX Macros Toolbox" 1990/04/19 */ "MACRO (LABA LABB)" IF laba = "" THEN LABA = ".A" IF labb = "" THEN LABB = ".B" "(FIRST) = LINENUM" LABA x = rc "(LAST) = LINENUM" LABB x = x + rc if rc \= 0 then do ZEDSMSG = ".A / .B labels" ZEDLMSG = "Two labels are required, default is .A .B" ADDRESS "ISPEXEC" "SETMSG MSG(ISRZ000)" exit 4 end ccc = "= noteline """time('n') "INVERT," "line_before" first ccc "--------------------------------------""" "line_before" first ccc "beginning of lines vertically inverted""" do LineNO = first to last "LINE_BEFORE" lineNO "= DATALINE LINE" last lastp1 = last + 1 "DELETE" lastp1 end ccc = "= noteline """time('n') "INVERT," "line_after " last ccc "-------------------------------------""" "line_after " last ccc "end of lines vertically inverted""" IF LABA \= ".ZF" & LABA ^= ".ZFIRST" THEN "LABEL &FIRST = &LABA. 0" IF LABB \= ".ZL" & LABB ^= ".ZLAST" THEN "LABEL &LAST = &LABB. 0"