Seymour, >"Not that I recall; I criticized doing *both* and address env *and* doing address env buffer as inefficient".
Then you have misunderstood the point that I was making. There seems to be two schools of thought on using REXX address - the first one uses ONE "ADDRESS ENV" statement followed by a number of quoted buffers that are directed by REXX to that environment : /* REXX */ Address ISPEXEC "VGET (MYVAR) PROFILE" Address TSO "ALLOC F(INPUT) DA(MY.INPUT) SHR" ..more code Address ISPEXEC "CONTROL ERRORS RETURN" "DISPLAY PANEL(MYPAN00)" ..more code Address TSO ""LU "userid ..more code Address ISPEXEC "SETMSG MSG(ISRZ0001)" The other school of thought puts an "ADDRESS ENV" on each statement /* REXX */ Address ISPEXEC "VGET (MYVAR) PROFILE" Address TSO "ALLOC F(INPUT) DA(MY.INPUT) SHR" ..more code Address ISPEXEC "CONTROL ERRORS RETURN" Address ISPEXEC "DISPLAY PANEL(MYPAN00)" Address TSO "LU "userid ..more code Address ISPEXEC "SETMSG MSG(ISRZ0001)" Note that there is no initial "Address ISPEXEC" statement in the second example - maybe you thought I was advocating it? You prefer school (1) - I prefer school (2). > "But the reference to PUSH/POP would still have been incorrect." Using "address env buffer" on each statement restores the environment after execution to the original setting - as far as I am concerned, this means that the current environment is PUSHed (or saved or whatever REXX does internally) before the buffer is passed to the directed environment and then POPed back to the original setting before returning to the REXX exec - the fact that it might not change does not negate the methodology used by the REXX address statement. Rob Scott Rocket Software http://www.rs.com/portfolio/mxi/ ---------------------------------------------------------------------- For IBM-MAIN subscribe / signoff / archive access instructions, send email to [EMAIL PROTECTED] with the message: GET IBM-MAIN INFO Search the archives at http://bama.ua.edu/archives/ibm-main.html

