So I figured I'd test this, rather than just guessing or trying to remember
what is true.
//CLGO JOB ,'COMPILE/LINK/GO',NOTIFY=&SYSUID
// SET COBLIB=IGY.V5R2M0
// JCLLIB ORDER=(&COBLIB..SIGYPROC)
//*----------------------------------------------------------*
//CLGO EXEC IGYWCLG,GOPGM=TEST1,
// LNGPRFX=&COBLIB,
//***** PARM.COBOL='TEST',
//***** PARM.LKED='LIST=NOIMP MAP XREF LET=0',
//***** PARM.GO='THIS IS A TEST'
// PARMDD.COBOL=PARMS,
// PARMDD.LKED=PARMS,
// PARMDD.GO=PARMS
//COBOL.SYSIN DD *
ID DIVISION.
PROGRAM-ID. 'TEST1'.
PROCEDURE DIVISION.
DISPLAY 'TEST1'
STOP RUN.
END PROGRAM 'TEST1'.
//COBOL.PARMS DD *
TEST
RULES(ENDPERIOD,EVENPACK,LAXPERF,NOSLACKBYTES)
ARITH(EXTEND)
CODEPAGE(1047)
DLL
INITCHECK
PGMNAME(LONGMIXED)
NOADATA
NOADV
AFP(VOLATILE)
ARCH(9)
QUOTE
AWO
BLOCK0
BUFSIZE(30000)
NOCICS
NOCOMPILE(S)
CURRENCY('Y')
DATA(31)
NODBCS
NSYMBOL(DBCS)
NODECK
NODIAGTRUNC
DISPSIGN(SEP)
NODUMP
NODYNAM
NOEXIT
NOEXPORTALL
NOFASTSRT
FLAG(W,W)
NOFLAGSTD
HGPR(PRESERVE)
INTDATE(ANSI)
/*
//LKED.PARMS DD *
LIST=NOIMP,
MAP,
XREF,
LET=0,
/*
//GO.PARMS DD *
THIS IS A TEST
/*
//GO.SYSOUT DD SYSOUT=*
//
Results:
PP 5655-W32 IBM Enterprise COBOL for z/OS 5.2.0 Date
02/14/2018 Time 11:30:16 Page 1
Invocation parameters:
TEST RULES(ENDPERIOD,EVENPACK,LAXPERF,NOSLACKBYTES) ARITH(EXTEND)
CODEPAGE(1047) DLL INITCHECK PGMNAME(LONGMIXED)
AFP(VOLATILE) ARCH(9) QUOTE AWO BLOCK0 BUFSIZE(30000) NOCICS NOCOMPILE(S)
CURRENCY('Y') DATA(31) NODBCS NSYMBOL(DBCS) NODECK
NODIAGTRUNC DISPSIGN(SEP) NODUMP NODYNAM NOEXIT NOEXPORTALL NOFASTSRT
FLAG(W,W) NOFLAGSTD HGPR(PRESERVE) INTDATE(ANSI)
So I would say that the assertion that there is some limit of 255 characters
appears to not be true. The limit of 100 for PARM is still true, but using
PARMDD seems to allow more than 255, and I'm guessing up to whatever the PARMDD
limit is (32767?).
Would this be a way to satisfy the need for this RFE? They could do
PARMDD=SYSOPTF in their JCL and not need to specify OPTFILE at all.
________________________________
From: IBM Mainframe Discussion List <[email protected]> on behalf of Tom
Ross <[email protected]>
Sent: Tuesday, February 13, 2018 4:42 PM
To: [email protected]
Subject: Re: Question for COBOL users
We added OPTFILE as a response to customer request, I believe it was
well before PARMDD, but not positive.
Someone else asked what the COMPILER limit for reading the PARM=
options string is, but there is none. There is a JCL/JES limit of
255 bytes. There is no limit for SYSOPTF (using OPTFILE).
It seems pretty clear that we cannot change the default behavior to
read SYSOPTF whenever it is present, regardless of OPTFILE, so we
will probably add another (sigh) compiler option
>There is nothing to prevent a user or product to go ahead and use
>PARMDD, and it could point to the program's (compiler's) specific
>overrides. The program (compiler) can only read the PARM for the
>length it specifies (100/255) until modified to allow a parm length of
>32K. Maybe a couple releases down the road you can give a warning
>message that the program (compiler) specific parm will be removed.
Cheers,
TomR >> COBOL is the Language of the Future! <<
----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to [email protected] with the message: INFO IBM-MAIN
----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to [email protected] with the message: INFO IBM-MAIN