View previous topic :: View next topic |
Author |
Message |
Bithead Advanced
Joined: 03 Jan 2003 Posts: 550 Topics: 23 Location: Michigan, USA
|
Posted: Mon Jan 31, 2005 3:23 pm Post subject: S878 Opening Multiple Output Files |
|
|
I have a job that has 70 output files but it is failing with an S878 (GETMAIN) error. When half of these are set to DUMMY, the job runs OK. Does anyone know why this might be occuring? |
|
Back to top |
|
|
kolusu Site Admin
Joined: 26 Nov 2002 Posts: 12376 Topics: 75 Location: San Jose
|
Posted: Mon Jan 31, 2005 3:32 pm Post subject: |
|
|
Bithead,
What is the reason code for the abend?
Try increasing the region size specified in the region parameter on the JOB or EXEC statement in the JCL for the job.
Kolusu _________________ Kolusu
www.linkedin.com/in/kolusu |
|
Back to top |
|
|
Bithead Advanced
Joined: 03 Jan 2003 Posts: 550 Topics: 23 Location: Michigan, USA
|
Posted: Mon Jan 31, 2005 3:35 pm Post subject: |
|
|
Abend is S878-10. We have tried REGION=8M, 32M, 0M all with same results. |
|
Back to top |
|
|
kolusu Site Admin
Joined: 26 Nov 2002 Posts: 12376 Topics: 75 Location: San Jose
|
Posted: Mon Jan 31, 2005 3:48 pm Post subject: |
|
|
Bithead,
What is the default Bufno defined in your system? The default is 5 buffers. Change the bufno to be 1 on all the files and see if it works.
Kolusu _________________ Kolusu
www.linkedin.com/in/kolusu |
|
Back to top |
|
|
Bithead Advanced
Joined: 03 Jan 2003 Posts: 550 Topics: 23 Location: Michigan, USA
|
Posted: Mon Jan 31, 2005 5:10 pm Post subject: |
|
|
Kolusu,
That did the trick.
Thanks,
|
|
Back to top |
|
|
kolusu Site Admin
Joined: 26 Nov 2002 Posts: 12376 Topics: 75 Location: San Jose
|
Posted: Mon Jan 31, 2005 7:27 pm Post subject: |
|
|
Quote: |
Kolusu, That did the trick.
|
Glad that it worked. You may also want to try increasing the bufno to 2 or 3 and see if it works.
Kolusu _________________ Kolusu
www.linkedin.com/in/kolusu |
|
Back to top |
|
|
dtf Beginner
Joined: 10 Dec 2004 Posts: 110 Topics: 8 Location: Colorado USA
|
Posted: Tue Feb 01, 2005 6:29 pm Post subject: |
|
|
You may also want to rethink your design and if possible do not have all the files open at the same time. If you are done with a file close it. If you don't need a file, don't open it until you do.
A common program design of course is to open all files a the beginning of the program, and close them all at the end. Regardless of the flow. This is not a problem until you have a situation like this.
________
R75
Last edited by dtf on Tue Feb 01, 2011 1:43 pm; edited 1 time in total |
|
Back to top |
|
|
Bithead Advanced
Joined: 03 Jan 2003 Posts: 550 Topics: 23 Location: Michigan, USA
|
Posted: Wed Feb 02, 2005 9:19 am Post subject: |
|
|
It is a vendor program so not much I can do. |
|
Back to top |
|
|
tattva Beginner
Joined: 02 Feb 2005 Posts: 97 Topics: 36
|
Posted: Thu Apr 21, 2005 12:36 am Post subject: |
|
|
Just want to know how to increase the Bufno.. also wud like to know the significance of Buf no.
Kolusu,
any documentation available on this ?
Thanks,
Tattva |
|
Back to top |
|
|
kolusu Site Admin
Joined: 26 Nov 2002 Posts: 12376 Topics: 75 Location: San Jose
|
|
Back to top |
|
|
tattva Beginner
Joined: 02 Feb 2005 Posts: 97 Topics: 36
|
Posted: Thu Apr 21, 2005 3:26 pm Post subject: |
|
|
Kolusu,
One more question ..
It says the Buffer def is 5... and you have asked Bithead to change it to 1..
what happens when we decrease the Bufno less than that of the default??
Could you please explain in detail?
TIA,
Tattva |
|
Back to top |
|
|
kolusu Site Admin
Joined: 26 Nov 2002 Posts: 12376 Topics: 75 Location: San Jose
|
Posted: Thu Apr 21, 2005 7:31 pm Post subject: |
|
|
Tattva,
Please address people with the right names.
When your program opens a file and tries to read a record from it, the Operating system checks for BUFNO= parameter in your DD statement. If none is specified, your program receives a default of 5 buffers. An EXCP is issued to populate the buffers with records (or blocks of logical records) from the file. The buffer space allocated is 5*block size of the file
Bithead's pgm is trying to open 70 files. So if you take defualt no of 5 buffers for each DD then you need a total of 350 buffers(70*5 = 350) . There isn't enough virtual storage to handle that many buffers. So the pgm is unable to acquire the GETMAIN . The GETMAIN size is computed by rounding the blksize up to a doubleword boundary, multiplying by the number of buffers requested, and adding 8 for the buffer pool control block.
By reducing the bufno to 1 , we are reducing the memory used for buffers and acquire the virtual storage required for the pgm.
Hope this helps...
Cheers
Kolusu _________________ Kolusu
www.linkedin.com/in/kolusu |
|
Back to top |
|
|
tattva Beginner
Joined: 02 Feb 2005 Posts: 97 Topics: 36
|
Posted: Thu Apr 21, 2005 8:24 pm Post subject: |
|
|
Ooooops!!
Am sorry !! .. that was a typo..
Thanks for the explanation Kolusu..
Thanks,
Tattva |
|
Back to top |
|
|
Bill Dennis Advanced
Joined: 03 Dec 2002 Posts: 579 Topics: 1 Location: Iowa, USA
|
Posted: Fri Apr 22, 2005 3:30 pm Post subject: |
|
|
Realize also that reducing BUFNO to 1 also impacts thruput. The purpose of mutiple buffers is so the system can be writing one to your output media while your pgm is filling another. With only 1 buffer, you must wait for I/O after filling the buffer. If possible, reduce BLKSIZEs a little and increase BUFNO to 2. _________________ Regards,
Bill Dennis
Disclaimer: My comments on this foorum are my own and do not represent the opinions or suggestions of any other person or business entity. |
|
Back to top |
|
|
tattva Beginner
Joined: 02 Feb 2005 Posts: 97 Topics: 36
|
Posted: Tue Jun 07, 2005 8:15 am Post subject: |
|
|
Hi All,
I faced a similar probelm today when i tried to open 89 files.
But i gave the BUFNO as 1 in the jcl and tried to run.
But the program is abending with Filestatus as 90 when i tried to open these files.
Can any one please look into this ?
Thanks,
Tattva |
|
Back to top |
|
|
|
|