Re: Rexx Exec Help Desperately Sought!
I am very happy to report that with everyone's help and the manual I was able to finish up this Rexx EXEC. The execution of XMITIP was accomplished with: XMITIP email_address CONFIG parm I honestly appreciate all the help! Thanks :-) * * *George Rodriguez* *Specialist II - IT Solutions* *Application Support / Quality Assurance* *PX - 47652* *(561) 357-7652 (office)* *(561) 707-3496 (mobile)* *School District of Palm Beach County* *3348 Forest Hill Blvd.* *Room B-251* *West Palm Beach, FL. 33406-5869* *Florida's Only A-Rated Urban District For Seven Consecutive Years* On Wed, Aug 1, 2012 at 4:18 PM, Lizette Koehler stars...@mindspring.comwrote: If you do an internet search on XMITIP you should see the User's Guide there. Lizette -Original Message- From: George Rodriguez george.rodrig...@palmbeachschools.org Sent: Aug 1, 2012 11:36 AM To: IBM-MAIN@LISTSERV.UA.EDU Subject: Re: Rexx Exec Help Desperately Sought! What user guide? I don't have one... Can you email me a copy? * * *George Rodriguez* *Specialist II - IT Solutions* *Application Support / Quality Assurance* *PX - 47652* *(561) 357-7652 (office)* *(561) 707-3496 (mobile)* *School District of Palm Beach County* *3348 Forest Hill Blvd.* *Room B-251* *West Palm Beach, FL. 33406-5869* *Florida's Only A-Rated Urban District For Seven Consecutive Years* On Wed, Aug 1, 2012 at 2:07 PM, Lizette Koehler stars...@mindspring.com wrote: George, The User's Guide for XMITIP is fairly comprehensive on how to run this in batch. The JCL and samples are good. Lizette Hi Gil, What if the exec is being run from a batch program, what do I need to change? Rexx Exec ID2EMAIL calls via an EX the XMITIP Rexx Exec. //STEP0030 EXEC PGM=IKJEFT1B,DYNAMNBR=50 //SYSEXEC DD DISP=SHR,DSN=SYS2.LOCAL.CLIST // DD DISP=SHR,DSN=SYS2.LOCAL.REXX //STEPLIB DD DISP=SHR,DSN=SYS2.LOCAL.LINKLIB //SYSPRINT DD SYSOUT=* //SYSTSPRT DD SYSOUT=* //REPORT DD DSN=TEMP1, //DISP=(OLD,DELETE,DELETE), //RECFM=VBA, //LRECL=137, //UNIT=SYSDA //SYSTSIN DD * ID2EMAIL GRODRIG //* * -- -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN Home of Florida's first LEED Gold Certified School Under Florida law, e-mail addresses are public records. If you do not want your e-mail address released in response to a public records request, do not send electronic mail to this entity. Instead, contact this office by phone or in writing. -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
Re: Rexx Exec Help Desperately Sought!
The XMITIP doc says that it will handle dsnames the same as TSO, that is, partially qualified names get your prefix added, and fully qualified dsnames must be inside single quotes. I think you are just running into the way TSO parses the quotes. You may need to make sure the quotes get passed into XMITIP by doubling them. For example: EX 'SYS2.LOCAL.CLIST(XMITIP)' '''TM#T.M.XMITIP.PARMCARD.userid1''' That may be hard to see, so here is what that is: 1. One set of single quotes around the whole parameter value 2. 2 sets of single quotes (not double quotes) around the dsname so that XMITIP will see 1 set of single quotes. for a total of 3 single quotes on each side of the dsname. Or, if you allocate 'SYS2.LOCAL.CLIST' to your SYSPROC ddname, you should be able to do this: %XMITIP 'TM#.M.XMITIP.PARMCARD' and use only a single set of quotes. When you are calling certain tools, the quote doubling may depend on how many levels of CLIST or REXX are nested. I once had a tool where I had to put 6 single quotes on each side of a fully qualified dsname to be able to pass a fully qualified dsname with a single set of single quotes all the way to the inside. It depends on how the clists or rexx expect to see the quotes. Regards, --Roger On Tue, Jul 31, 2012 at 9:55 AM, Elardus Engelbrecht elardus.engelbre...@sita.co.za wrote: George Rodriguez wrote: Boy do I need help! There are (hot!) girls lurking too on IBM-MAIN... ;-D In my Rexx exec I extract the userid ... from where? Just curious. I then start building the file that has all the XMITIP parameter cards, Now this is where I need your help... If what follows is what I'm doing in the Rexx exec what are the needed parameters? EX 'SYS2.LOCAL.CLIST(XMITIP)' how and what do I say here... Based on what you wrote, I think (?) you want to execute your REXX program with the dataset as a [single] parameter. If so, try this: EX 'DSN.HOLDING.THE.EXEC(REXX EXEC)' 'Parm1 parm2 parm3 etc' Using your posted example, try this (using only one parameter): EX 'SYS2.LOCAL.CLIST(XMITIP)' 'TM#T.M.XMITIP.PARMCARD.userid' In Batch you can do this: //PLAY EXEC PGM=IKJEFT01 //SYSPRINT DD SYSOUT=* //SYSTERM DD SYSOUT=* //SYSTSPRT DD SYSOUT=* //SYSTSIN DD * EX 'SYS2.LOCAL.CLIST(XMITIP)' 'TM#T.M.XMITIP.PARMCARD.userid1' EX 'SYS2.LOCAL.CLIST(XMITIP)' 'TM#T.M.XMITIP.PARMCARD.userid2' ...etc... HTH! Groete / Greetings Elardus Engelbrecht -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
Re: Rexx Exec Help Desperately Sought!
On Aug 1, 2012, at 06:42, Roger Bolan wrote: The XMITIP doc says that it will handle dsnames the same as TSO, that is, partially qualified names get your prefix added, and fully qualified dsnames must be inside single quotes. I think you are just running into the way TSO parses the quotes. You may need to make sure the quotes get passed into XMITIP by doubling them. For example: EX 'SYS2.LOCAL.CLIST(XMITIP)' '''TM#T.M.XMITIP.PARMCARD.userid1''' You might benefit by putting SYS2.LOCAL.CLIST in your SYSPROC concatenation (or using ALTLIB) (SYSEXEC if XMITIP is Rexx). Then write your script in Rexx instead of CLIST. Rexx allows both double and single quotes, so the command becomes: 'XMITIP' 'TM#T.M.XMITIP.PARMCARD.userid1' ... perhaps more legible. -- gil -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
Re: Rexx Exec Help Desperately Sought!
In 5271902217232606.wa.elardus.engelbrechtsita.co...@listserv.ua.edu, on 07/31/2012 at 10:55 AM, Elardus Engelbrecht elardus.engelbre...@sita.co.za said: Using your posted example, try this (using only one parameter): EX 'SYS2.LOCAL.CLIST(XMITIP)' 'TM#T.M.XMITIP.PARMCARD.userid' Assuming that he replaces userid with the userid, that's correct if he wants prefixing. Otherwise he must write EX 'SYS2.LOCAL.CLIST(XMITIP)' '''TM#T.M.XMITIP.PARMCARD.userid''' If SYS2.LOCAL.CLIST is in SYSPROC then I'd recommend avoiding the extra apostrophes by doing %XMITIP 'TM#T.M.XMITIP.PARMCARD.userid' -- Shmuel (Seymour J.) Metz, SysProg and JOAT Atid/2http://patriot.net/~shmuel We don't care. We don't have to care, we're Congress. (S877: The Shut up and Eat Your spam act of 2003) -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
Re: Rexx Exec Help Desperately Sought!
In CAApqkjt47TQe2TfmFTC5dwgfaHJAwF4s=DUec9fRXgnm3M=2...@mail.gmail.com, on 07/31/2012 at 11:32 AM, George Rodriguez george.rodrig...@palmbeachschools.org said: I'm trying to execute XMITIP Is it in your SYSPROC or SYSEXEC? EX 'SYS2.LOCAL.CLIST(XMITIP)' how and what do I say here... I'm very bad with syntax and when to use a single or double quote... The REXX rules that you need to know are: 1. A statement containing only an expression call the default environment[1] with the value of the expression. 2. You may use either apostrophe (') or quote () to delimit constants. If the constant contains an instance of that delimiter, you must double it, e.g., 'don''t'. I prefer to use the alternate delimiter in such cases to avoid the doubling, e.g., don't, 'this () is a quote'. 3. If you separate two expressions with spaces, that is equivalent to concatenating them with a single separating space. 4. If you abut a constant with an expression, that is equivalent to concatenating them. 5. If you aren't trapping NOVALUE, REXX evaluates an uninitialized simple[2] variable as its name in upper case. You also need to understand TSO parsing. The second parameter to EXEC must be quoted with apostrophes, forcing you to double any apostrophes within that parameter. If XMITIP is in SYSEXEC or SYSPROC then I advise you to call it directly, not with EXEC. Assuming that TM#T is the HLQ, the variable user contains the userid and that SYS2.LOCAL.CLIST is in SYSEXEC, I'd write something[3] like '%XMITIP' 'TM#T.M.XMITIP.PARMCARD.user' Note that I used so I wouldn't have to double the '. [1] In your case, TSO. [2] The rules are more complicated for compound variables. [3] I'm assuming that XMITIP takes a dsn as its first parameter -- Shmuel (Seymour J.) Metz, SysProg and JOAT Atid/2http://patriot.net/~shmuel We don't care. We don't have to care, we're Congress. (S877: The Shut up and Eat Your spam act of 2003) -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
Re: Rexx Exec Help Desperately Sought!
George, The User's Guide for XMITIP is fairly comprehensive on how to run this in batch. The JCL and samples are good. Lizette Hi Gil, What if the exec is being run from a batch program, what do I need to change? Rexx Exec ID2EMAIL calls via an EX the XMITIP Rexx Exec. //STEP0030 EXEC PGM=IKJEFT1B,DYNAMNBR=50 //SYSEXEC DD DISP=SHR,DSN=SYS2.LOCAL.CLIST // DD DISP=SHR,DSN=SYS2.LOCAL.REXX //STEPLIB DD DISP=SHR,DSN=SYS2.LOCAL.LINKLIB //SYSPRINT DD SYSOUT=* //SYSTSPRT DD SYSOUT=* //REPORT DD DSN=TEMP1, //DISP=(OLD,DELETE,DELETE), //RECFM=VBA, //LRECL=137, //UNIT=SYSDA //SYSTSIN DD * ID2EMAIL GRODRIG //* * -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
Re: Rexx Exec Help Desperately Sought!
George Try to run your exec to build the file first and then execute the XMITIP in the batch job as separate execs: (Somewhat like the following - not actually tested). //STEP0030 EXEC PGM=IKJEFT1B,DYNAMNBR=50 //SYSEXEC DD DISP=SHR,DSN=SYS2.LOCAL.CLIST // DD DISP=SHR,DSN=SYS2.LOCAL.REXX //STEPLIB DD DISP=SHR,DSN=SYS2.LOCAL.LINKLIB //SYSPRINT DD SYSOUT=* //SYSTSPRT DD SYSOUT=* //REPORT DD DSN=TEMP1, //DISP=(OLD,DELETE,DELETE), //RECFM=VBA, //LRECL=137, //UNIT=SYSDA //SYSTSIN DD * ID2EMAIL GRODRIG === Use to build config file referenced in the line below. XMITIP your.email@youraddress config config.file.name //* This leverages the example from the XMITIP manual I show below. //TSOB EXEC PGM=IKJEFT1B //SYSEXEC DD DISP=SHR,DSN=rexx.exec //SYSPRINT DD SYSOUT=* //SYSTSPRT DD SYSOUT=* //SYSTSIN DD * xmitip your.email@address - config test.config.file - /* I Jerry Whitteridge Lead Systems Programmer Safeway Inc. 925 951 4184 If you feel in control you just aren't going fast enough. -Original Message- From: IBM Mainframe Discussion List [mailto:IBM-MAIN@LISTSERV.UA.EDU] On Behalf Of George Rodriguez Sent: Wednesday, August 01, 2012 10:49 AM To: IBM-MAIN@LISTSERV.UA.EDU Subject: Re: Rexx Exec Help Desperately Sought! Hi Gil, What if the exec is being run from a batch program, what do I need to change? Rexx Exec ID2EMAIL calls via an EX the XMITIP Rexx Exec. //STEP0030 EXEC PGM=IKJEFT1B,DYNAMNBR=50 //SYSEXEC DD DISP=SHR,DSN=SYS2.LOCAL.CLIST // DD DISP=SHR,DSN=SYS2.LOCAL.REXX //STEPLIB DD DISP=SHR,DSN=SYS2.LOCAL.LINKLIB //SYSPRINT DD SYSOUT=* //SYSTSPRT DD SYSOUT=* //REPORT DD DSN=TEMP1, //DISP=(OLD,DELETE,DELETE), //RECFM=VBA, //LRECL=137, //UNIT=SYSDA //SYSTSIN DD * ID2EMAIL GRODRIG //* * * *George Rodriguez* *Specialist II - IT Solutions* *Application Support / Quality Assurance* *PX - 47652* *(561) 357-7652 (office)* *(561) 707-3496 (mobile)* *School District of Palm Beach County* *3348 Forest Hill Blvd.* *Room B-251* *West Palm Beach, FL. 33406-5869* *Florida's Only A-Rated Urban District For Seven Consecutive Years* On Wed, Aug 1, 2012 at 11:57 AM, Paul Gilmartin paulgboul...@aim.comwrote: On Aug 1, 2012, at 06:42, Roger Bolan wrote: The XMITIP doc says that it will handle dsnames the same as TSO, that is, partially qualified names get your prefix added, and fully qualified dsnames must be inside single quotes. I think you are just running into the way TSO parses the quotes. You may need to make sure the quotes get passed into XMITIP by doubling them. For example: EX 'SYS2.LOCAL.CLIST(XMITIP)' '''TM#T.M.XMITIP.PARMCARD.userid1''' You might benefit by putting SYS2.LOCAL.CLIST in your SYSPROC concatenation (or using ALTLIB) (SYSEXEC if XMITIP is Rexx). Then write your script in Rexx instead of CLIST. Rexx allows both double and single quotes, so the command becomes: 'XMITIP' 'TM#T.M.XMITIP.PARMCARD.userid1' ... perhaps more legible. -- gil -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN Home of Florida's first LEED Gold Certified School Under Florida law, e-mail addresses are public records. If you do not want your e-mail address released in response to a public records request, do not send electronic mail to this entity. Instead, contact this office by phone or in writing. -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN Email Firewall made the following annotations. -- Warning: All e-mail sent to this address will be received by the corporate e-mail system, and is subject to archival and review by someone other than the recipient. This e-mail may contain proprietary information and is intended only for the use of the intended recipient(s). If the reader of this message is not the intended recipient(s), you are notified that you have received this message in error and that any review, dissemination, distribution or copying of this message is strictly prohibited. If you have received this message in error, please notify the sender immediately. == -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
Re: Rexx Exec Help Desperately Sought!
What user guide? I don't have one... Can you email me a copy? * * *George Rodriguez* *Specialist II - IT Solutions* *Application Support / Quality Assurance* *PX - 47652* *(561) 357-7652 (office)* *(561) 707-3496 (mobile)* *School District of Palm Beach County* *3348 Forest Hill Blvd.* *Room B-251* *West Palm Beach, FL. 33406-5869* *Florida's Only A-Rated Urban District For Seven Consecutive Years* On Wed, Aug 1, 2012 at 2:07 PM, Lizette Koehler stars...@mindspring.comwrote: George, The User's Guide for XMITIP is fairly comprehensive on how to run this in batch. The JCL and samples are good. Lizette Hi Gil, What if the exec is being run from a batch program, what do I need to change? Rexx Exec ID2EMAIL calls via an EX the XMITIP Rexx Exec. //STEP0030 EXEC PGM=IKJEFT1B,DYNAMNBR=50 //SYSEXEC DD DISP=SHR,DSN=SYS2.LOCAL.CLIST // DD DISP=SHR,DSN=SYS2.LOCAL.REXX //STEPLIB DD DISP=SHR,DSN=SYS2.LOCAL.LINKLIB //SYSPRINT DD SYSOUT=* //SYSTSPRT DD SYSOUT=* //REPORT DD DSN=TEMP1, //DISP=(OLD,DELETE,DELETE), //RECFM=VBA, //LRECL=137, //UNIT=SYSDA //SYSTSIN DD * ID2EMAIL GRODRIG //* * -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN Home of Florida's first LEED Gold Certified School Under Florida law, e-mail addresses are public records. If you do not want your e-mail address released in response to a public records request, do not send electronic mail to this entity. Instead, contact this office by phone or in writing. -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
Re: Rexx Exec Help Desperately Sought!
On Aug 1, 2012, at 12:07, Lizette Koehler wrote: The User's Guide for XMITIP is fairly comprehensive on how to run this in batch. The JCL and samples are good. What if the exec is being run from a batch program, what do I need to change? Rexx Exec ID2EMAIL calls via an EX the XMITIP Rexx Exec. //STEP0030 EXEC PGM=IKJEFT1B,DYNAMNBR=50 Some rules are different if you use IRXJCL instead of IKJEFT%% //SYSEXEC DD DISP=SHR,DSN=SYS2.LOCAL.CLIST // DD DISP=SHR,DSN=SYS2.LOCAL.REXX If either of those data sets contains CLISTs as opposed to Rexx, it must be in SYSPROC, not SYSEXEC. If a Rexx EXEC starts with /* Rexx ... */, it may be in either SYSPROC or SYSEXEC. HT ('05'x) characters are treated as whitespace in SYSPROC, but invalid in SYSEXEC (empirical; not documented). //STEPLIB DD DISP=SHR,DSN=SYS2.LOCAL.LINKLIB //SYSPRINT DD SYSOUT=* //SYSTSPRT DD SYSOUT=* //REPORT DD DSN=TEMP1, //DISP=(OLD,DELETE,DELETE), Hmmm... You delete it even if the step ABENDS. No do-overs. I never code DELETE on a temporary DSN since I once had a Bad Experience when I overrode to a member of a library PDS. They go away by themselves when they're supposed to. //RECFM=VBA, //LRECL=137, //UNIT=SYSDA //SYSTSIN DD * ID2EMAIL GRODRIG If XMITP is Rexx, and ID2EMAIL is Rexx and you own it, you can use a Rexx CALL instruction and bypass the ugly TSO/CLIST EX syntax entirely. I would. -- gil -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
Re: Rexx Exec Help Desperately Sought!
You can just build a regular job stream in the file and issue a TSO SUBMIT on it. -Original Message- From: IBM Mainframe Discussion List [mailto:IBM-MAIN@LISTSERV.UA.EDU] On Behalf Of George Rodriguez Sent: Tuesday, July 31, 2012 11:32 AM To: IBM-MAIN@LISTSERV.UA.EDU Subject: Rexx Exec Help Desperately Sought! Boy do I need help! From a Rexx exec that I somewhat wrote (I had help), I'm trying to execute XMITIP passing the parameters that XMITIP needs. My knowledge of the Rexx exec language is shaky at best, so I'll try to explain what I know that works. In my Rexx exec I extract the userid and from that I build an email address: first_name.last_n...@palmbeachschools.org I then start building the file that has all the XMITIP parameter cards, including the email address above into the file I've named below: File = 'TM#T.M.XMITIP.PARMCARD.userid' Records in the file created by the Rexx exec: first_name.last_n...@palmbeachschools.org + MSGDD INPUTDD + MSG72 + FROM first_name.last_n...@palmbeachschools.org + SUBJECT 'Report MTS2545P in PDF Format' + FILEDD REPORT + FILENAME MTS2545P.PDF + FORMAT PDF/LANDSCAPE + MARGIN .5/.5/.1/.1 Now this is where I need your help... If what follows is what I'm doing in the Rexx exec what are the needed parameters? EX 'SYS2.LOCAL.CLIST(XMITIP)' how and what do I say here... I'm very bad with syntax and when to use a single or double quote... Thanks in advance for any help! * * *George Rodriguez* *Specialist II - IT Solutions* *Application Support / Quality Assurance* *PX - 47652* *(561) 357-7652 (office)* *(561) 707-3496 (mobile)* *School District of Palm Beach County* *3348 Forest Hill Blvd.* *Room B-251* *West Palm Beach, FL. 33406-5869* *Florida's Only A-Rated Urban District For Seven Consecutive Years* Home of Florida's first LEED Gold Certified School Under Florida law, e-mail addresses are public records. If you do not want your e-mail address released in response to a public records request, do not send electronic mail to this entity. Instead, contact this office by phone or in writing. -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
Re: Rexx Exec Help Desperately Sought!
George Rodriguez wrote: Boy do I need help! There are (hot!) girls lurking too on IBM-MAIN... ;-D In my Rexx exec I extract the userid ... from where? Just curious. I then start building the file that has all the XMITIP parameter cards, Now this is where I need your help... If what follows is what I'm doing in the Rexx exec what are the needed parameters? EX 'SYS2.LOCAL.CLIST(XMITIP)' how and what do I say here... Based on what you wrote, I think (?) you want to execute your REXX program with the dataset as a [single] parameter. If so, try this: EX 'DSN.HOLDING.THE.EXEC(REXX EXEC)' 'Parm1 parm2 parm3 etc' Using your posted example, try this (using only one parameter): EX 'SYS2.LOCAL.CLIST(XMITIP)' 'TM#T.M.XMITIP.PARMCARD.userid' In Batch you can do this: //PLAY EXEC PGM=IKJEFT01 //SYSPRINT DD SYSOUT=* //SYSTERM DD SYSOUT=* //SYSTSPRT DD SYSOUT=* //SYSTSIN DD * EX 'SYS2.LOCAL.CLIST(XMITIP)' 'TM#T.M.XMITIP.PARMCARD.userid1' EX 'SYS2.LOCAL.CLIST(XMITIP)' 'TM#T.M.XMITIP.PARMCARD.userid2' ...etc... HTH! Groete / Greetings Elardus Engelbrecht -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN