Portal | IBM Manuals | Downloads | Products | Refer | Info | Programs | JCLs | Forum Rules*| Site Map | Mainframe CD 
IBMMAINFRAMES.com - IBM Mainframe Support Forums Index
 
Register
 
IBMMAINFRAMES.com - IBM Mainframe Support Forums Index FAQ Search Memberlist Usergroups Profile Log in to check your private messages Log in
 
please help me, with my program cobol + jcl in zos 1.6+ispf
Goto page 1, 2  Next
 
Post new topic   Reply to topic    IBMMAINFRAMES.com Support Forums -> Mainframe COBOL
Author Message
batusai

New User


Joined: 21 Aug 2008
Posts: 14
Location: lima peru

PostPosted: Fri Aug 22, 2008 11:14 am    Post subject: please help me, with my program cobol + jcl in zos 1.6+ispf
Reply with quote

hello I am not speaking ingles very much, but I have one problem with my program cobol batch and jcl, please help me thanks

-I have one zos 1.6 with ispf
-I create two datasets
1.- to cobol
2.- to my jcl

this is the first dataset for cobol


this is my probram cobol

Code:
 IDENTIFICATION DIVISION.                         
 PROGRAM-ID.    TAND3997.                         
*AUTHOR.        BCION.                             
 ENVIRONMENT DIVISION.                             
 DATA DIVISION.                                   
 WORKING-STORAGE SECTION.                         
 01  WE-SALUDO   PIC X(15) VALUE 'HELLO WORLD....'.
 PROCEDURE DIVISION.                               
*------------------*                               
     DISPLAY '...HOLA MUNDO.....'.                 
     DISPLAY WE-SALUDO.                           
     DISPLAY  WE-SALUDO '...HOLA MUNDO.....'       
     STOP RUN.                                     


now I am compile the program




and this the result
Code:

PP 5655-G53 IBM Enterprise COBOL for z/OS  3.3.1                         Date 08
      ZWB                                                                       
PP 5655-G53 IBM Enterprise COBOL for z/OS  3.3.1               TAND3997  Date 08
  LineID  PL SL  ----+-*A-1-B--+----2----+----3----+----4----+----5----+----6---
/* TAND3997                                                                     
  000001         000100 IDENTIFICATION DIVISION.                               
  000002         000200 PROGRAM-ID.    TAND3997.                               
  000003         000300*AUTHOR.        BCION.                                   
  000004         000400 ENVIRONMENT DIVISION.                                   
  000005         000500 DATA DIVISION.                                         
  000006         000600 WORKING-STORAGE SECTION.                               
  000007         000700 01  WE-SALUDO   PIC X(15) VALUE 'HELLO WORLD....'.     
  000008         000800 PROCEDURE DIVISION.                                     
  000009         000900*------------------*                                     
  000010         001200     DISPLAY '...HOLA MUNDO.....'.                       
  000011         001400     DISPLAY WE-SALUDO.                                 
  000012         001500     DISPLAY  WE-SALUDO '...HOLA MUNDO.....'             
  000013         001600     STOP RUN.                                           
*/ TAND3997                                                                     
PP 5655-G53 IBM Enterprise COBOL for z/OS  3.3.1               TAND3997  Date 08
An "M" preceding a data-name reference indicates that the data-name is modified
                                                                               
 Defined   Cross-reference of data names   References                           
                                                                               
       7   WE-SALUDO. . . . . . . . . . .  11 12                               
PP 5655-G53 IBM Enterprise COBOL for z/OS  3.3.1               TAND3997  Date 08
 Defined   Cross-reference of programs     References                           
                                                                               
       2   TAND3997                                                             
* Statistics for COBOL program TAND3997:                                       
*    Source records = 13                                                       
*    Data Division statements = 1                                               
*    Procedure Division statements = 4                                         
End of compilation 1,  program TAND3997,  no statements flagged.               
Return code 0                                                                   
******************************** Bottom of Data ********************************


good when I compile the probrama x 1.6 limits me creates a dataset where the compiled program is called

USERID.CLASS.OBJ





so this is my program jcl in my dataset

userid.class.cntl

