Joined: 15 Feb 2021 Posts: 7 Location: United States
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.
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)"
Joined: 15 Feb 2021 Posts: 7 Location: United States
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.
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.
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”.
Joined: 15 Feb 2021 Posts: 7 Location: United States
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.
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.
Joined: 15 Aug 2015 Posts: 1348 Location: Bamberg, Germany
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.