Re: JCL PARM issue
LOL IBM -Original Message- From: IBM Mainframe Discussion List On Behalf Of Seymour J Metz Sent: Monday, December 14, 2020 1:08 PM To: IBM-MAIN@LISTSERV.UA.EDU Subject: Re: JCL PARM issue Orthogonality is conspicuous by its absence. It were ever thus. -- Shmuel (Seymour J.) Metz http://mason.gmu.edu/~smetz3 From: IBM Mainframe Discussion List [IBM-MAIN@LISTSERV.UA.EDU] on behalf of Paul Gilmartin [000433f07816-dmarc-requ...@listserv.ua.edu] Sent: Monday, December 14, 2020 12:30 PM To: IBM-MAIN@LISTSERV.UA.EDU Subject: Re: JCL PARM issue On Mon, 14 Dec 2020 11:56:53 +, Seymour J Metz wrote: >Yes - you only have one level of expansion. > And doubled ampersands in the PARMDD file are not collapsed. This is documented. I have found that there is a circumvention for the convention that prohibits using JCL symbols in quoted strings in the SET statment. Something like: // SET Q='''',X='Middle' // SET TRIAD=&QLEFT&X.&RIGHT&Q Of course that is covered by the rule: * Do not specify JCL symbols within other JCL symbols. The results can be unpredictable, especially if the imbedded JCL symbol is not previously defined. "unpredictable" is feckless engineering. IBM simply doesn't care to document the behavior lest IBM be subject to SRs when the system transgresses such rules. The JCL Ref. has 18 pages describing the behavior of symbols, mostly exceptions. This is a symptom of design inconsistency -- Conway's Law. > >From: Paul Gilmartin >Sent: Sunday, December 13, 2020 3:43 PM >> >It's time for an RFE for the equivalent of HLASM's DOUBLE BIF. No "Maybe". > >Does PARMDD handle this better? -- gil -- 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 -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
Re: JCL PARM issue
Orthogonality is conspicuous by its absence. It were ever thus. -- Shmuel (Seymour J.) Metz http://mason.gmu.edu/~smetz3 From: IBM Mainframe Discussion List [IBM-MAIN@LISTSERV.UA.EDU] on behalf of Paul Gilmartin [000433f07816-dmarc-requ...@listserv.ua.edu] Sent: Monday, December 14, 2020 12:30 PM To: IBM-MAIN@LISTSERV.UA.EDU Subject: Re: JCL PARM issue On Mon, 14 Dec 2020 11:56:53 +, Seymour J Metz wrote: >Yes - you only have one level of expansion. > And doubled ampersands in the PARMDD file are not collapsed. This is documented. I have found that there is a circumvention for the convention that prohibits using JCL symbols in quoted strings in the SET statment. Something like: // SET Q='''',X='Middle' // SET TRIAD=&QLEFT&X.&RIGHT&Q Of course that is covered by the rule: • Do not specify JCL symbols within other JCL symbols. The results can be unpredictable, especially if the imbedded JCL symbol is not previously defined. "unpredictable" is feckless engineering. IBM simply doesn't care to document the behavior lest IBM be subject to SRs when the system transgresses such rules. The JCL Ref. has 18 pages describing the behavior of symbols, mostly exceptions. This is a symptom of design inconsistency -- Conway's Law. > >From: Paul Gilmartin >Sent: Sunday, December 13, 2020 3:43 PM >> >It's time for an RFE for the equivalent of HLASM's DOUBLE BIF. No "Maybe". > >Does PARMDD handle this better? -- gil -- 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: JCL PARM issue
On Mon, 14 Dec 2020 11:56:53 +, Seymour J Metz wrote: >Yes - you only have one level of expansion. > And doubled ampersands in the PARMDD file are not collapsed. This is documented. I have found that there is a circumvention for the convention that prohibits using JCL symbols in quoted strings in the SET statment. Something like: // SET Q=,X='Middle' // SET TRIAD=&QLEFT&X.&RIGHT&Q Of course that is covered by the rule: • Do not specify JCL symbols within other JCL symbols. The results can be unpredictable, especially if the imbedded JCL symbol is not previously defined. "unpredictable" is feckless engineering. IBM simply doesn't care to document the behavior lest IBM be subject to SRs when the system transgresses such rules. The JCL Ref. has 18 pages describing the behavior of symbols, mostly exceptions. This is a symptom of design inconsistency -- Conway's Law. > >From: Paul Gilmartin >Sent: Sunday, December 13, 2020 3:43 PM >> >It's time for an RFE for the equivalent of HLASM's DOUBLE BIF. No "Maybe". > >Does PARMDD handle this better? -- gil -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
Re: JCL PARM issue
Had a similar problem. I used this solution. http://billlalonde.tripod.com/back/stup006.htm On Monday, December 14, 2020, Seymour J Metz wrote: > Yes - you only have one level of expansion. > > > -- > Shmuel (Seymour J.) Metz > http://mason.gmu.edu/~smetz3 > > > From: IBM Mainframe Discussion List [IBM-MAIN@LISTSERV.UA.EDU] on behalf > of Paul Gilmartin [000433f07816-dmarc-requ...@listserv.ua.edu] > Sent: Sunday, December 13, 2020 3:43 PM > To: IBM-MAIN@LISTSERV.UA.EDU > Subject: Re: JCL PARM issue > > On Sun, 13 Dec 2020 19:46:34 +, Seymour J Metz wrote: > > >You have a double substitution. Take the parameter you want to pass, > double the apostrophes, put apostrophes around it, double the apostrophes > and put apostrophes around that. The way you coded it, the first exapnsion > there is a blank outside of the apostrophes, making the rest of the string > a comment. > > > >Maybe it's time for an RFE to include comments in the substitution JCL. > > > It's time for an RFE for the equivalent of HLASM's DOUBLE BIF. No "Maybe". > > Does PARMDD handle this better? > > > > >From: Ze'ev Atlas > >Sent: Sunday, December 13, 2020 2:31 PM > > > >What am I doing wrongI have doubled every single quote within the string, > that should be:'''abc�*' PCRE2.TESTLIB(GRPIN)'' > >|||�|�+-+ > |||++|+--+where > the external quotes are the enclosing quotes.So the actual PARM field > looked like: > >// EXEC RUNGREP,TEST='-- Test 15 -',// > PARM1='''''abc�*'' PCRE2.TESTLIB(GRPIN)''' > >++TEST8 EXEC PGM=PCR2GREP, ++ PARM=&PARM1 >IEFC653I SUBSTITUTION JCL - > PGM=PCR2GREP,PARM=''abc�*' > >Why does JCL drop the rest of PARM1?Thank you all > > -- gil > > -- > 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 > -- OREXXMan JCL is the buggy whip of 21st century computing. Stabilize it. Put Pipelines in the z/OS base. Would you rather process data in move mode or locate mode? IBM has been looking for an HLL for program products; REXX is that language. -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
Re: JCL PARM issue
Yes - you only have one level of expansion. -- Shmuel (Seymour J.) Metz http://mason.gmu.edu/~smetz3 From: IBM Mainframe Discussion List [IBM-MAIN@LISTSERV.UA.EDU] on behalf of Paul Gilmartin [000433f07816-dmarc-requ...@listserv.ua.edu] Sent: Sunday, December 13, 2020 3:43 PM To: IBM-MAIN@LISTSERV.UA.EDU Subject: Re: JCL PARM issue On Sun, 13 Dec 2020 19:46:34 +, Seymour J Metz wrote: >You have a double substitution. Take the parameter you want to pass, double >the apostrophes, put apostrophes around it, double the apostrophes and put >apostrophes around that. The way you coded it, the first exapnsion there is a >blank outside of the apostrophes, making the rest of the string a comment. > >Maybe it's time for an RFE to include comments in the substitution JCL. > It's time for an RFE for the equivalent of HLASM's DOUBLE BIF. No "Maybe". Does PARMDD handle this better? > >From: Ze'ev Atlas >Sent: Sunday, December 13, 2020 2:31 PM > >What am I doing wrongI have doubled every single quote within the string, that >should be:'''abc�*' PCRE2.TESTLIB(GRPIN)'' >|||�|�+-+ >|||++|+--+where the >external quotes are the enclosing quotes.So the actual PARM field looked like: >// EXEC RUNGREP,TEST='-- Test 15 -',// >PARM1='''''abc�*'' PCRE2.TESTLIB(GRPIN)''' >++TEST8 EXEC PGM=PCR2GREP, ++ PARM=&PARM1 > IEFC653I SUBSTITUTION JCL - >PGM=PCR2GREP,PARM=''abc�*' >Why does JCL drop the rest of PARM1?Thank you all -- gil -- 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: JCL PARM issue
Ridiculous! Not you, of course, but the doubling and quadrupling of quotes. There needs to be a better way. CharlesSent from a mobile; please excuse the brevity. Original message From: Ze'ev Atlas <004b34e7c98a-dmarc-requ...@listserv.ua.edu> Date: 12/13/20 5:39 PM (GMT-08:00) To: IBM-MAIN@LISTSERV.UA.EDU Subject: Re: JCL PARM issue It seems to work with 7 quotes in the beginning, etc.Thank you--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: JCL PARM issue
It seems to work with 7 quotes in the beginning, etc. Thank you -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
Re: JCL PARM issue
RFE? -- Shmuel (Seymour J.) Metz http://mason.gmu.edu/~smetz3 From: IBM Mainframe Discussion List [IBM-MAIN@LISTSERV.UA.EDU] on behalf of Charles Mills [charl...@mcn.org] Sent: Sunday, December 13, 2020 4:05 PM To: IBM-MAIN@LISTSERV.UA.EDU Subject: Re: JCL PARM issue Do you think IBM would conceivably embrace the idea of PARM= honoring " (quotation marks) as delimiters? PARM="'abc�*' PCRE2.TESTLIB(GRPIN)" would be a lot clearer than PARM='''abc�*' PCRE2.TESTLIB(GRPIN)'' I find products that allow the use of either " or ' to delimit strings to be a lot easier to use. "Don't touch!" is a lot clearer (to me at least) than 'Don''t touch!'. Charles -Original Message- From: IBM Mainframe Discussion List [mailto:IBM-MAIN@LISTSERV.UA.EDU] On Behalf Of Paul Gilmartin Sent: Sunday, December 13, 2020 12:44 PM To: IBM-MAIN@LISTSERV.UA.EDU Subject: Re: JCL PARM issue On Sun, 13 Dec 2020 19:46:34 +, Seymour J Metz wrote: >You have a double substitution. Take the parameter you want to pass, double >the apostrophes, put apostrophes around it, double the apostrophes and put >apostrophes around that. The way you coded it, the first exapnsion there is a >blank outside of the apostrophes, making the rest of the string a comment. > >Maybe it's time for an RFE to include comments in the substitution JCL. > It's time for an RFE for the equivalent of HLASM's DOUBLE BIF. No "Maybe". Does PARMDD handle this better? > >From: Ze'ev Atlas >Sent: Sunday, December 13, 2020 2:31 PM > >What am I doing wrongI have doubled every single quote within the string, that >should be:'''abc�*' PCRE2.TESTLIB(GRPIN)'' >|||�|�+-+ >|||++|+--+where the >external quotes are the enclosing quotes.So the actual PARM field looked like: >// EXEC RUNGREP,TEST='-- Test 15 -',// >PARM1='''''abc�*'' PCRE2.TESTLIB(GRPIN)''' >++TEST8 EXEC PGM=PCR2GREP, ++ PARM=&PARM1 > IEFC653I SUBSTITUTION JCL - >PGM=PCR2GREP,PARM=''abc�*' >Why does JCL drop the rest of PARM1?Thank you all -- gil -- 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 -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
Re: JCL PARM issue
If you want a value of "'abc¬*' PCRE2.TESTLIB(GRPIN)" then you need PARM='''abc¬*'' PCRE2.TESTLIB(GRPIN)' in your expanded JCL. to get that you need SET SYMBOL='''''''abc¬*'''' PCRE2.TESTLIB(GRPIN)'''; I haven't tested this. -- Shmuel (Seymour J.) Metz http://mason.gmu.edu/~smetz3 From: IBM Mainframe Discussion List [IBM-MAIN@LISTSERV.UA.EDU] on behalf of Ze'ev Atlas [0000004b34e7c98a-dmarc-requ...@listserv.ua.edu] Sent: Sunday, December 13, 2020 4:11 PM To: IBM-MAIN@LISTSERV.UA.EDU Subject: Re: JCL PARM issue Could you please apply that to my original parameter as the program should see it: [Take the parameter you want to pass, double the apostrophes, put apostrophes around it, double the apostrophes and put apostrophes around that] Do you mean: 1. 'abc¬*' PCRE2.TESTLIB(GRPIN) 2. ''abc¬*'' PCRE2.TESTLIB(GRPIN) 3. '''abc¬*'' PCRE2.TESTLIB(GRPIN)' 4. ''''''abc¬*'''' PCRE2.TESTLIB(GRPIN)'' 5. '''''''abc¬*'''' PCRE2.TESTLIB(GRPIN)''' I will try that ZA -- 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: JCL PARM issue
On Sun, 13 Dec 2020 13:05:41 -0800, Charles Mills wrote: >Do you think IBM would conceivably embrace the idea of PARM= honoring " >(quotation marks) as delimiters? > >PARM="'abc�*' PCRE2.TESTLIB(GRPIN)" > >would be a lot clearer than > >PARM='''abc�*' PCRE2.TESTLIB(GRPIN)'' > >I find products that allow the use of either " or ' to delimit strings to be a >lot easier to use. "Don't touch!" is a lot clearer (to me at least) than >'Don''t touch!'. > (What are the non-ASCII characters? MUA too smart by half?) Rexx rules! Simply, characters introduced by symbol substitution are *never* recognized as metacharacters, so with simple doubling but not redoubling, and not resorting to alternate delimiters: verb = 'isn''t' phrase = verb 'good' sentence = 'This' phrase'.' say sentence prints: This isn't good. Lexical catenation is also valuable. -- gil -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
Re: JCL PARM issue
Could you please apply that to my original parameter as the program should see it: [Take the parameter you want to pass, double the apostrophes, put apostrophes around it, double the apostrophes and put apostrophes around that] Do you mean: 1. 'abc¬*' PCRE2.TESTLIB(GRPIN) 2. ''abc¬*'' PCRE2.TESTLIB(GRPIN) 3. '''abc¬*'' PCRE2.TESTLIB(GRPIN)' 4. ''abc¬* PCRE2.TESTLIB(GRPIN)'' 5. '''abc¬* PCRE2.TESTLIB(GRPIN)''' I will try that ZA -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
Re: JCL PARM issue
Do you think IBM would conceivably embrace the idea of PARM= honoring " (quotation marks) as delimiters? PARM="'abc�*' PCRE2.TESTLIB(GRPIN)" would be a lot clearer than PARM='''abc�*' PCRE2.TESTLIB(GRPIN)'' I find products that allow the use of either " or ' to delimit strings to be a lot easier to use. "Don't touch!" is a lot clearer (to me at least) than 'Don''t touch!'. Charles -Original Message- From: IBM Mainframe Discussion List [mailto:IBM-MAIN@LISTSERV.UA.EDU] On Behalf Of Paul Gilmartin Sent: Sunday, December 13, 2020 12:44 PM To: IBM-MAIN@LISTSERV.UA.EDU Subject: Re: JCL PARM issue On Sun, 13 Dec 2020 19:46:34 +, Seymour J Metz wrote: >You have a double substitution. Take the parameter you want to pass, double >the apostrophes, put apostrophes around it, double the apostrophes and put >apostrophes around that. The way you coded it, the first exapnsion there is a >blank outside of the apostrophes, making the rest of the string a comment. > >Maybe it's time for an RFE to include comments in the substitution JCL. > It's time for an RFE for the equivalent of HLASM's DOUBLE BIF. No "Maybe". Does PARMDD handle this better? > >From: Ze'ev Atlas >Sent: Sunday, December 13, 2020 2:31 PM > >What am I doing wrongI have doubled every single quote within the string, that >should be:'''abc�*' PCRE2.TESTLIB(GRPIN)'' >|||�|�+-+ >|||++|+--+where the >external quotes are the enclosing quotes.So the actual PARM field looked like: >// EXEC RUNGREP,TEST='-- Test 15 -',// >PARM1='''''abc�*'' PCRE2.TESTLIB(GRPIN)''' >++TEST8 EXEC PGM=PCR2GREP, ++ PARM=&PARM1 > IEFC653I SUBSTITUTION JCL - >PGM=PCR2GREP,PARM=''abc�*' >Why does JCL drop the rest of PARM1?Thank you all -- gil -- 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: JCL PARM issue
On Sun, 13 Dec 2020 19:46:34 +, Seymour J Metz wrote: >You have a double substitution. Take the parameter you want to pass, double >the apostrophes, put apostrophes around it, double the apostrophes and put >apostrophes around that. The way you coded it, the first exapnsion there is a >blank outside of the apostrophes, making the rest of the string a comment. > >Maybe it's time for an RFE to include comments in the substitution JCL. > It's time for an RFE for the equivalent of HLASM's DOUBLE BIF. No "Maybe". Does PARMDD handle this better? > >From: Ze'ev Atlas >Sent: Sunday, December 13, 2020 2:31 PM > >What am I doing wrongI have doubled every single quote within the string, that >should be:'''abc�*' PCRE2.TESTLIB(GRPIN)'' >|||�|�+-+ >|||++|+--+where the >external quotes are the enclosing quotes.So the actual PARM field looked like: >// EXEC RUNGREP,TEST='-- Test 15 -',// >PARM1='abc�*'' PCRE2.TESTLIB(GRPIN)''' >++TEST8 EXEC PGM=PCR2GREP, ++ PARM=&PARM1 > IEFC653I SUBSTITUTION JCL - >PGM=PCR2GREP,PARM=''abc�*' >Why does JCL drop the rest of PARM1?Thank you all -- gil -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
Re: JCL PARM issue
Forget the enclosing quotes and the JCL quote-doubling rules. Show us the exact text you want PCR2GREP to see when it executes. > -Original Message- > From: IBM Mainframe Discussion List On > Behalf Of Ze'ev Atlas > Sent: Sunday, December 13, 2020 11:32 AM > To: IBM-MAIN@LISTSERV.UA.EDU > Subject: JCL PARM issue > > What am I doing wrongI have doubled every single quote within the string, that > should be:'''abc¬*' PCRE2.TESTLIB(GRPIN)'' > ||| | +-+ > |||++|+ > --+where the external quotes are the enclosing quotes.So the actual > PARM field > looked like: > // EXEC RUNGREP,TEST='-- Test 15 -',// > PARM1='''''abc¬*'' > PCRE2.TESTLIB(GRPIN)''' > ++TEST8 EXEC > PGM=PCR2GREP, ++ PARM=&PARM1 >IEFC653I SUBSTITUTION JCL - PGM=PCR2GREP,PARM=''abc¬*' > Why does JCL drop the rest of PARM1?Thank you all > > Ze'ev Atlas -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
Re: JCL PARM issue
You have a double substitution. Take the parameter you want to pass, double the apostrophes, put apostrophes around it, double the apostrophes and put apostrophes around that. The way you coded it, the first exapnsion there is a blank outside of the apostrophes, making the rest of the string a comment. Maybe it's time for an RFE to include comments in the substitution JCL. -- Shmuel (Seymour J.) Metz http://mason.gmu.edu/~smetz3 From: IBM Mainframe Discussion List [IBM-MAIN@LISTSERV.UA.EDU] on behalf of Ze'ev Atlas [004b34e7c98a-dmarc-requ...@listserv.ua.edu] Sent: Sunday, December 13, 2020 2:31 PM To: IBM-MAIN@LISTSERV.UA.EDU Subject: JCL PARM issue What am I doing wrongI have doubled every single quote within the string, that should be:'''abc¬*' PCRE2.TESTLIB(GRPIN)'' ||| | +-+ |||++|+--+where the external quotes are the enclosing quotes.So the actual PARM field looked like: // EXEC RUNGREP,TEST='-- Test 15 -',// PARM1='''''abc¬*'' PCRE2.TESTLIB(GRPIN)''' ++TEST8 EXEC PGM=PCR2GREP, ++ PARM=&PARM1 IEFC653I SUBSTITUTION JCL - PGM=PCR2GREP,PARM=''abc¬*' Why does JCL drop the rest of PARM1?Thank you all Ze'ev Atlas -- 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
JCL PARM issue
What am I doing wrongI have doubled every single quote within the string, that should be:'''abc¬*' PCRE2.TESTLIB(GRPIN)'' ||| | +-+ |||++|+--+where the external quotes are the enclosing quotes.So the actual PARM field looked like: // EXEC RUNGREP,TEST='-- Test 15 -',// PARM1='abc¬*'' PCRE2.TESTLIB(GRPIN)''' ++TEST8 EXEC PGM=PCR2GREP, ++ PARM=&PARM1 IEFC653I SUBSTITUTION JCL - PGM=PCR2GREP,PARM=''abc¬*' Why does JCL drop the rest of PARM1?Thank you all Ze'ev Atlas -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN