Re: rexx stem
Simplify it, Mike. PIPE stem abc. 1 | stem abc. if you need to manipulate it outside of Pipes or PIPE stem abc. 1 | manipulate it | xedit if you don't. Or, if you want all variables from the underlying variable space, PIPE rexxvars 1 toload | varload. If desired, you can do manipulation between the rexxvars and the vasrload stages. Let Pipes do all of the heavy lifting. Regards, Richard Schuh From: The IBM z/VM Operating System [mailto:ib...@listserv.uark.edu] On Behalf Of Mike Walter Sent: Thursday, July 29, 2010 7:42 AM To: IBMVM@LISTSERV.UARK.EDU Subject: Re: rexx stem XEDIT macros can be, and usually are nowadays, written in REXX. You might want to think a bit more about the flow of what's happening. But to answer your question more directly, inside the XEDIT macro you are calling from the EXEC you can execute a pipe to get the variables of the calling exec. For example... /* your called XEDIT macro might contain... */ address COMMAND , 'PIPE (NAME GetCallerVars)' , '| REXXVARS 1' , /* Access caller's vars */ '| STRNFIND /s/' ,/* Skip source name */ '| SPECS W2-* 1' ,/* Drop 'n' and 'v' prefix */ '| JOIN 1 / /' , /* Var Name and Value into 1 */ '| STRFIND /'xfn'./' , /* Just our xfn. vars*/ '| NOT CHOP BEFORE STRING /./' , /* Lop our xfn, keep .xxx */ , /* Load them as 'c.' so we can easily tell from our vars*/ '| SPECS +~C+ 1' ,/* Bld: /C */ 'WORD 1 NEXT' , /* /C.name */ '+~+ NEXT' , /* /C.name/ */ 'WORD 2-* NEXT' , /* /C.name/value*/ '| STRIP TRAILING' , '| VARLOAD DIRECT' /* Restore caller's vars in here */ Now all the calling exec's variables are available in the XEDIT macro, prefixed by c. For example, if the calling exec was named FORMARK EXEC, and began with: address 'COMMAND' parse source xos xct xfn xft xfm xcmd xenvir . ... and the called XEDIT macro was named $FORMARK, and began with that, too... In the called XEDIT macro, xfn xft xfm would be $FORMARK XEDIT fm, while c.xfn c.xft and c.xfm would be FORMARK EXEC fm. If the calling exec has lots of variables you may want to trim down the number that you feed into the VARLOAD stage. Mike Walter Hewitt Associates The opinions expressed herein are mine alone, not my employer's. Mark Pace pacemainl...@gmail.com Sent by: The IBM z/VM Operating System IBMVM@LISTSERV.UARK.EDU 07/29/2010 09:28 AM Please respond to The IBM z/VM Operating System IBMVM@LISTSERV.UARK.EDU To IBMVM@LISTSERV.UARK.EDU cc Subject Re: rexx stem well I've created a stem in REXX. I want to call XEDIT to present a menu using the data from that stem. On Thu, Jul 29, 2010 at 10:26 AM, zMan zedgarhoo...@gmail.commailto:zedgarhoo...@gmail.com wrote: pass meaning what? Insert it into the file? On Thu, Jul 29, 2010 at 10:25 AM, Mark Pace pacemainl...@gmail.commailto:pacemainl...@gmail.com wrote: I'm having writers (programmers) block today. Is there a way to pass a REXX stem to XEDIT? -- zMan -- I've got a mainframe and I'm not afraid to use it -- Mark D Pace Senior Systems Engineer Mainline Information Systems The information contained in this e-mail and any accompanying documents may contain information that is confidential or otherwise protected from disclosure. If you are not the intended recipient of this message, or if this message has been addressed to you in error, please immediately alert the sender by reply e-mail and then delete this message, including any attachments. Any dissemination, distribution or other use of the contents of this message by anyone other than the intended recipient is strictly prohibited. All messages sent to and from this e-mail address may be monitored as permitted by applicable law and regulations to ensure compliance with our internal policies and to protect our business. E-mails are not secure and cannot be guaranteed to be error free as they can be intercepted, amended, lost or destroyed, or contain viruses. You are deemed to have accepted these risks if you communicate with us by e-mail.
Re: rexx stem
Thanks, that will work if you want some *specific* variables from the calling exec. I should have been clearer that this was just an example from a working exec. The exec from which this came wanted access to *ALL* the calling exec's variables. Thus the c. before all of the calling exec's variables so that they would not conflict with that exec's own variables of similar names. And... once the work was done with the caller's variables, they could all be easily dropped by a: drop c. Mike Walter Hewitt Associates The opinions expressed herein are mine alone, not my employer's. Schuh, Richard rsc...@visa.com Sent by: The IBM z/VM Operating System IBMVM@LISTSERV.UARK.EDU 07/30/2010 10:36 AM Please respond to The IBM z/VM Operating System IBMVM@LISTSERV.UARK.EDU To IBMVM@LISTSERV.UARK.EDU cc Subject Re: rexx stem Simplify it, Mike. PIPE stem abc. 1 | stem abc. if you need to manipulate it outside of Pipes or PIPE stem abc. 1 | manipulate it | xedit if you don't. Or, if you want all variables from the underlying variable space, PIPE rexxvars 1 toload | varload. If desired, you can do manipulation between the rexxvars and the vasrload stages. Let Pipes do all of the heavy lifting. Regards, Richard Schuh From: The IBM z/VM Operating System [mailto:ib...@listserv.uark.edu] On Behalf Of Mike Walter Sent: Thursday, July 29, 2010 7:42 AM To: IBMVM@LISTSERV.UARK.EDU Subject: Re: rexx stem XEDIT macros can be, and usually are nowadays, written in REXX. You might want to think a bit more about the flow of what's happening. But to answer your question more directly, inside the XEDIT macro you are calling from the EXEC you can execute a pipe to get the variables of the calling exec. For example... /* your called XEDIT macro might contain... */ address COMMAND , 'PIPE (NAME GetCallerVars)' , '| REXXVARS 1' , /* Access caller's vars */ '| STRNFIND /s/' ,/* Skip source name */ '| SPECS W2-* 1' ,/* Drop 'n' and 'v' prefix */ '| JOIN 1 / /' , /* Var Name and Value into 1 */ '| STRFIND /'xfn'./' , /* Just our xfn. vars*/ '| NOT CHOP BEFORE STRING /./' , /* Lop our xfn, keep .xxx */ , /* Load them as 'c.' so we can easily tell from our vars*/ '| SPECS +~C+ 1' ,/* Bld: /C */ 'WORD 1 NEXT' , /* /C.name */ '+~+ NEXT' , /* /C.name/ */ 'WORD 2-* NEXT' , /* /C.name/value*/ '| STRIP TRAILING' , '| VARLOAD DIRECT' /* Restore caller's vars in here */ Now all the calling exec's variables are available in the XEDIT macro, prefixed by c. For example, if the calling exec was named FORMARK EXEC, and began with: address 'COMMAND' parse source xos xct xfn xft xfm xcmd xenvir . ... and the called XEDIT macro was named $FORMARK, and began with that, too... In the called XEDIT macro, xfn xft xfm would be $FORMARK XEDIT fm, while c.xfn c.xft and c.xfm would be FORMARK EXEC fm. If the calling exec has lots of variables you may want to trim down the number that you feed into the VARLOAD stage. Mike Walter Hewitt Associates The opinions expressed herein are mine alone, not my employer's. Mark Pace pacemainl...@gmail.com Sent by: The IBM z/VM Operating System IBMVM@LISTSERV.UARK.EDU 07/29/2010 09:28 AM Please respond to The IBM z/VM Operating System IBMVM@LISTSERV.UARK.EDU To IBMVM@LISTSERV.UARK.EDU cc Subject Re: rexx stem well I've created a stem in REXX. I want to call XEDIT to present a menu using the data from that stem. On Thu, Jul 29, 2010 at 10:26 AM, zMan zedgarhoo...@gmail.com wrote: pass meaning what? Insert it into the file? On Thu, Jul 29, 2010 at 10:25 AM, Mark Pace pacemainl...@gmail.com wrote: I'm having writers (programmers) block today. Is there a way to pass a REXX stem to XEDIT? -- zMan -- I've got a mainframe and I'm not afraid to use it -- Mark D Pace Senior Systems Engineer Mainline Information Systems The information contained in this e-mail and any accompanying documents may contain information that is confidential or otherwise protected from disclosure. If you are not the intended recipient of this message, or if this message has been addressed to you in error, please immediately alert the sender by reply e-mail and then delete this message, including any attachments. Any dissemination, distribution or other use of the contents of this message by anyone other than the intended recipient is strictly prohibited. All messages sent to and from this e-mail address may be monitored as permitted by applicable law and regulations to ensure
rexx stem
I'm having writers (programmers) block today. Is there a way to pass a REXX stem to XEDIT? -- Mark D Pace Senior Systems Engineer Mainline Information Systems
Re: rexx stem
pass meaning what? Insert it into the file? On Thu, Jul 29, 2010 at 10:25 AM, Mark Pace pacemainl...@gmail.com wrote: I'm having writers (programmers) block today. Is there a way to pass a REXX stem to XEDIT? -- zMan -- I've got a mainframe and I'm not afraid to use it
Re: rexx stem
well I've created a stem in REXX. I want to call XEDIT to present a menu using the data from that stem. On Thu, Jul 29, 2010 at 10:26 AM, zMan zedgarhoo...@gmail.com wrote: pass meaning what? Insert it into the file? On Thu, Jul 29, 2010 at 10:25 AM, Mark Pace pacemainl...@gmail.comwrote: I'm having writers (programmers) block today. Is there a way to pass a REXX stem to XEDIT? -- zMan -- I've got a mainframe and I'm not afraid to use it -- Mark D Pace Senior Systems Engineer Mainline Information Systems
Re: rexx stem
Ah. You likely want to invoke XEDIT with a named PROFILE, then; the named PROFILE will use Pipes to reach back into the previous Rexx level and fetch the stem. On Thu, Jul 29, 2010 at 10:28 AM, Mark Pace pacemainl...@gmail.com wrote: well I've created a stem in REXX. I want to call XEDIT to present a menu using the data from that stem. On Thu, Jul 29, 2010 at 10:26 AM, zMan zedgarhoo...@gmail.com wrote: pass meaning what? Insert it into the file? On Thu, Jul 29, 2010 at 10:25 AM, Mark Pace pacemainl...@gmail.comwrote: I'm having writers (programmers) block today. Is there a way to pass a REXX stem to XEDIT? -- zMan -- I've got a mainframe and I'm not afraid to use it -- Mark D Pace Senior Systems Engineer Mainline Information Systems -- zMan -- I've got a mainframe and I'm not afraid to use it
Re: rexx stem
Mark, There is a XEDIT output stage in PIPEs. PIPE the stem into XEDIT. The XEDIT has to be opened first. From: The IBM z/VM Operating System [mailto:ib...@listserv.uark.edu] On Behalf Of Mark Pace Sent: Thursday, July 29, 2010 8:28 AM To: IBMVM@LISTSERV.UARK.EDU Subject: EXTERNAL: Re: rexx stem well I've created a stem in REXX. I want to call XEDIT to present a menu using the data from that stem. On Thu, Jul 29, 2010 at 10:26 AM, zMan zedgarhoo...@gmail.commailto:zedgarhoo...@gmail.com wrote: pass meaning what? Insert it into the file? On Thu, Jul 29, 2010 at 10:25 AM, Mark Pace pacemainl...@gmail.commailto:pacemainl...@gmail.com wrote: I'm having writers (programmers) block today. Is there a way to pass a REXX stem to XEDIT? -- zMan -- I've got a mainframe and I'm not afraid to use it -- Mark D Pace Senior Systems Engineer Mainline Information Systems
Re: rexx stem
XEDIT macros can be, and usually are nowadays, written in REXX. You might want to think a bit more about the flow of what's happening. But to answer your question more directly, inside the XEDIT macro you are calling from the EXEC you can execute a pipe to get the variables of the calling exec. For example... /* your called XEDIT macro might contain... */ address COMMAND , 'PIPE (NAME GetCallerVars)' , '| REXXVARS 1' , /* Access caller's vars */ '| STRNFIND /s/' ,/* Skip source name */ '| SPECS W2-* 1' ,/* Drop 'n' and 'v' prefix */ '| JOIN 1 / /' , /* Var Name and Value into 1 */ '| STRFIND /'xfn'./' , /* Just our xfn. vars*/ '| NOT CHOP BEFORE STRING /./' , /* Lop our xfn, keep .xxx */ , /* Load them as 'c.' so we can easily tell from our vars*/ '| SPECS +~C+ 1' ,/* Bld: /C */ 'WORD 1 NEXT' , /* /C.name */ '+~+ NEXT' , /* /C.name/ */ 'WORD 2-* NEXT' , /* /C.name/value*/ '| STRIP TRAILING' , '| VARLOAD DIRECT' /* Restore caller's vars in here */ Now all the calling exec's variables are available in the XEDIT macro, prefixed by c. For example, if the calling exec was named FORMARK EXEC, and began with: address 'COMMAND' parse source xos xct xfn xft xfm xcmd xenvir . ... and the called XEDIT macro was named $FORMARK, and began with that, too... In the called XEDIT macro, xfn xft xfm would be $FORMARK XEDIT fm, while c.xfn c.xft and c.xfm would be FORMARK EXEC fm. If the calling exec has lots of variables you may want to trim down the number that you feed into the VARLOAD stage. Mike Walter Hewitt Associates The opinions expressed herein are mine alone, not my employer's. Mark Pace pacemainl...@gmail.com Sent by: The IBM z/VM Operating System IBMVM@LISTSERV.UARK.EDU 07/29/2010 09:28 AM Please respond to The IBM z/VM Operating System IBMVM@LISTSERV.UARK.EDU To IBMVM@LISTSERV.UARK.EDU cc Subject Re: rexx stem well I've created a stem in REXX. I want to call XEDIT to present a menu using the data from that stem. On Thu, Jul 29, 2010 at 10:26 AM, zMan zedgarhoo...@gmail.com wrote: pass meaning what? Insert it into the file? On Thu, Jul 29, 2010 at 10:25 AM, Mark Pace pacemainl...@gmail.com wrote: I'm having writers (programmers) block today. Is there a way to pass a REXX stem to XEDIT? -- zMan -- I've got a mainframe and I'm not afraid to use it -- Mark D Pace Senior Systems Engineer Mainline Information Systems The information contained in this e-mail and any accompanying documents may contain information that is confidential or otherwise protected from disclosure. If you are not the intended recipient of this message, or if this message has been addressed to you in error, please immediately alert the sender by reply e-mail and then delete this message, including any attachments. Any dissemination, distribution or other use of the contents of this message by anyone other than the intended recipient is strictly prohibited. All messages sent to and from this e-mail address may be monitored as permitted by applicable law and regulations to ensure compliance with our internal policies and to protect our business. E-mails are not secure and cannot be guaranteed to be error free as they can be intercepted, amended, lost or destroyed, or contain viruses. You are deemed to have accepted these risks if you communicate with us by e-mail.
Re: rexx stem
How is XEDIT being invoked. Are you running an EXEC that invokes XEDIT which then runs a macro? If you are trying to retrieve the vars from the EXEC then PIPE will let you do so by specifying an invocation number of the rexxvars stage, then use the varload stage to load them into the XEDIT environment where the macro can access them. On 7/29/10 10:25 AM, Mark Pace pacemainl...@gmail.com wrote: I'm having writers (programmers) block today. Is there a way to pass a REXX stem to XEDIT?
Re: rexx stem
Same but with the STACK. Frank M. Ramaekers Jr. -Original Message- From: The IBM z/VM Operating System [mailto:ib...@listserv.uark.edu] On Behalf Of Tony Thigpen Sent: Thursday, July 29, 2010 9:43 AM To: IBMVM@LISTSERV.UARK.EDU Subject: Re: rexx stem I have used GLOBALVs for that in the past. Pass the name of the stem to xedit and have it retrieve the GLOBALV settings. Tony Thigpen -Original Message - From: Mark Pace Sent: 07/29/2010 10:28 AM well I've created a stem in REXX. I want to call XEDIT to present a menu using the data from that stem. On Thu, Jul 29, 2010 at 10:26 AM, zMan zedgarhoo...@gmail.com mailto:zedgarhoo...@gmail.com wrote: pass meaning what? Insert it into the file? On Thu, Jul 29, 2010 at 10:25 AM, Mark Pace pacemainl...@gmail.com mailto:pacemainl...@gmail.com wrote: I'm having writers (programmers) block today. Is there a way to pass a REXX stem to XEDIT? -- zMan -- I've got a mainframe and I'm not afraid to use it -- Mark D Pace Senior Systems Engineer Mainline Information Systems _ This message contains information which is privileged and confidential and is solely for the use of the intended recipient. If you are not the intended recipient, be aware that any review, disclosure, copying, distribution, or use of the contents of this message is strictly prohibited. If you have received this in error, please destroy it immediately and notify us at privacy...@ailife.com.
Re: rexx stem
Thanks everyone for the input, and Mike for such a detailed example. On Thu, Jul 29, 2010 at 10:42 AM, Mike Walter mike.wal...@hewitt.comwrote: XEDIT macros can be, and usually are nowadays, written in REXX. You might want to think a bit more about the flow of what's happening. But to answer your question more directly, inside the XEDIT macro you are calling from the EXEC you can execute a pipe to get the variables of the calling exec. For example... /* your called XEDIT macro might contain... */ address COMMAND , 'PIPE (NAME GetCallerVars)' , '| REXXVARS 1' , /* Access caller's vars */ '| STRNFIND /s/' ,/* Skip source name */ '| SPECS W2-* 1' ,/* Drop 'n' and 'v' prefix */ '| JOIN 1 / /' , /* Var Name and Value into 1 */ '| STRFIND /'xfn'./' , /* Just our xfn. vars*/ '| NOT CHOP BEFORE STRING /./' , /* Lop our xfn, keep .xxx */ , /* Load them as 'c.' so we can easily tell from our vars*/ '| SPECS +~C+ 1' ,/* Bld: /C */ 'WORD 1 NEXT' , /* /C.name */ '+~+ NEXT' , /* /C.name/ */ 'WORD 2-* NEXT' , /* /C.name/value*/ '| STRIP TRAILING' , '| VARLOAD DIRECT' /* Restore caller's vars in here */ Now all the calling exec's variables are available in the XEDIT macro, prefixed by c. For example, if the calling exec was named FORMARK EXEC, and began with: address 'COMMAND' parse source xos xct xfn xft xfm xcmd xenvir . ... and the called XEDIT macro was named $FORMARK, and began with that, too... In the called XEDIT macro, xfn xft xfm would be $FORMARK XEDIT fm, while c.xfn c.xft and c.xfm would be FORMARK EXEC fm. If the calling exec has lots of variables you may want to trim down the number that you feed into the VARLOAD stage. Mike Walter Hewitt Associates The opinions expressed herein are mine alone, not my employer's. *Mark Pace pacemainl...@gmail.com* Sent by: The IBM z/VM Operating System IBMVM@LISTSERV.UARK.EDU 07/29/2010 09:28 AM Please respond to The IBM z/VM Operating System IBMVM@LISTSERV.UARK.EDU To IBMVM@LISTSERV.UARK.EDU cc Subject Re: rexx stem well I've created a stem in REXX. I want to call XEDIT to present a menu using the data from that stem. On Thu, Jul 29, 2010 at 10:26 AM, zMan *zedgarhoo...@gmail.com*zedgarhoo...@gmail.com wrote: pass meaning what? Insert it into the file? On Thu, Jul 29, 2010 at 10:25 AM, Mark Pace *pacemainl...@gmail.com*pacemainl...@gmail.com wrote: I'm having writers (programmers) block today. Is there a way to pass a REXX stem to XEDIT? -- zMan -- I've got a mainframe and I'm not afraid to use it -- Mark D Pace Senior Systems Engineer Mainline Information Systems -- The information contained in this e-mail and any accompanying documents may contain information that is confidential or otherwise protected from disclosure. If you are not the intended recipient of this message, or if this message has been addressed to you in error, please immediately alert the sender by reply e-mail and then delete this message, including any attachments. Any dissemination, distribution or other use of the contents of this message by anyone other than the intended recipient is strictly prohibited. All messages sent to and from this e-mail address may be monitored as permitted by applicable law and regulations to ensure compliance with our internal policies and to protect our business. E-mails are not secure and cannot be guaranteed to be error free as they can be intercepted, amended, lost or destroyed, or contain viruses. You are deemed to have accepted these risks if you communicate with us by e-mail. -- Mark D Pace Senior Systems Engineer Mainline Information Systems
Re: rexx stem
Mike, I want to tell that your example is a bit (very) oldfashioned. A simple REXXVARS was indeed the solution, you can do the same a bit easier by using REXXVARS TOLOAD. It produces records like /varname/varcontents (John doesn't guarantee the / will be the delimiter) So you could code: address '' 'PIPE REXXVARS TOLOAD', '|Strfind MYSTEM.', '| A second remark: if the stem one wants to get has numbered suffixes (like is often the case), there is no need to have PIPE obtain all variables from the calling exec. This would do to copy it into the current exec/macro: address '' 'PIPE STEM mystem. 1 |STEM mystem.' 2010/7/29 Mike Walter mike.wal...@hewitt.com XEDIT macros can be, and usually are nowadays, written in REXX. You might want to think a bit more about the flow of what's happening. But to answer your question more directly, inside the XEDIT macro you are calling from the EXEC you can execute a pipe to get the variables of the calling exec. For example... /* your called XEDIT macro might contain... */ address COMMAND , 'PIPE (NAME GetCallerVars)' , '| REXXVARS 1' , /* Access caller's vars */ '| STRNFIND /s/' ,/* Skip source name */ '| SPECS W2-* 1' ,/* Drop 'n' and 'v' prefix */ '| JOIN 1 / /' , /* Var Name and Value into 1 */ '| STRFIND /'xfn'./' , /* Just our xfn. vars*/ '| NOT CHOP BEFORE STRING /./' , /* Lop our xfn, keep .xxx */ , /* Load them as 'c.' so we can easily tell from our vars*/ '| SPECS +~C+ 1' ,/* Bld: /C */ 'WORD 1 NEXT' , /* /C.name */ '+~+ NEXT' , /* /C.name/ */ 'WORD 2-* NEXT' , /* /C.name/value*/ '| STRIP TRAILING' , '| VARLOAD DIRECT' /* Restore caller's vars in here */ Now all the calling exec's variables are available in the XEDIT macro, prefixed by c. For example, if the calling exec was named FORMARK EXEC, and began with: address 'COMMAND' parse source xos xct xfn xft xfm xcmd xenvir . ... and the called XEDIT macro was named $FORMARK, and began with that, too... In the called XEDIT macro, xfn xft xfm would be $FORMARK XEDIT fm, while c.xfn c.xft and c.xfm would be FORMARK EXEC fm. If the calling exec has lots of variables you may want to trim down the number that you feed into the VARLOAD stage. Mike Walter Hewitt Associates The opinions expressed herein are mine alone, not my employer's. *Mark Pace pacemainl...@gmail.com* Sent by: The IBM z/VM Operating System IBMVM@LISTSERV.UARK.EDU 07/29/2010 09:28 AM Please respond to The IBM z/VM Operating System IBMVM@LISTSERV.UARK.EDU To IBMVM@LISTSERV.UARK.EDU cc Subject Re: rexx stem well I've created a stem in REXX. I want to call XEDIT to present a menu using the data from that stem. On Thu, Jul 29, 2010 at 10:26 AM, zMan *zedgarhoo...@gmail.com*zedgarhoo...@gmail.com wrote: pass meaning what? Insert it into the file? On Thu, Jul 29, 2010 at 10:25 AM, Mark Pace *pacemainl...@gmail.com*pacemainl...@gmail.com wrote: I'm having writers (programmers) block today. Is there a way to pass a REXX stem to XEDIT? -- zMan -- I've got a mainframe and I'm not afraid to use it -- Mark D Pace Senior Systems Engineer Mainline Information Systems -- The information contained in this e-mail and any accompanying documents may contain information that is confidential or otherwise protected from disclosure. If you are not the intended recipient of this message, or if this message has been addressed to you in error, please immediately alert the sender by reply e-mail and then delete this message, including any attachments. Any dissemination, distribution or other use of the contents of this message by anyone other than the intended recipient is strictly prohibited. All messages sent to and from this e-mail address may be monitored as permitted by applicable law and regulations to ensure compliance with our internal policies and to protect our business. E-mails are not secure and cannot be guaranteed to be error free as they can be intercepted, amended, lost or destroyed, or contain viruses. You are deemed to have accepted these risks if you communicate with us by e-mail. -- Kris Buelens, IBM Belgium, VM customer support
Re: rexx stem
Kris, You're right... it's old code. Whenever I get the time to change it, I'll do so... :-) Mike Walter Hewitt Associates The opinions expressed herein are mine alone, not my employer's. Kris Buelens kris.buel...@gmail.com Sent by: The IBM z/VM Operating System IBMVM@LISTSERV.UARK.EDU 07/29/2010 12:46 PM Please respond to The IBM z/VM Operating System IBMVM@LISTSERV.UARK.EDU To IBMVM@LISTSERV.UARK.EDU cc Subject Re: rexx stem Mike, I want to tell that your example is a bit (very) oldfashioned. A simple REXXVARS was indeed the solution, you can do the same a bit easier by using REXXVARS TOLOAD. It produces records like /varname/varcontents (John doesn't guarantee the / will be the delimiter) So you could code: address '' 'PIPE REXXVARS TOLOAD', '|Strfind MYSTEM.', '| A second remark: if the stem one wants to get has numbered suffixes (like is often the case), there is no need to have PIPE obtain all variables from the calling exec. This would do to copy it into the current exec/macro: address '' 'PIPE STEM mystem. 1 |STEM mystem.' 2010/7/29 Mike Walter mike.wal...@hewitt.com XEDIT macros can be, and usually are nowadays, written in REXX. You might want to think a bit more about the flow of what's happening. But to answer your question more directly, inside the XEDIT macro you are calling from the EXEC you can execute a pipe to get the variables of the calling exec. For example... /* your called XEDIT macro might contain... */ address COMMAND , 'PIPE (NAME GetCallerVars)' , '| REXXVARS 1' , /* Access caller's vars */ '| STRNFIND /s/' ,/* Skip source name */ '| SPECS W2-* 1' ,/* Drop 'n' and 'v' prefix */ '| JOIN 1 / /' , /* Var Name and Value into 1 */ '| STRFIND /'xfn'./' , /* Just our xfn. vars*/ '| NOT CHOP BEFORE STRING /./' , /* Lop our xfn, keep .xxx */ , /* Load them as 'c.' so we can easily tell from our vars*/ '| SPECS +~C+ 1' ,/* Bld: /C */ 'WORD 1 NEXT' , /* /C.name */ '+~+ NEXT' , /* /C.name/ */ 'WORD 2-* NEXT' , /* /C.name/value*/ '| STRIP TRAILING' , '| VARLOAD DIRECT' /* Restore caller's vars in here */ Now all the calling exec's variables are available in the XEDIT macro, prefixed by c. For example, if the calling exec was named FORMARK EXEC, and began with: address 'COMMAND' parse source xos xct xfn xft xfm xcmd xenvir . ... and the called XEDIT macro was named $FORMARK, and began with that, too... In the called XEDIT macro, xfn xft xfm would be $FORMARK XEDIT fm, while c.xfn c.xft and c.xfm would be FORMARK EXEC fm. If the calling exec has lots of variables you may want to trim down the number that you feed into the VARLOAD stage. Mike Walter Hewitt Associates The opinions expressed herein are mine alone, not my employer's. Mark Pace pacemainl...@gmail.com Sent by: The IBM z/VM Operating System IBMVM@LISTSERV.UARK.EDU 07/29/2010 09:28 AM Please respond to The IBM z/VM Operating System IBMVM@LISTSERV.UARK.EDU To IBMVM@LISTSERV.UARK.EDU cc Subject Re: rexx stem well I've created a stem in REXX. I want to call XEDIT to present a menu using the data from that stem. On Thu, Jul 29, 2010 at 10:26 AM, zMan zedgarhoo...@gmail.com wrote: pass meaning what? Insert it into the file? On Thu, Jul 29, 2010 at 10:25 AM, Mark Pace pacemainl...@gmail.com wrote: I'm having writers (programmers) block today. Is there a way to pass a REXX stem to XEDIT? -- zMan -- I've got a mainframe and I'm not afraid to use it -- Mark D Pace Senior Systems Engineer Mainline Information Systems The information contained in this e-mail and any accompanying documents may contain information that is confidential or otherwise protected from disclosure. If you are not the intended recipient of this message, or if this message has been addressed to you in error, please immediately alert the sender by reply e-mail and then delete this message, including any attachments. Any dissemination, distribution or other use of the contents of this message by anyone other than the intended recipient is strictly prohibited. All messages sent to and from this e-mail address may be monitored as permitted by applicable law and regulations to ensure compliance with our internal policies and to protect our business. E-mails are not secure and cannot be guaranteed to be error free as they can be intercepted, amended, lost or destroyed, or contain
Re: rexx stem
Thank you, Kris. 1 stem was all I need for this job. 'PIPE stem mystem. 1 | stem mystem.' worked perfectly. On Thu, Jul 29, 2010 at 1:46 PM, Kris Buelens kris.buel...@gmail.comwrote: Mike, I want to tell that your example is a bit (very) oldfashioned. A simple REXXVARS was indeed the solution, you can do the same a bit easier by using REXXVARS TOLOAD. It produces records like /varname/varcontents (John doesn't guarantee the / will be the delimiter) So you could code: address '' 'PIPE REXXVARS TOLOAD', '|Strfind MYSTEM.', '| A second remark: if the stem one wants to get has numbered suffixes (like is often the case), there is no need to have PIPE obtain all variables from the calling exec. This would do to copy it into the current exec/macro: address '' 'PIPE STEM mystem. 1 |STEM mystem.' 2010/7/29 Mike Walter mike.wal...@hewitt.com XEDIT macros can be, and usually are nowadays, written in REXX. You might want to think a bit more about the flow of what's happening. But to answer your question more directly, inside the XEDIT macro you are calling from the EXEC you can execute a pipe to get the variables of the calling exec. For example... /* your called XEDIT macro might contain... */ address COMMAND , 'PIPE (NAME GetCallerVars)' , '| REXXVARS 1' , /* Access caller's vars */ '| STRNFIND /s/' ,/* Skip source name */ '| SPECS W2-* 1' ,/* Drop 'n' and 'v' prefix */ '| JOIN 1 / /' , /* Var Name and Value into 1 */ '| STRFIND /'xfn'./' , /* Just our xfn. vars*/ '| NOT CHOP BEFORE STRING /./' , /* Lop our xfn, keep .xxx */ , /* Load them as 'c.' so we can easily tell from our vars*/ '| SPECS +~C+ 1' ,/* Bld: /C */ 'WORD 1 NEXT' , /* /C.name */ '+~+ NEXT' , /* /C.name/ */ 'WORD 2-* NEXT' , /* /C.name/value*/ '| STRIP TRAILING' , '| VARLOAD DIRECT' /* Restore caller's vars in here */ Now all the calling exec's variables are available in the XEDIT macro, prefixed by c. For example, if the calling exec was named FORMARK EXEC, and began with: address 'COMMAND' parse source xos xct xfn xft xfm xcmd xenvir . ... and the called XEDIT macro was named $FORMARK, and began with that, too... In the called XEDIT macro, xfn xft xfm would be $FORMARK XEDIT fm, while c.xfn c.xft and c.xfm would be FORMARK EXEC fm. If the calling exec has lots of variables you may want to trim down the number that you feed into the VARLOAD stage. Mike Walter Hewitt Associates The opinions expressed herein are mine alone, not my employer's. *Mark Pace pacemainl...@gmail.com* Sent by: The IBM z/VM Operating System IBMVM@LISTSERV.UARK.EDU 07/29/2010 09:28 AM Please respond to The IBM z/VM Operating System IBMVM@LISTSERV.UARK.EDU To IBMVM@LISTSERV.UARK.EDU cc Subject Re: rexx stem well I've created a stem in REXX. I want to call XEDIT to present a menu using the data from that stem. On Thu, Jul 29, 2010 at 10:26 AM, zMan *zedgarhoo...@gmail.com*zedgarhoo...@gmail.com wrote: pass meaning what? Insert it into the file? On Thu, Jul 29, 2010 at 10:25 AM, Mark Pace *pacemainl...@gmail.com*pacemainl...@gmail.com wrote: I'm having writers (programmers) block today. Is there a way to pass a REXX stem to XEDIT? -- zMan -- I've got a mainframe and I'm not afraid to use it -- Mark D Pace Senior Systems Engineer Mainline Information Systems -- The information contained in this e-mail and any accompanying documents may contain information that is confidential or otherwise protected from disclosure. If you are not the intended recipient of this message, or if this message has been addressed to you in error, please immediately alert the sender by reply e-mail and then delete this message, including any attachments. Any dissemination, distribution or other use of the contents of this message by anyone other than the intended recipient is strictly prohibited. All messages sent to and from this e-mail address may be monitored as permitted by applicable law and regulations to ensure compliance with our internal policies and to protect our business. E-mails are not secure and cannot be guaranteed to be error free as they can be intercepted, amended, lost or destroyed, or contain viruses. You are deemed to have accepted these risks if you communicate with us by e-mail. -- Kris Buelens, IBM Belgium, VM customer support -- Mark D Pace Senior Systems Engineer Mainline Information Systems