Code:
//OSW1     JOB (034D),'OSW',CLASS=A,MSGLEVEL=(1,1),MSGCLASS=A
//JOBLIB   DD   DSN=USERID.CLASS.OBJ,DISP=SHR               
//TAND3997 EXEC PGM=TAND3997                                 
//OUT1     OUTPUT  OUTDISP=(KEEP,KEEP)                       
//SYSPRINT DD   SYSOUT=*,OUTPUT=*.OUT1                       
//SYSDBOUT DD   SYSOUT=*                                     
//SYSOUT   DD   SYSOUT=*                                     
/*                                                           


as well as run with this JCL and sends me the same mistake
Code:


//OSW1     JOB (034D),'OSW',CLASS=A,MSGLEVEL=(1,1),MSGCLASS=A
//JOBLIB   DD   DSN=USERID.CLASS.OBJ,DISP=SHR               
//STEP1    EXEC PGM=TAND3997                                 
//OUT1     OUTPUT  OUTDISP=(KEEP,KEEP)                       
//SYSPRINT DD   SYSOUT=*,OUTPUT=*.OUT1                       
//SYSDBOUT DD   SYSOUT=*                                     
//SYSOUT   DD   SYSOUT=*                                     
/*                                                           




when I run submit the limits notified me this error
in the sdsf - status jobs



Code:
00.35.11 JOB00034  $HASP373 OSW1     STARTED - INIT 1    - CLASS A - SYS SYS1 
00.35.11 JOB00034  IEF403I OSW1 - STARTED - TIME=00.35.11                     
00.35.11 JOB00034  IEW4007I FIND FOR MODULE TAND3997 FAILED BECAUSE DIRECTORY ENTRY IS NOT VALID FOR A LOAD MODULE.
00.35.11 JOB00034  CSV003I REQUESTED MODULE TAND3997 NOT FOUND                 
00.35.11 JOB00034  CSV028I ABEND806-04  JOBNAME=OSW1      STEPNAME=TAND3997   
00.35.11 JOB00034  IEA995I SYMPTOM DUMP OUTPUT  581                           
   581             SYSTEM COMPLETION CODE=806  REASON CODE=00000004           
   581              TIME=00.35.11  SEQ=00012  CPU=0000  ASID=0017             
   581              PSW AT TIME OF ERROR  070C1000   812C010E  ILC 2  INTC 0D 
   581                NO ACTIVE MODULE FOUND                                   
   581                NAME=UNKNOWN                                             
   581                DATA AT PSW  012C0108 - 9024181E  0A0D18FB  180C181D 


and

Code:
IEF236I ALLOC. FOR OSW1 TAND3997                                               
IEF237I 0A82 ALLOCATED TO JOBLIB                                               
IEF237I JES2 ALLOCATED TO SYSPRINT                                             
IEF237I JES2 ALLOCATED TO SYSDBOUT                                             
IEF237I JES2 ALLOCATED TO SYSOUT                                               
IEW4007I FIND FOR MODULE TAND3997 FAILED BECAUSE DIRECTORY ENTRY IS NOT VALID FOR A LOAD MODULE.
CSV003I REQUESTED MODULE TAND3997 NOT FOUND                                     
CSV028I ABEND806-04  JOBNAME=OSW1      STEPNAME=TAND3997                       
IEA995I SYMPTOM DUMP OUTPUT                                                     
SYSTEM COMPLETION CODE=806  REASON CODE=00000004                               
 TIME=00.35.11  SEQ=00012  CPU=0000  ASID=0017                                 
 PSW AT TIME OF ERROR  070C1000   812C010E  ILC 2  INTC 0D                     
   NO ACTIVE MODULE FOUND                                                       
   NAME=UNKNOWN                                                                 
   DATA AT PSW  012C0108 - 9024181E  0A0D18FB  180C181D 
Back to top
View user's profile Send private message
References
Aaru

Senior Member


Joined: 03 Jul 2007
Posts: 1136
Location: Mumbai - India

PostPosted: Fri Aug 22, 2008 11:35 am    Post subject: Reply to: please help me, with my program cobol + jcl in zos
Reply with quote

Batusai,

From what i understood, you have written a COBOL program and has compiled and tried to run the program.

You had created an object module for your program which is in USERID.CLASS.OBJ .

Then you try to run the program using a RUN jcl but finding problems. Am i right?

My observations:

In your RUN JCL you had given the OBJ across the JOBLIB DD which is not correct. You will have to first LINK-EDIT your OBJ and create a LOAD module which should then be used in the RUN JCL across the JOBLIB/STEPLIB DD.

There are many LINK JCL's available (IEWL etc ).
Back to top
View user's profile Send private message
batusai

New User


Joined: 21 Aug 2008
Posts: 14
Location: lima peru

PostPosted: Fri Aug 22, 2008 12:00 pm    Post subject: Reply to: please help me, with my program cobol + jcl in zos
Reply with quote

thanks for you response.

and

Quote:
You had created an object module for your program which is in USERID.CLASS.OBJ .

Then you try to run the program using a RUN jcl but finding problems. Am i right?


this is true.

I thought that compiling the program
that was my library

Code:
//OSW1     JOB (034D),'OSW',CLASS=A,MSGLEVEL=(1,1),MSGCLASS=A
//JOBLIB   DD   DSN=USERID.CLASS.OBJ,DISP=SHR               
//STEP1    EXEC PGM=TAND3997                                 
//OUT1     OUTPUT  OUTDISP=(KEEP,KEEP)                       
//SYSPRINT DD   SYSOUT=*,OUTPUT=*.OUT1                       
//SYSDBOUT DD   SYSOUT=*                                     
//SYSOUT   DD   SYSOUT=*                                     
/*       



but

Quote:
You will have to first LINK-EDIT your OBJ and create a LOAD module which should then be used in the RUN JCL across the JOBLIB/STEPLIB DD.

There are many LINK JCL's available (IEWL etc ).



I not how create a LOAD module

please ayudame to create my Load module with the link-edit icon_sad.gif
Back to top
View user's profile Send private message
Aaru

Senior Member


Joined: 03 Jul 2007
Posts: 1136
Location: Mumbai - India

PostPosted: Fri Aug 22, 2008 12:43 pm    Post subject: Reply to: please help me, with my program cobol + jcl in zos
Reply with quote

Batusai,

Quote:
I not how create a LOAD module

please ayudame to create my Load module with the link-edit


Please take a look at the LINK JCL's available as a sticky in the JCL forum.

Also Check the step LKED in the below link

LINK JCL

You can find other JCL's in the below link


JCL

Also check if there are any LINK Jcl's available in your shop. Speak to your peers for a LINK JCL.
Back to top
View user's profile Send private message
Anuj D.

Global Moderator


Joined: 22 Apr 2006
Posts: 2158
Location: Phoenix, AZ

PostPosted: Fri Aug 22, 2008 3:48 pm    Post subject:
Reply with quote

Hi,

Couple of things...

1. Here in this JCL:
Code:
//OSW1     JOB (034D),'OSW',CLASS=A,MSGLEVEL=(1,1),MSGCLASS=A
//JOBLIB   DD   DSN=USERID.CLASS.OBJ,DISP=SHR               
//STEP1    EXEC PGM=TAND3997                                 
//OUT1     OUTPUT  OUTDISP=(KEEP,KEEP)                       
//SYSPRINT DD   SYSOUT=*,OUTPUT=*.OUT1                       
//SYSDBOUT DD   SYSOUT=*                                     
//SYSOUT   DD   SYSOUT=*                                     
/*                   
when you code
Code:
//STEP1    EXEC PGM=TAND3997                                 
You are supposed to provide the "path" for the "load module" of the program. This is usually provided by STEPLIB; when system encounters the statement
Code:
//STEP1    EXEC PGM=TAND3997                                 

OS tries to find the load module for your program TAND3997 & for this is why it is needed to provide the Library (PDS) path for the program's load module. If you dont provide this JCL will typically abend with S806- which means Load Module not found, & this is visible in Your SYSOYT (SDSF) -
Code:
SYSTEM COMPLETION CODE=806  REASON CODE=00000004


2. When you say..
Quote:
now I am compile the program
How do you do it- using some vsersion control tool such Change Man, or the way Aaru mentioned. Usually these days sites make use of vsersion control tools.

And if you are using vsersion control tools then
Quote:
I not how create a LOAD module
load modules are "saved" in "predefined" PDSs.


BTW, there sould be some other program, written by some one else, in working condition at your shop- please check the JCL for that program, will give you a better insighs about such things..
Back to top
View user's profile Send private message
batusai

New User


Joined: 21 Aug 2008
Posts: 14
Location: lima peru

PostPosted: Fri Aug 22, 2008 8:52 pm    Post subject: Reply to: please help me, with my program cobol + jcl in zos
Reply with quote

hello thaks for your response

Aaru,Anuj D.

I write this code for lked my program obj to load module but return this error

Code:

//LKED     EXEC PGM=IEWL,PARM='LIST,XREF,LET,MAP',COND=(5,LT,COBOL),
//              REGION=512K                                             
//SYSLIN   DD   DSNAME=USERID.CLASS.OBJ,DISP=(OLD,DELETE)           
//         DD   DDNAME=SYSIN                                       
//SYSLMOD  DD   DSNAME=USERID.CLASS.LOAD(TAND3997),DISP=(,PASS),   
//              UNIT=SYSDA,SPACE=(CYL,(1,1,1))                     
//SYSUDUMP DD   SYSOUT=*                                           
//SYSPRINT DD   SYSOUT=*                                           
//SYSIN    DD   DUMMY   
/*



error :

Code:
------------------------------------------


2 IEFC621I EXPECTED CONTINUATION NOT RECEIVED 
3 IEFC605I UNIDENTIFIED OPERATION FIELD       
6 IEFC621I EXPECTED CONTINUATION NOT RECEIVED 
7 IEFC605I UNIDENTIFIED OPERATION FIELD       

------------------------------------------


10.22.15 JOB00045 $HASP165 BATUSAIL ENDED AT N1 - JCL ERROR CN(INTERNAL)
IKJ56250I JOB IBMUSERL(JOB00045) SUBMITTED
IKJ56254I USERID PLUS JOBNAME CHARACTERS CANNOT EXCEED MAXIMUM JOBNAME LENGTH OF
F EIGHT
***


THANKS FOUR YOUR HELP
Back to top
View user's profile Send private message
Anuj D.

Global Moderator


Joined: 22 Apr 2006
Posts: 2158
Location: Phoenix, AZ

PostPosted: Fri Aug 22, 2008 8:58 pm    Post subject:
Reply with quote

Hi,

I can see many errors -
Quote:
JOBNAME CHARACTERS CANNOT EXCEED MAXIMUM JOBNAME LENGTH OF
F EIGHT

1.You have not shown the JOB card for the JOB, it has a wrong JOB name, make it max. of 8 characters.

2. I don't underrstnd this DD statement.. icon_confused.gif
Code:
DD   DDNAME=SYSIN
This is not a valid DD name.


3. Again, did you try looking some other JCL available at your end..?
Back to top
View user's profile Send private message
Robert Sample

Senior Member


Joined: 06 Jun 2008
Posts: 891
Location: Atlanta, GA

PostPosted: Fri Aug 22, 2008 9:08 pm    Post subject:
Reply with quote

Anuj: DDNAME=SYSIN is perfectly valid. It indicates that the statement is to be resolved by referencing the SYSIN DD statement. It's used -- a lot -- in IBM compile procedures.

batusai: your continuation lines are starting too far into the line. Line up the R of REGION=512K with the first E of the EXEC statement before it. Line up the U of UNIT= with the first D of the DD statement above it. This is why all 4 errors occurred -- you ended two statements with commas but there was no continuation by column 16 of the following line.
Back to top
View user's profile Send private message
Anuj D.

Global Moderator


Joined: 22 Apr 2006
Posts: 2158
Location: Phoenix, AZ

PostPosted: Fri Aug 22, 2008 9:12 pm    Post subject:
Reply with quote

Hi Robet,

Thanks... icon_smile.gif
Robert Sample wrote:
Anuj: DDNAME=SYSIN is perfectly valid. It indicates that the statement is to be resolved by referencing the SYSIN DD statement. It's used -- a lot -- in IBM compile procedures.
Aaargh...me poor guy..hmm..this is one of the ill effect of using Version Contoller tools.. icon_cry.gif
Back to top
View user's profile Send private message
batusai

New User


Joined: 21 Aug 2008
Posts: 14
Location: lima peru

PostPosted: Fri Aug 22, 2008 9:13 pm    Post subject: Hi
Reply with quote

bueno mi problema es este

1 ) I write one cobol program in zos 1.6
2 ) I compile the cobol program and zos create for me a on OBJ

but I not how create load module ,So please help


So as not to create,
why me guíe of this page

http://publib.boulder.ibm.com/infocenter/zoslnctr/v1r7/index.jsp?topic=/com.ibm.zappldev.doc/zappldev_122.html

excuse my English is not very good
Back to top
View user's profile Send private message
Robert Sample

Senior Member


Joined: 06 Jun 2008
Posts: 891
Location: Atlanta, GA

PostPosted: Fri Aug 22, 2008 9:20 pm    Post subject:
Reply with quote

Code:
//LKED     EXEC PGM=IEWL,PARM='LIST,XREF,LET,MAP',COND=(5,LT,COBOL),
//         REGION=512K                                             
//SYSLIN   DD   DSNAME=USERID.CLASS.OBJ,DISP=(OLD,DELETE)           
//         DD   DDNAME=SYSIN                                       
//SYSLMOD  DD   DSNAME=USERID.CLASS.LOAD(TAND3997),DISP=(,PASS),   
//         UNIT=SYSDA,SPACE=(CYL,(1,1,1))                     
//SYSUDUMP DD   SYSOUT=*                                           
//SYSPRINT DD   SYSOUT=*                                           
//SYSIN    DD   DUMMY   
/*
This will get rid of your JCL error and crate a load module from the OBJ code.
Back to top
View user's profile Send private message
Robert Sample

Senior Member


Joined: 06 Jun 2008
Posts: 891
Location: Atlanta, GA

PostPosted: Fri Aug 22, 2008 9:22 pm    Post subject:
Reply with quote

Quote:
this is one of the ill effect of using Version Contoller tools
I write a lot of the tools we use here, so I get familiar with all sorts of weird constructs.
Back to top
View user's profile Send private message
batusai

New User


Joined: 21 Aug 2008
Posts: 14
Location: lima peru

PostPosted: Fri Aug 22, 2008 9:26 pm    Post subject: Hi
Reply with quote

execute code

Quote:

//LKED EXEC PGM=IEWL,PARM='LIST,XREF,LET,MAP',COND=(5,LT,COBOL),
// REGION=512K
//SYSLIN DD DSNAME=USERID.CLASS.OBJ,DISP=(OLD,DELETE)
// DD DDNAME=SYSIN
//SYSLMOD DD DSNAME=USERID.CLASS.LOAD(TAND3997),DISP=(,PASS),
// UNIT=SYSDA,SPACE=(CYL,(1,1,1))
//SYSUDUMP DD SYSOUT=*
//SYSPRINT DD SYSOUT=*
//SYSIN DD DUMMY
/*


tso respons me

Quote:
STMT NO. MESSAGE
-
2 IEF645I INVALID REFERBACK IN THE COND FIELD




6250I JOB IBMUSERL(JOB00051) SUBMITTED
10.55.41 JOB00051 $HASP165 BATUSAIL ENDED AT N1 - JCL ERROR CN(INTERNAL)
IKJ56254I USERID PLUS JOBNAME CHARACTERS CANNOT EXCEED MAXIMUM JOBNAME LENGTH O
F EIGHT
***
Back to top
View user's profile Send private message
Robert Sample

Senior Member


Joined: 06 Jun 2008
Posts: 891
Location: Atlanta, GA

PostPosted: Fri Aug 22, 2008 9:27 pm    Post subject:
Reply with quote

Take the COND=(5,LT,COBOL) off the first line ... the JCL is written to be run as one long job and you're only doing part of it so you have to remove the condition code check.
Back to top
View user's profile Send private message
batusai

New User


Joined: 21 Aug 2008
Posts: 14
Location: lima peru

PostPosted: Fri Aug 22, 2008 9:28 pm    Post subject:
Reply with quote

Code:

000001 //LKED     EXEC PGM=IEWL,PARM='LIST,XREF,LET,MAP',COND=(5,LT,COBOL),
000002 //         REGION=512K                                             
000003 //SYSLIN   DD   DSNAME=USERID.CLASS.OBJ,DISP=(OLD,DELETE)           
000004 //         DD   DDNAME=SYSIN                                       
000005 //SYSLMOD  DD   DSNAME=USERID.CLASS.LOAD(TAND3997),DISP=(,PASS),   
000006 //         UNIT=SYSDA,SPACE=(CYL,(1,1,1))                           
000007 //SYSUDUMP DD   SYSOUT=*                                           
000008 //SYSPRINT DD   SYSOUT=*                                           
000009 //SYSIN    DD   DUMMY                                               
000010 /*                                                                 
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic   Reply to topic    IBMMAINFRAMES.com Support Forums -> Mainframe COBOL All times are GMT + 6 HoursGoto page 1, 2  Next
Page 1 of 2