View previous topic :: View next topic
|
Author |
Message |
Itanium
Active User
Joined: 22 Jan 2006 Posts: 114 Location: India
|
|
|
|
Hi,
I have to split a single file into 100 files using COBOL. I'm using Dynamic Allocation Program to create all the output files.
I'm opening all the 100 output files in the beginning of the code and write the input records to its respective output file based on the indicator in the Input file, finally after all Input records are processed close all the files.
But this program fails with the below error message.
Code: |
CEE3250C The system or user abend S878 R=00000010 was issued. |
Is this due to the huge number of files opened in the COBOL program ? If so, how can this be resolved ?
These are the parameters code in the step : DYNAMNBR=20,REGION=128M |
|
Back to top |
|
|
Bitneuker
CICS Moderator
Joined: 07 Nov 2005 Posts: 1104 Location: The Netherlands at Hole 19
|
|
|
|
Is your program running above or below the 16M? What A-mode/R-mode do you use?
REGION=128M means storage to be used is LIMITED to 128M. It doesn't mean you increase memory. |
|
Back to top |
|
|
Itanium
Active User
Joined: 22 Jan 2006 Posts: 114 Location: India
|
|
|
|
Hi George,
Program is running with AMODE=31 and RMODE=ANY.
Thanks,
Itanium |
|
Back to top |
|
|
Bitneuker
CICS Moderator
Joined: 07 Nov 2005 Posts: 1104 Location: The Netherlands at Hole 19
|
|
|
|
From Error codes
10
There is not enough virtual private area storage available to satisfy the request. This is due to one of the following:
A program is requesting virtual storage, but not subsequently freeing the storage.
The region size specified is too small.
An installation exit is requesting virtual storage from a V=R region before initialization of the region has completed.
Also, depending on the reason code, do one of the following:
10
Try increasing the region size specified in the region parameter on the JOB or EXEC statement in the JCL for the job. However, if the cause of the problem is actually that a program is requesting virtual storage and not freeing it, the abend will recur when the program uses the virtual storage in the larger region. [url][/url][url][/url][url][/url] |
|
Back to top |
|
|
Bitneuker
CICS Moderator
Joined: 07 Nov 2005 Posts: 1104 Location: The Netherlands at Hole 19
|
|
|
|
May be you should try REGIOM=0M |
|
Back to top |
|
|
Itanium
Active User
Joined: 22 Jan 2006 Posts: 114 Location: India
|
|
|
|
I tried REGION=0M, it still didn't work. I got the same error. |
|
Back to top |
|
|
Bitneuker
CICS Moderator
Joined: 07 Nov 2005 Posts: 1104 Location: The Netherlands at Hole 19
|
|
|
|
Quote: |
Try increasing the region size specified in the region parameter on the JOB or EXEC statement in the JCL for the job. However, if the cause of the problem is actually that a program is requesting virtual storage and not freeing it, the abend will recur when the program uses the virtual storage in the larger region. |
How do youre DD-statemens look like? DCB and BUFNO? |
|
Back to top |
|
|
Itanium
Active User
Joined: 22 Jan 2006 Posts: 114 Location: India
|
|
|
|
The output files are dynamically allocated using AFDYNALC. |
|
Back to top |
|
|
Bitneuker
CICS Moderator
Joined: 07 Nov 2005 Posts: 1104 Location: The Netherlands at Hole 19
|
|
|
|
Itanium wrote: |
The output files are dynamically allocated using AFDYNALC. |
Sorry, don't know AFDYNALC. Trust some one else to helpl you out. |
|
Back to top |
|
|
Itanium
Active User
Joined: 22 Jan 2006 Posts: 114 Location: India
|
|
|
|
I'm not sure whether the abend is due to AFDYNALC. I have displays after the allocation of file, they all are ok.
But the entry point of abend is the OPEN Statement.
Anyhow, thanks a lot for your time!
Thanks,
Itanium |
|
Back to top |
|
|
Bitneuker
CICS Moderator
Joined: 07 Nov 2005 Posts: 1104 Location: The Netherlands at Hole 19
|
|
|
|
I will look some futher then but right now my weekend starts. Enjoy yours |
|
Back to top |
|
|
Itanium
Active User
Joined: 22 Jan 2006 Posts: 114 Location: India
|
|
|
|
Ok. Freeing you for now! Catch you back on the very next weekday. Bye. |
|
Back to top |
|
|
NoListings
New User
Joined: 28 Oct 2006 Posts: 5 Location: Dallas, TX
|
|
|
|
The open allocates buffer space, which comes out of private storage. The default is 5 buffers * blocksize for each file. There should be a parameter to pass to the dynalloc program to specify how many buffers are to be allocated when the file is opened. This is the equivalent of the BUFNO sub-parameter on the JCL DD DCB parameter.
But a better approach might be to sort the file by output file number, then open and close each output file as you need it.
What is AFDYNALC? Is it an in-house program? |
|
Back to top |
|
|
Itanium
Active User
Joined: 22 Jan 2006 Posts: 114 Location: India
|
|
|
|
I'm passing no values to BUFNO,so it uses the default. Also I dont allocate all 100 files, only allocate the required no of files. I get the no of max files as input from another file.
Also I can't sort the input file by output file number for split.
AFDYNALC -It is Dynamic Allocation module used in our shop. Its not an inhouse program. |
|
Back to top |
|
|
NoListings
New User
Joined: 28 Oct 2006 Posts: 5 Location: Dallas, TX
|
|
|
|
Do you have documentation for AFDYNALC? What are the calling parameters? Who is the vendor? There may be a copyright notice embedded in the object code that tells who the vendor is. Go into ISPF option 1 and select linklibraryname(AFDYNALC) to browse the object code. linklibraryname should be in the SYSLIB concatenation in your link edit JCL. |
|
Back to top |
|
|
NoListings
New User
Joined: 28 Oct 2006 Posts: 5 Location: Dallas, TX
|
|
|
|
Also, how are you determining which file to write your records to? Are you just writing to file 1, 2, 3, 4,...n, then back to 1, 2, 3 etc, as you read them? |
|
Back to top |
|
|
Itanium
Active User
Joined: 22 Jan 2006 Posts: 114 Location: India
|
|
|
|
I belive the problem is opening all the 100 files without allocating them, I updated the program to open only the allocated files. Now the program is executing fine even if I allocate all 100 files. |
|
Back to top |
|
|
NoListings
New User
Joined: 28 Oct 2006 Posts: 5 Location: Dallas, TX
|
|
|
|
I'd have expected a different error, like a S0C4 if you're trying to open a file for which there's no DCB/DECB, but if it works, it works.
I'd still like to know who the vendor is for AFDYNALC. |
|
Back to top |
|
|
m.sanjiv
New User
Joined: 04 Nov 2006 Posts: 3
|
|
|
|
what is socb? |
|
Back to top |
|
|
William Thompson
Global Moderator
Joined: 18 Nov 2006 Posts: 3156 Location: Tucson AZ
|
|
|
|
Title: OS/390 V2R10.0 MVS System Codes
Document Number: GC28-1780-14
2.176 0Cx
0Cx
Explanation: A program interruption occurred, but no routine had been specified to handle this type of interruption. Refer to the instruction description in Principles of Operation to find out how the instruction stops processing for the error condition.
The last digit of this completion code is a hexadecimal number that indicates the cause of the program interruption. Each X'0Cx' system completion code has a reason code, which in most cases equals the last digit. X'0C4' however, has several reason codes.
Code Explanation
0CB Decimal-divide exception. The reason code is B. |
|
Back to top |
|
|
|