|
|
| Author |
Message |
kedianirmal
New User
Joined: 08 Feb 2008 Posts: 21 Location: Bangalore, India
|
|
|
|
Hi,
We have made a few changes in an existing COBOL program and are trying to run it. The program has compiled fine, but while running the program in the job we are getting error message as:
| Code: |
IEW4000I FETCH FOR MODULE LNCY330 FROM DDNAME SYS00001 FAILED BECAUSE INSUFFICIENT STORAGE WAS AVAILABLE.
CSV031I LIBRARY ACCESS FAILED FOR MODULE LNCY330 , RETURN CODE 24, REASON CODE 26080021, DDNAME SYS00001
RUN PROGRAM(LNCY330) PLAN(LNCY330) LIB('JSULNC.BATCH.LOADLIB')
NOT ABLE TO LINK TO PROGRAM LNCY330 IN DSNAME JSULNC.BATCH.LOADLIB
|
Can somebody define why we are getting the error message.
Thanks,
Kumar |
|
| Back to top |
|
 |
References
|
|
 |
Moved: Thu Jul 10, 2008 7:20 pm by superk From Interview Questions to ABENDS & Debugging |
expat
Global Moderator
Joined: 14 Mar 2007 Posts: 3508 Location: Brussels once more ...
|
|
|
|
What do the messages and codes books for
IEW4000I
CSV031I
tell you about the error ? |
|
| Back to top |
|
 |
kedianirmal
New User
Joined: 08 Feb 2008 Posts: 21 Location: Bangalore, India
|
|
|
|
The error IEW400I is as follows:
| Code: |
IEW4000I FETCH FOR MODULE program-name FROM DDNAME ddname FAILED BECAUSE
INSUFFICIENT STORAGE WAS AVAILABLE.
Explanation: There was insufficient storage available to load the load
module or program object.
System Action: An abend will occur unless the program was loaded by a
LOAD macro with the ERRET option specified.
User Response: Rerun the job with a larger region size specified. |
Actually we have increased working storage of the program and now are not able to run it. I have tried increasing the region parameter for the step in which the program is getting executed, but nothing is working.
Regards,
Kumar |
|
| Back to top |
|
 |
Craq Giegerich
Senior Member
Joined: 19 May 2007 Posts: 989 Location: Virginia, USA
|
|
|
|
| Are you sure the program is in the library you have specified? Is the loadlib you have specified formatted correctly? |
|
| Back to top |
|
 |
kedianirmal
New User
Joined: 08 Feb 2008 Posts: 21 Location: Bangalore, India
|
|
|
|
Yup,
I am sure of the program library and loadlib. Everything is fine
Regards,
kumar |
|
| Back to top |
|
 |
Robert Sample
Senior Member
Joined: 06 Jun 2008 Posts: 891 Location: Atlanta, GA
|
|
|
|
| Quote: |
| Everything is fine |
yet you're getting memory problems. How much memory do you have specified on the EXEC or JOB statement? Can you post the JES memory usage line from your output? How much did you increase working storage by? How much did you increase your region parameter by? |
|
| Back to top |
|
 |
kedianirmal
New User
Joined: 08 Feb 2008 Posts: 21 Location: Bangalore, India
|
|
|
|
Hi Robert,
I have tried the following region parameters:
| Code: |
//JULNWO5 JOB (JSUBLNC,P-9),'LNCY330',CLASS=L,MSGCLASS=D,
// REGION=1024M,NOTIFY=JULN01 |
I have changed the REGION parameter from 8M to 4096M, but none is helpful.
I also tried to used the region parameter in the procstep from some K to 2047M, but nothing is helping in the job run.
I have increased three arrays in the program from 2000 to 4000 which is declared as PIC X.
Regards,
Nirmal |
|
| Back to top |
|
 |
dick scherrer
Global Moderator
Joined: 23 Nov 2006 Posts: 8638 Location: 221 B Baker St
|
|
|
|
Hello,
Try using REGION=0M (zeroM).
Changing a few entries from around 2k to around 4k should not cause your problem.
Look at the total length of your linked module.
Does your program invoke some other big piece of code (like an nternal sort, or some other utility)? |
|
| Back to top |
|
 |
Robert Sample
Senior Member
Joined: 06 Jun 2008 Posts: 891 Location: Atlanta, GA
|
|
|
|
| Nirmal: JOB region should override EXEC region and 4096M is a huge area; I've never run a job needing anywhere close to 4GB. You definitely need to look at the load module size from your compile output; also, post the JES message log output for the step that's failing to see how much memory is being provided. There are system exits that can be used to limit how much memory your job gets, no matter what you ask for. |
|
| Back to top |
|
 |
kedianirmal
New User
Joined: 08 Feb 2008 Posts: 21 Location: Bangalore, India
|
|
|
|
Hi Dick,
I have tried using 0M, still it failed.
There is not program invoked in this program, there is a sort utility used in the second step of the job but thats optional and runs depending upon the return code of the previous step(in which the Cobol DB2 program is running).
Could you tell me how to check the length of the linked module.
Regards,
Kumar |
|
| Back to top |
|
 |
