View previous topic :: View next topic
|
Author |
Message |
Bindunat
New User
Joined: 10 Jun 2005 Posts: 5
|
|
|
|
I've to pass a numeric data of size 3 to cobol program from jcl. In the jcl, the coding is
//step01 exec pgm=cblex,parm=100
In the cobol I declared the parm in linkage section as
pic 9(03) type.
But when the value is passed from jcl to cobol, the declared variable in linkage section shows an illegal data in numeric field.Can anyone help me with this. |
|
Back to top |
|
|
superk
Global Moderator
Joined: 26 Apr 2004 Posts: 4652 Location: Raleigh, NC, USA
|
|
|
|
I'm not a COBOL programmer, but the basic process worked OK for me:
Code: |
LINKAGE SECTION.
01 PARM.
03 PARM-LENGTH PIC S9(04) COMP SYNC.
03 THE-PARM.
05 PARM-1 PIC 9(03).
PROCEDURE DIVISION USING PARM.
DISPLAY THE-PARM.
MOVE ZEROS TO RETURN-CODE.
STOP RUN.
|
Code: |
//STEP0001 EXEC PGM=PROG40,PARM=100
//STEPLIB DD DISP=SHR,DSN=&SYSUID..COBOL.LOAD
//SYSOUT DD SYSOUT=*
|
Code: |
...|....10...+....20...+....30...+....40..
100
|
|
|
Back to top |
|
|
MGIndaco
Active User
Joined: 10 Mar 2005 Posts: 432 Location: Milan, Italy
|
|
|
|
The declaration of the parm must be as follows:
Code: |
LINKAGE SECTION.
01 LK-PARM.
02 LK-PARM-LENGTH PIC 9(3).
02 LK-PARM-DATI PIC XXX.
PROCEDURE DIVISION USING LK-PARM.
|
Correct me if I'm wrong. |
|
Back to top |
|
|
Girishm
New User
Joined: 09 Mar 2005 Posts: 35 Location: Mysore
|
|
|
|
Hi bindu,
Definately U missed out the parm-length field in the linkage section.
declare your linkage section as shown by superk and see your output how it looks.
___________
GM |
|
Back to top |
|
|
Bindunat
New User
Joined: 10 Jun 2005 Posts: 5
|
|
|
|
Thanks for the help guys |
|
Back to top |
|
|
|