View previous topic :: View next topic
|
Author |
Message |
Soumya Roy
New User
Joined: 19 Feb 2009 Posts: 10 Location: Bangalore
|
|
|
|
Hi All,
I am trying to run a COBOL program which creates a BANNER page. It accepts inputs from PARM hardcoded in JCL.
The PARM starts with a "/" in the 1st byte position like:
"/M|". The PARM is of 37 characters.
However while running I am getting some information messages in the SYSOUT. Please refer below.
CEE3608I The following messages pertain to the invocation command run-time options.
CEE3606I The string was too long and was ignored.
I tried with removing the "/" in the 1st byte position and I didn't get those above messages.
Can anyone please suggest how to Suppress the info messages in SYSOUT as I can not remove the "/" in the 1st byte position of the PARM.
Thanks
Soumya Roy |
|
Back to top |
|
|
Robert Sample
Global Moderator
Joined: 06 Jun 2008 Posts: 8700 Location: Dubuque, Iowa, USA
|
|
|
|
Language Environment uses a slash separator in the PARM to separate its run time parameters from parameters passed to the application program. You would have to search the LE documentation to see if the slash can be changed -- I have never had a need to do this so I've never searched for it. |
|
Back to top |
|
|
Soumya Roy
New User
Joined: 19 Feb 2009 Posts: 10 Location: Bangalore
|
|
|
|
The Parm coded in JCL is like:
"/M|WELCOME|M|SOUMYA ROY|M|MTY3-F5"
In the linkage section of the program, the declaration is like:
01 parm-data.
05 parm-len pic s9(4) comp.
05 parm-data pic x(95).
after getting the parms through the linkage section, it is being loaded into an array and is being processed to print the BANNER.
***Note***
In the program, we are omitting the "/" at the 1st byte position to be printed in the BANNER.
Please let me know if this helps. |
|
Back to top |
|
|
Robert Sample
Global Moderator
Joined: 06 Jun 2008 Posts: 8700 Location: Dubuque, Iowa, USA
|
|
|
|
Quote: |
Can anyone please suggest how to Suppress the info messages in SYSOUT as I can not remove the "/" in the 1st byte position of the PARM. |
From what I can tell in the LE manuals, you have exactly two choices:
1. Remove the '/' in the PARM statement, or
2. Live with the CEE messages from LE.
I do not see in the manual where LE will accept anything except a slash, so if you cannot get rid of the slash in the parameter then you'll have to live with the LE messages. |
|
Back to top |
|
|
dbzTHEdinosauer
Global Moderator
Joined: 20 Oct 2006 Posts: 6966 Location: porcelain throne
|
|
|
|
Quote: |
as I can not remove the "/" in the 1st byte position of the PARM. |
same o' same o' BS |
|
Back to top |
|
|
mmwife
Super Moderator
Joined: 30 May 2003 Posts: 1592
|
|
|
|
Soumya Roy,
What did the exec stmt look like before you added your changes? |
|
Back to top |
|
|
Soumya Roy
New User
Joined: 19 Feb 2009 Posts: 10 Location: Bangalore
|
|
|
|
Hi All,
Thanks for the suggestions...
One more thing...
Regarding the question below.
"What did the exec stmt look like before you added your changes?"
Could you please clarify exactly what do you want...because I'm not clear about the question.
Thanks and Regards,
Soumya Roy |
|
Back to top |
|
|
Ranjithkumar
New User
Joined: 10 Sep 2008 Posts: 93 Location: India
|
|
|
|
@Soumya
1. Provide the EXEC statement in your JCL where you pass the PARM to your program.
2. Provide the Linkage section of your program, used to hold the PARM variables.
3. If this JCL was something which was running fine before you made any changes , please provide the code with and without your changes. |
|
Back to top |
|
|
enrico-sorichetti
Superior Member
Joined: 14 Mar 2007 Posts: 10888 Location: italy
|
|
|
|
just to clarify things a bit....
the parm string passed to the programs compiled with the more modern compilers or running in an LE environment
is divided into two parts separated by a slash "/",
one is passed and processed by the run time component of the language or LE to modify the run time environment
( for example to define the heap size , see the language and/or the LE manuals for details )
the other one is passed to the user program
according to the installation customization and the standards it is possible to nullify,avoid the run time modification
the best source of info for this issue is Your support, they knoe the customizations
that have been done and can advice on how to proceed |
|
Back to top |
|
|
Soumya Roy
New User
Joined: 19 Feb 2009 Posts: 10 Location: Bangalore
|
|
|
|
Ranjithkumar wrote: |
@Soumya
1. Provide the EXEC statement in your JCL where you pass the PARM to your program.
2. Provide the Linkage section of your program, used to hold the PARM variables.
3. If this JCL was something which was running fine before you made any changes , please provide the code with and without your changes. |
Hi Ranjith,
The EXEC statement looks like,
STEP1 EXEC PGM=PGMNAME,REGION=XK,
PARM='/M|SOUMYA|M|ROY|M|SAC-F5'
And the linkage section looks like,
01 parm-data.
05 parm-length pic s9(4) comp.
05 parm-input pic x(95).
Hope this helps.
Actually the earlier program was written in PL/I. This problem appreared after converting it to COBOL. |
|
Back to top |
|
|
Ranjithkumar
New User
Joined: 10 Sep 2008 Posts: 93 Location: India
|
|
|
|
Soumya
The '/' is a requirement for passing PARM to PL/I programs. Any value given in the PARM before '/' are PL/I related runtime parms and PL/I will pass the value after the '/' to your program.
Since you've converted it to COBOL, you should remove the '/' from the PARM. |
|
Back to top |
|
|
dbzTHEdinosauer
Global Moderator
Joined: 20 Oct 2006 Posts: 6966 Location: porcelain throne
|
|
|
|
Soumya Roy,
Quote: |
This problem appreared after converting it to COBOL. |
you continually insist to ignore the fact
that with COBOL, the PARM syntax is different.
So, the program language changed,
at what point will you accept the fact
that you also have to change the parm syntax? |
|
Back to top |
|
|
|