kedianirmal
New User
Joined: 08 Feb 2008 Posts: 21 Location: Bangalore, India
|
|
|
|
Hi Robert,
Below are the JES messages for the particular step:
| Code: |
.IEF236I ALLOC. FOR JULNWO5 PLNWO501 PLNWO5
.IEF237I 049C ALLOCATED TO STEPLIB
.IEF237I 0405 ALLOCATED TO
.IEF237I 047C ALLOCATED TO SYSTSIN
.IEF237I 0485 ALLOCATED TO LNCDU01
.IEF237I JES2 ALLOCATED TO LNCR330A
.IEF237I JES2 ALLOCATED TO LNCR330B
.IEF237I JES2 ALLOCATED TO SYSTSPRT
.IEF237I JES2 ALLOCATED TO SYSPRINT
.IEF237I JES2 ALLOCATED TO SYSOUT
.IEF237I JES2 ALLOCATED TO SYSOUD
.IEF237I JES2 ALLOCATED TO SYSABOUT
.IEF237I JES2 ALLOCATED TO SYSUDUMP
.IEF237I 0405 ALLOCATED TO SYS00001
IEW4000I FETCH FOR MODULE LNCY330 FROM DDNAME SYS00001 FAILED BECAUSE INSUFFICIENT STORAGE WAS AVAILABLE.
CSV031I LIBRARY ACCESS FAILED FOR MODULE LNCY330 , RETURN CODE 24, REASON CODE 26080021, DDNAME SYS00001
.IEF285I JSULNC.BATCH.LOADLIB KEPT
.IEF285I VOL SER NOS= TST144.
.IEF142I JULNWO5 PLNWO501 PLNWO5 - STEP WAS EXECUTED - COND CODE 0008
.IEF285I SYSDBJ.#S00.DB03.DSNLOAD KEPT
.IEF285I VOL SER NOS= MVSGA3.
.IEF285I JSULNC.BATCH.LOADLIB KEPT
.IEF285I VOL SER NOS= TST144.
.IEF285I JSULNC.DB2.RUNPARM KEPT
.IEF285I VOL SER NOS= TST26C.
.IEF285I JSULNC.LNCDU01.G1515V00 KEPT
.IEF285I VOL SER NOS= TST395.
.IEF285I JULNBH.JULNWO5.JOB07231.D0000101.? SYSOUT
.IEF285I JULNBH.JULNWO5.JOB07231.D0000102.? SYSOUT
.IEF285I JULNBH.JULNWO5.JOB07231.D0000103.? SYSOUT
.IEF285I JULNBH.JULNWO5.JOB07231.D0000104.? SYSOUT
.IEF285I JULNBH.JULNWO5.JOB07231.D0000105.? SYSOUT
.IEF285I JULNBH.JULNWO5.JOB07231.D0000106.? SYSOUT
.IEF285I JULNBH.JULNWO5.JOB07231.D0000107.? SYSOUT
.IEF285I JULNBH.JULNWO5.JOB07231.D0000108.? SYSOUT
IEF373I STEP/PLNWO501/START 2008192.1712
IEF374I STEP/PLNWO501/STOP 2008192.1712 CPU 0MIN 00.03SEC SRB
|
Now could you explain how to check the load module size. Please let me know if any more information required.
Regards,
Nirmal |
|
| Back to top |
|
 |
kedianirmal
New User
Joined: 08 Feb 2008 Posts: 21 Location: Bangalore, India
|
|
|
|
At the end of the step, it has the following space information:
| Code: |
0MIN 00.00SEC VIRT 472K SYS 460K EXT 252K SYS 12348K
|
Please help,
Nirmal |
|
| Back to top |
|
 |
Pedro
Senior Member
Joined: 01 Sep 2006 Posts: 508 Location: work
|
|
|
|
| Could you be in a loop that allocates storage without freeing? A recursive routine? |
|
| Back to top |
|
 |
dick scherrer
Global Moderator
Joined: 23 Nov 2006 Posts: 8638 Location: 221 B Baker St
|
|
|
|
Hello,
| Quote: |
| Could you tell me how to check the length of the linked module. |
In the SYSPRINT from the link edit step, you should see something very much like this:
| Code: |
MODULE SIZE (HEX) 00001E80
|
For your problem, the size is only an issue in the step that abends - not any of the other steps. |
|
| Back to top |
|
 |
kedianirmal
New User
Joined: 08 Feb 2008 Posts: 21 Location: Bangalore, India
|
|
|
|
The link module is showing the below space:
| Code: |
MODULE SIZE (HEX) 00994950 |
Could you explain how much space it is and how to change the JCL so that to run the program successfully.
Regards,
Nirmal |
|
| Back to top |
|
 |
|
|