View previous topic :: View next topic
|
Author |
Message |
delucjh
New User
Joined: 30 Oct 2005 Posts: 2
|
|
|
|
We have a batch stream with a huge number of steps (more than 200) running on OS/390 2.10. One of the last steps is a BMP in which there are some 800+ programs in the call chain under the driver.
I need a way to force a FREEMAIN just prior to the BMP step, so I can have a better chance of avoiding region abends such as SB78, S878, etc.... in the BMP.
DOES ANYONE KNOW HOW TO HELP ME?
Can I issue an SVC5 call from Assembler program or call IGVVSM24 from a COBOL/370 program?
JMD |
|
Back to top |
|
|
ironmike
New User
Joined: 07 Aug 2005 Posts: 33
|
|
|
|
When you say "...just prior to the BMP step", you don't mean in the prior job step, do you? FREEMAIN'ing storage in the prior job step won't help you at all. Each job step gets a new region, it does NOT reuse the same region from the prior job step (at least, in terms of GETMAIN'ed and FREEMAIN'ed storage).
Furthermore, you cannot issue a FREEMAIN without first having issued a GETMAIN. You can't just say "free all used storage" or some such nonsense on a FREEMAIN call.
You should probably code REGION=0m (that's zero m) on the BMP job step; that will get you the maximum region permitted on your system. If the job step still fails with a S80A or similar abend, then you should break up the step into more than one step. [/u][/i] |
|
Back to top |
|
|
delucjh
New User
Joined: 30 Oct 2005 Posts: 2
|
|
|
|
Barring an unqualified release of all storage at the point in time when the abend is most likely to occur, what would you suggest? We have also encountered S822 abends with this (fragmentation in the initiator) and need to avoid these issues as well.
JMD |
|
Back to top |
|
|
RAJ1965
New User
Joined: 07 Aug 2006 Posts: 6
|
|
|
|
In my COBOL program I am using 28 input files and 28 output files.
When I submit the job I am getting S878 abend while opening the files.
Can anyone tell me what could be the problem and how to resolve this |
|
Back to top |
|
|
ironmike
New User
Joined: 07 Aug 2005 Posts: 33
|
|
|
|
Code REGION=OM (that's zero em) on the JOB statement and on the EXEC statement for the failing step. That will get you the maximum region allowed for batch job steps on your system.
It will slow down your job, but you could code DCB=BUFNO=2 in the JCL for all of the SEQUENTIAL file DD statements in the job step. That will reduce some of the storage use by QSAM. |
|
Back to top |
|
|
|