/*REXX -- Invoke EDIT with preset ISREDIT commands */ /* MACMAC and MACMACS same except for delimiter */ /* -------------------------------------------------- */ /* usage of MACMAC macro clist from a TSO clist */ /* SET MACPARM = COPY MESSAGE AFTER 0;SAVE;END */ /* ISPEXEC VPUT (MACPARM) SHARED */ /* ISPEXEC EDIT DATASET('&CNTL.(&D.)') MACRO(MACMAC) */ /* +--------------------------------------------------- */ /* | David McRitchie, "The REXX Macros Toolbox", 1991/02/14 */ /* +--------------------------------------------------- */ ADDRESS "ISREDIT";"MACRO (TOKENS)" "IMACRO NONE" " ISREDIT (MEMBERX) = MEMBER " " ISREDIT (DSNX) = DATASET" ZEDSMSG = "Member="||MEMBERX ZEDLMSG = "MACMAC processed "DSNX||"("||memberx||")" Address "ISPEXEC" "SETMSG MSG(ISRZ000)" if TOKENS = "" then do Address ISPEXEC VGET (MACPARM) tokens = macparm end "(CAPS)=CAPS" /*will restore at exit*/ "caps off" /*for msglines*/ ORIGINAL = TOKENS Do forever; /*remove commas*/ if tokens = "" then leave /* MACMAC and MACMACS same except next line*/ Parse var TOKENS Left";"Right; Check = translate(left) if "END" = check then do "CAPS" caps "END" return end Address ISREDIT Left TOKENS = Right; End; "LINE_BEFORE 1 = noteline """TIME('N'), "MACMAC processed "DSNX||"("memberx||")""" "LINE_BEFORE 1 = noteline "" with ... "ORIGINAL """" "caps" caps return