View previous topic :: View next topic
|
Author |
Message |
MoLong
New User
Joined: 07 Feb 2007 Posts: 32 Location: Chennai
|
|
|
|
Hi,
I'm trying to sort a file in cobol in z/os.
compilation is ok.
when i run the program i get a err
-----
The system or user abend S806 R=00000004 was issued.
-----
pls tell me why this error comes. |
|
Back to top |
|
|
William Thompson
Global Moderator
Joined: 18 Nov 2006 Posts: 3156 Location: Tucson AZ
|
|
Back to top |
|
|
MoLong
New User
Joined: 07 Feb 2007 Posts: 32 Location: Chennai
|
|
|
|
My dd entries are
Code: |
//GO.DDINPUT DD DSN=DMKSP04.ABC.SEQ.STUDAT,DISP=SHR
//GO.DDOUTPUT DD DSN=DMKSP04.ABC.SORT.STUDAT,
// DISP=(,CATLG,DELETE),UNIT=SYSDA,
// LRECL=23,RECFM=FB,SPACE=(TRK,(1,1),RLSE)
//GO.DDWORK DD DSN=DMKSP04.ABC.SORT.TEMP,
// DISP=(,CATLG,DELETE),UNIT=SYSDA,
// LRECL=23,RECFM=FB,SPACE=(TRK,(1,1),RLSE)
|
is something wrong here? |
|
Back to top |
|
|
dineshness
New User
Joined: 25 Dec 2006 Posts: 63 Location: Perambalur
|
|
|
|
The problem is not with your DD entries, but the load module is not found in the library. Either the load module specified in EXEC PROG or the load module of the dynamically called program in the main program if there is any.
As william said check the steplib and joblib and make sure that the load module is present.
Dinesh. |
|
Back to top |
|
|
MoLong
New User
Joined: 07 Feb 2007 Posts: 32 Location: Chennai
|
|
|
|
hi,
i'm calling IGYWCLG and i know the cobol program is called as a test display message i have given is being printed. no other program is called in my code. unless cobol SORT command does so. |
|
Back to top |
|
|
dick scherrer
Moderator Emeritus
Joined: 23 Nov 2006 Posts: 19243 Location: Inside the Matrix
|
|
|
|
Hello,
The 806-04 is because you've spelled a program name incorrectly on the EXEC PGM= statement, the necessary loadlib is not being referenced in your execution, or there is no load module to execute.
Look at the compile for your program and see what library it was linkedt'ed into. If the comiple was unsuccessful, correct the code and re-compile. Then add that library to your //STEPLIB DD or your //JOBLIB DD it it is not there.
You might also use tso 3.1 to see a list of the modules in the loadlib your program should be in. If your module name is not in the list, it was either compiled into a different loadlib or the compile failed and there is no executable for that module name. |
|
Back to top |
|
|
MoLong
New User
Joined: 07 Feb 2007 Posts: 32 Location: Chennai
|
|
|
|
what should be the DD entry for work file while sorting |
|
Back to top |
|
|
MoLong
New User
Joined: 07 Feb 2007 Posts: 32 Location: Chennai
|
|
|
|
THE COBOL PGM IS RUNNING. EVEN A TEST DISPLAY MESSAGE IS DISPLAYED. THE ERROR OCCURS WHEN THE PROGRAM COMES TO THE SORT COMMAND. I THINK IT HAS SOMETHING TO DO WITH THE WAY THE DD IS CODED. |
|
Back to top |
|
|
dick scherrer
Moderator Emeritus
Joined: 23 Nov 2006 Posts: 19243 Location: Inside the Matrix
|
|
|
|
Hi ML,
So far, progress is being made
Depending on a few things (like which sort product is used on your system) you may need at least:
Code: |
//SORTWK01 DD UNIT=sysda, SPACE=(CYL,(pri,sec)) |
For the lowercase items, put in your unit designation and space - space doesn't need to be exact i'd try 10,10. I usually specify 3 SORTWKnn DDs of the same size SORTWK01, SORTWK02, and SORTWK03.
Please post all of the the jcl for that step. Also, please post the current error from the output (it may be in any of the sysout data - this will both identify the problem and which sort product you are using. If you post the SORT command from the program, that may also help.
I'll check back shortly.
Good luck |
|
Back to top |
|
|
dick scherrer
Moderator Emeritus
Joined: 23 Nov 2006 Posts: 19243 Location: Inside the Matrix
|
|
|
|
Ooops
There should be no space between the comma and the SPACE parameter.
Sorry 'bout that. . . |
|
Back to top |
|
|
MoLong
New User
Joined: 07 Feb 2007 Posts: 32 Location: Chennai
|
|
|
|
i'm running a cobol pgm to sort my PS. not any utility. as i said the program executes upto the sort cmd. i have tested this with a test display command before sort command. |
|
Back to top |
|
|
dick scherrer
Moderator Emeritus
Joined: 23 Nov 2006 Posts: 19243 Location: Inside the Matrix
|
|
|
|
Hello,
I'm not clear on what your last post tells me.
Quote: |
i'm running a cobol pgm to sort my PS. not any utility. as i said the program executes upto the sort cmd. i have tested this with a test display command before sort command. |
It sounds like the same symptom you posted previously. It may be the DD or it may be that and more.
Is it now working correctly? If yes, Great!
If it is not, please post the jcl for the step, the error messasge(s), and the sort statement from the COBOL code.
Please copy/paste that info in your post rather than typing the info.
If you don't provide the necessary info, it is difficult to help. |
|
Back to top |
|
|
MoLong
New User
Joined: 07 Feb 2007 Posts: 32 Location: Chennai
|
|
|
|
The DD stmts
//GO.DDINPUT DD DSN=DMKSP04.MOORTHY.SEQ.STUDAT,DISP=SHR
//GO.DDOUTPUT DD DSN=DMKSP04.MOORTHY.SORT.STUDAT,
// DISP=(NEW,CATLG,DELETE),UNIT=SYSDA,
// DCB=(LRECL=23,RECFM=FB,BLKSIZE=230),SPACE=(TRK,(1,1),RLSE)
//GO.DDWORK DD UNIT=SYSDA,
// DISP=(NEW,CATLG,DELETE),
// DCB=(LRECL=23,RECFM=FB,BLKSIZE=230)
--------
I using ddinput for input, ddoutput for output and ddwork as work file.
--------
the cobol sort cmd is
SORT WORK-FILE
ON ASCENDING KEY WORK-NAME
USING STU-FILE-INPUT
GIVING STU-FILE-OUTPUT
--------- |
|
Back to top |
|
|
dick scherrer
Moderator Emeritus
Joined: 23 Nov 2006 Posts: 19243 Location: Inside the Matrix
|
|
|
|
One more time. . .
Please post ALL of the JCL for this step, not just some of it.
Your DDWORK will not work as coded - you cannot catalog a dataset that has no dsn - i'm surprised that there was no JCL error? What is being created in DDWORK?
Find and post ALL of the error messages. So far, none have made it to here.
Also please post ALL of the select/assign statements from the COBOL program..
It appears as if you are running a compile & go. Is there some reason that you do not just linkedt the program into a load library and run your test from the load module? Part of you problem may be the way the overrides are set up. I also do not see any SORTWKnn DD statements. |
|
Back to top |
|
|
MoLong
New User
Joined: 07 Feb 2007 Posts: 32 Location: Chennai
|
|
|
|
Hi d.sch,
the select stmts follow
----------
SELECT STU-FILE-INPUT ASSIGN TO DDINPUT
ORGANIZATION IS SEQUENTIAL
ACCESS IS SEQUENTIAL.
SELECT STU-FILE-OUTPUT ASSIGN TO DDOUTPUT
ORGANIZATION IS SEQUENTIAL
ACCESS IS SEQUENTIAL.
SELECT WORK-FILE ASSIGN TO DDWORK.
-----------
The GO step displays my sample test message then gives this error:
CEE3250C The system or user abend S806 R=00000004 was issued.
From compile unit RST at entry point RST at compile unit offset +000005...
address 0C300BF6.
-------------
I do not have any //SORTWKnn DD stmts in my jcl. |
|
Back to top |
|
|
dick scherrer
Moderator Emeritus
Joined: 23 Nov 2006 Posts: 19243 Location: Inside the Matrix
|
|
|
|
Hi ML,
The CEE3250C is a generic error messsage. It does not provide any specifics. Somewhere there should be a messasge that provides the information of which module cannot be found. You need to look in ALL of the sysout datasets for error messages. Once we know the name of the "missing" module, we can determine what needs to be done to get past the 806-04.
Something in your execution is not pointing to the correct loadlib or something in the execute JCL is out of sequence.
I'd suggest changing
Code: |
SELECT WORK-FILE ASSIGN TO DDWORK. |
to
Code: |
SELECT WORK-FILE ASSIGN TO UT-S-SORTWK01. |
and adding the SORTWKnn DD statements. As i mentioned before, your posted DDWORK DD statement will not work.
IGYWCLG is the IBM provided compile&go JCL that your execution needs to conform to. Please post ALL of the expanded JCL for this execution - it will include what you provided as well as the statements that were expanded from the IGYWCLG PROC. We need to see the Compile step, the Linkedt step, and the Go step. When you copy/paste, please post the JCL as "code" using the "code" tag near the top of the "Quick Reply" form.
You could also look around for some other compile/link/go JCL that is working on your system and make sure that your JCL is the same except for your specific DD statements.
"Talk" with you soon |
|
Back to top |
|
|
MoLong
New User
Joined: 07 Feb 2007 Posts: 32 Location: Chennai
|
|
|
|
Hi D.Sh,
Sorry, couldnt reply to earlier.
Was away for Spring Festival.
I think cobol SORT calls SORT utility in ZOS.
I have a problem even with SORT in my system because of mismatch of libraries.
So it is not working.
I think this caused S806 abend.
Thanks for the help. |
|
Back to top |
|
|
dick scherrer
Moderator Emeritus
Joined: 23 Nov 2006 Posts: 19243 Location: Inside the Matrix
|
|
|
|
Hi ML,
Welcome back and You're welcome
Yes, the COBOL SORT invokes the same SORT that is run via JCL.
When you find the dsn(s) for the sortlib(s) and add them to your jcl (you can include them as overrides - though, usually, the sort product is included in the linklst), it should work correctly. You might also compile/link your program and then run if from the loadlib.
Pleaselet us know if you'd like any other info. |
|
Back to top |
|
|
MoLong
New User
Joined: 07 Feb 2007 Posts: 32 Location: Chennai
|
|
|
|
Hi,
My ICEMAN (sort) works after i give
Code: |
//JOBLIB DD DSN=SYS1.SICELINK,DISP=SHR
// DD DSN=SYS1.SORTLPA,DISP=SHR
// DD DSN=CEE.SCEERUN,DISP=SHR
|
what should i do to the main cobol compile jcl to include these files |
|
Back to top |
|
|
dick scherrer
Moderator Emeritus
Joined: 23 Nov 2006 Posts: 19243 Location: Inside the Matrix
|
|
|
|
Hello,
You can either override them in the steplib concatenation of the GO step or just compile/link the program then run a separate job to run your program including these in the steplib of your program's jcl. |
|
Back to top |
|
|
MoLong
New User
Joined: 07 Feb 2007 Posts: 32 Location: Chennai
|
|
|
|
Hi,
Great.
It Now works. Thanks a lot.
But now it gives the sort process in the output.
How do i supress it.
MoLong |
|
Back to top |
|
|
dick scherrer
Moderator Emeritus
Joined: 23 Nov 2006 Posts: 19243 Location: Inside the Matrix
|
|
|
|
You're welcome.
Where in the output is the sort process info that you do not want?
Is it in SYSOUT or SYSPRINT or some other DD? If it is, and your program assigns your print output to one of those DDnames in the SELECT/ASSIGN, change your program to SELECT/ASSIGN to a different DD (i.e. MYPRINT DD SYSOUT=*).
If that's not it, please post your condition. |
|
Back to top |
|
|
MoLong
New User
Joined: 07 Feb 2007 Posts: 32 Location: Chennai
|
|
|
|
Hi,
It is in SYSOUT along with the rest of my output.
I want my output to be retained.
My output is a simple welcome message at the begining.
I think the sort process output is given by the sort uility.
MoLong |
|
Back to top |
|
|
William Thompson
Global Moderator
Joined: 18 Nov 2006 Posts: 3156 Location: Tucson AZ
|
|
|
|
I vaugely recall that sort's output can be redirected also.... |
|
Back to top |
|
|
MoLong
New User
Joined: 07 Feb 2007 Posts: 32 Location: Chennai
|
|
|
|
Hi,
From the messages i understand that ICEAM2 is doing the sort.
It describes FIELDS,RECORD TYPE etc in its terms
I want this to be supperssed and my msg to be retained.
MoLong |
|
Back to top |
|
|
|