IBM Mainframe Forum Index
 
Log In
 
IBM Mainframe Forum Index Mainframe: Search IBM Mainframe Forum: FAQ Register
 

IRXJCL & PARMS


IBM Mainframe Forums -> JCL & VSAM
Post new topic   Reply to topic
View previous topic :: View next topic  
Author Message
m204prgmr2

New User


Joined: 15 Feb 2021
Posts: 5
Location: United States

PostPosted: Mon Feb 15, 2021 5:22 pm
Reply with quote

Greetings and thanks to everyone for being here to help
I do not know if this is a JCL or REXX issue.

I have displayed 3 blocks if information
1) JCL code
2) JCL code after doing !JCK
3) REXX code called (RREP1)

My issue is trying to add a second line of PARMS
I suspect it might be the way REXX is written?
Or, it's my JCL.
I have also tried placing the second line variable @column 14 and I get the same results.

******************************************************************

//REPSTMR1 EXEC PGM=IRXJCL,
// PARM='RREP1 @ST=&STATION @FY=&FY4 @KEY=&SVKEY @RPTID=DONE,
// @REG=&REGION'
//SYSEXEC DD DSN=XXXXXX.XXX.XXXXX,DISP=SHR * <--REXX CODE
//SYSTSPRT DD SYSOUT=*
//*

******************************************************************


//****************************************************************
//REPSTMR1 EXEC PGM=IRXJCL,
//REPSTMR1 EXEC PGM=IRXJCL,
// PARM='RREP1 @ST=&STATION @FY=&FY4 @KEY=&SVKEY @RPTID=DONE,
// PARM="RREP1 @ST=&STATION @FY=&FY4 @KEY=&SVKEY @RPTID=DONE,
SUBST JCL - PARM="RREP1 @ST=550 @FY=2021 @KEY=* @RPTID=DONE,
// @REG=&REGION'
// @REG=&REGION"
CAY6020E EXPECTED CONTINUATION NOT RECEIVED

// @REG=&REGION"
CAY6006S VERB "@REG=" IS UNKNOWN

//SYSEXEC DD DSN=XXXXXX.XXX.XXXXX,DISP=SHR * <--REXX CODE
//SYSTSPRT DD SYSOUT=*
//*
//****************************************************************

******************************************************************

ARG V.1 V.2 V.3 V.4 V.5 V.6 V.7 V.8
"EXECIO * DISKR IN (FIFO FINIS)"
SAY ' TRANSLATION LIST'
SAY 'VARIABLE VALUE'
SAY ' '
DO I=1 TO 8
IF V.I<>'' & INDEX(V.I,'=')>0 THEN DO
VAR.I=SUBSTR(V.I,1,INDEX(V.I,'=')-1)
VAL.I=STRIP(SUBSTR(V.I,INDEX(V.I,'=')+1,20))
SAY VAR.I ' TO ' VAL.I
NVARS=I
END
END
DO WHILE QUEUED()>0
PULL INDAT1
/*LREC=LENGTH(INDAT1) */
LREC=72
DO I=1 TO NVARS
DO WHILE INDEX(INDAT1,VAR.I)>0
IND=INDEX(INDAT1,VAR.I)
LVAR=LENGTH(VAR.I)
INDAT1 = SUBSTR(INDAT1,1,IND-1)||,
VAL.I||SUBSTR(INDAT1,IND+LVAR,LREC-(IND-1)-LVAR)
END
END
"EXECIO 1 DISKW OUT (STEM INDAT)"
END
"EXECIO 0 DISKW OUT (FINIS)"

******************************************************************
Back to top
View user's profile Send private message
enrico-sorichetti

Senior Moderator


Joined: 14 Mar 2007
Posts: 10731
Location: italy

PostPosted: Mon Feb 15, 2021 5:34 pm
Reply with quote

Quote:
CAY6020E EXPECTED CONTINUATION NOT RECEIVED


You are running a jcl checker, zOS does not even look at the jcl

so why in heaven trying to blame IRXJCL/REXX

read the jcl manual about the rule for statement continuation
continuation of a parm is a bit trickier
Back to top
View user's profile Send private message
m204prgmr2

New User


Joined: 15 Feb 2021
Posts: 5
Location: United States

PostPosted: Mon Feb 15, 2021 6:08 pm
Reply with quote

enrico-sorichetti
Why the hostility? And, who said anything about 'blame'? I've come here for help. I have gone through the manual. My comma on line 1 of PARM is at column 70. The variable on line 2 is at 16. If I SUB, I'll see the same message in the job. I have tried () around the entire parm. I have tried placing everything in single quotes. If you know the resolve, please share or point me to a page where I can see something different and try.
Back to top
View user's profile Send private message
enrico-sorichetti

Senior Moderator


Joined: 14 Mar 2007
Posts: 10731
Location: italy

PostPosted: Mon Feb 15, 2021 6:19 pm
Reply with quote

no hostility here,
since You posted to the EXPERT forum
people who answer expect that the topic starter ( you in this case ) has at least read and understood the error messages received


I do not have the icl manual handy
as I said the continuation of the parm is pretty tricky.
IIRC it need a continuation indicator at column 72
Back to top
View user's profile Send private message
sergeyken

Active Member


Joined: 29 Apr 2008
Posts: 967
Location: Maryland

PostPosted: Mon Feb 15, 2021 7:15 pm
Reply with quote

RTFM - JCL!!!!

It’ a shame, to ask such questions!!!! Here!!!!!!!

