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
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
Joined: 03 Jul 2007 Posts: 1287 Location: Chennai, India
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.
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..
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
***
Joined: 06 Jun 2008 Posts: 8700 Location: Dubuque, Iowa, USA
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.
Joined: 22 Apr 2006 Posts: 6248 Location: Mumbai, India
Hi Robet,
Thanks...
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..
Joined: 06 Jun 2008 Posts: 8700 Location: Dubuque, Iowa, USA
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.
IEW2724S D909 SYNCHRONOUS I/O ERROR OCCURRED FOR DDNAME SYSLIN AND DATA SET NAME
FOLLOW.
IEW2718S D90A IBMUSERL,LKED ,0A82,D,SYSLIN ,GET ,WRNG.LEN.RECORD,000005140
IEW2230S 0414 MODULE HAS NO TEXT.
IEW2677S 5130 A VALID ENTRY POINT COULD NOT BE DETERMINED.
IEW2008I 0F03 PROCESSING COMPLETED. RETURN CODE = 12.
Joined: 06 Jun 2008 Posts: 8700 Location: Dubuque, Iowa, USA
The wrong length record probably means you defined the OBJ wrong -- set it to RECFM=FB,LRECL=80. The module has no text means the binder couldn't find the object deck -- probably why the first problem occurred, too. Redefine the OBJ file and rerun the compile AND the binder steps together to get the load module. No valid entry point could be found because there was no object deck.
Joined: 23 Nov 2006 Posts: 19243 Location: Inside the Matrix
Hello batusai,
Are there other programmers who work with cobol on the same computer you are using?
If so, there should be standard compile&link jcl on the system and i would recommend (strongly) that you use the system standard compile jcl rather than some custom jcl.
If not, i'd suggest you talk with your system programmers to make sure that what you set up is proper for the system you are using.