Code:
// ... PARM=(‘xxxxxx,yyyyyy’,
//           ‘zzzzzzzz’,
//           ‘aaaaa,bbbbb’)

12.gif icon_pray.gif icon_axe.gif
Back to top
View user's profile Send private message
Willy Jensen

Active User


Joined: 01 Sep 2015
Posts: 419
Location: Denmark

PostPosted: Mon Feb 15, 2021 7:41 pm
Reply with quote

As sergeyken wrote, you need to enclose the parameters in paranthesis. But be aware that JCL will add a comma after each line. Also an old-style JCL parameter can only be 100 chars wide. If you need more then take a look at the PARMDD parameter.
Back to top
View user's profile Send private message
sergeyken

Active Member


Joined: 29 Apr 2008
Posts: 967
Location: Maryland

PostPosted: Mon Feb 15, 2021 7:54 pm
Reply with quote

sergeyken wrote:
RTFM - JCL!!!!

It’ a shame, to ask such questions!!!! Here!!!!!!!

Code:
// ... PARM=(‘xxxxxx,yyyyyy’,
//           ‘zzzzzzzz’,
//           ‘aaaaa,bbbbb’)

12.gif icon_pray.gif icon_axe.gif

Clarification. After substitution and JCL parsing, the final PARM value will be passed into the program as
Code:
// ... PARM=‘xxxxxx,yyyyyy,zzzzzzzz,aaaah,bbbbb’

The limitation on 100 characters is applied to this final number of characters between quotes, after all SET parameters are substituted, and continuation lines of PARM have been concatenated as shown above. The finalized commas are also included into this 100 limit, but no quote is counted, unless it is explicitely inserted in the middle of parameters as “double quote”.
Back to top
View user's profile Send private message
m204prgmr2

New User


Joined: 15 Feb 2021
Posts: 5
Location: United States

PostPosted: Mon Feb 15, 2021 8:03 pm
Reply with quote

Thanks much Willy!! I did try () and it did not work. Everything I have seen and read reference nothing past column 72 and with continuation, don't start past column 16.
Sergeyken,
Your example worked, and is the only one I did not see in a JCL book or on the web, thank you. I'm sorry that you're so angry to answer saying it's a shame for me posting a question like I did. I'm not a JCL EXPERT nor does this forum name reference EXPERT. It says JCL.

Three people were kind enough to reply to my issue. 2/3 did so initially as if it was a lot of work for them to do so. Why are you even here if you're not willing to help in a civil manner? I mean no disrespect to anyone here. In fact, I marvel at your intelligence and wish I had 10% of it. I would imagine that for kicks, some of you love to toy around in the nucleus of the mainframe. To me, I think of that intelligence to be able to do so, and smile. Your talents are exceptional. Please remember, at one time, you did not know all that you now know.
Back to top
View user's profile Send private message
sergeyken

Active Member


Joined: 29 Apr 2008
Posts: 967
Location: Maryland

PostPosted: Mon Feb 15, 2021 8:10 pm
Reply with quote

m204prgmr2 wrote:
Sergeyken,
Your example worked, and is the only one I did not see in a JCL book or on the web, thank.

In my life, I have read it in the very first JCL manual I’ve ever seen. It was approx. in 1975, or so; hard to recall now.
Are you sure you was reading a JCL manual, but not something else?...
It is very, very far from any JCL Expert. It is a very, very, very, very, very beginning of IBM programming approach.
Back to top
View user's profile Send private message
m204prgmr2

New User


Joined: 15 Feb 2021
Posts: 5
Location: United States

PostPosted: Mon Feb 15, 2021 8:41 pm
Reply with quote

As mentioned, I had not seen an example of, nor read your working reply. I am VERY grateful that ppl were awake and chimed in. Seriously, I really am.
Back to top
View user's profile Send private message
Joerg.Findeisen

Active User


Joined: 15 Aug 2015
Posts: 398
Location: Bamberg, Germany

PostPosted: Mon Feb 15, 2021 10:44 pm
Reply with quote

As something IBM has done to relief the 100 Char Limit in Parms, search for PARMDD JCL statement.
Code:
*** The PARMDD parameter is only valid on z/OS V2R1 and higher systems ***   
                                                                             
     The optional PARMDD keyword is used in conjunction with a DD statement 
     to pass variable information to the processing program executed by this
     job step. To use the information, the processing program must contain   
     instructions to retrieve the information.                               
                                                                             
     PARMDD= was added to JCL to lift the decades-long restriction of 100   
     characters or less supported for the PARM= keyword on the EXEC         
     statement.
Back to top
View user's profile Send private message
m204prgmr2

New User


Joined: 15 Feb 2021
Posts: 5
Location: United States

PostPosted: Mon Feb 15, 2021 10:59 pm
Reply with quote

Joerg,
Thanks VERY much! I will research your recommendation
Back to top
View user's profile Send private message
View previous topic :: :: View next topic  
Post new topic   Reply to topic View Bookmarks
All times are GMT + 6 Hours
Forum Index -> JCL & VSAM

 


Similar Topics
Topic Forum Replies
This topic is locked: you cannot edit posts or make replies. Splice JCL into one record for DD sta... SYNCSORT 2
No new posts Jcl pram vs proc parms JCL & VSAM 3
No new posts Passing parms when calling ISRSUPC(su... COBOL Programming 3
No new posts NDVRC1 Parms CA Products 0
No new posts parms across different procs within a... JCL & VSAM 8
Search our Forums:

Back to Top