0% found this document useful (0 votes)
338 views

JCL Error Codes

The document provides explanations and suggestions for various DB2, JCL, and z/OS error codes encountered during database operations or job execution. Key error codes covered include -904 related to unavailable resources, -911 indicating deadlocks or timeouts, and -305 regarding null values and indicator variables. Suggestions focus on checking logs, adding commits, correcting cursor logic, and ensuring parent and child table operations are properly ordered.

Uploaded by

manmohan gurjar
Copyright
© © All Rights Reserved
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
338 views

JCL Error Codes

The document provides explanations and suggestions for various DB2, JCL, and z/OS error codes encountered during database operations or job execution. Key error codes covered include -904 related to unavailable resources, -911 indicating deadlocks or timeouts, and -305 regarding null values and indicator variables. Suggestions focus on checking logs, adding commits, correcting cursor logic, and ensuring parent and child table operations are properly ordered.

Uploaded by

manmohan gurjar
Copyright
© © All Rights Reserved
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 2

+802 The null indicator was set to -2 because an arithmetic statement didn't work.

-805: DBRM or PACKAGE not found in PLAN

803

-811 Cursor should be used , when more than one row returned as an result of an singleton SELECT query
-818 Timestamp mismatch between plan and load module

-904 UNSUCCESSFUL EXECUTION CAUSED BY AN UNAVAILABLE RESOURCE. REASON reason-code, TYPE OF


RESOURCE resource-type, AND RESOURCE NAME resource-name.
Suggestion: -904 is usually caused because a database utility job has started the desired DB 2 object in utility mode. Check DB2
Master Log for more details on the resource name – contact DBA.

-911 THE CURRENT UNIT OF WORK HAS BEEN ROLLED BACK DUE TO DEADLOCK OR TIMEOUT. REASON
reason-code, TYPE OF RESOURCE resource-type, AND RESOURCE NAME resource-name.
Suggestion: Review DB2 Master Log to find process holding DB2 locks. Consider adding additional COMMITs to program
holding the DB2 resource.

-305 THE NULL VALUE CANNOT BE ASSIGNED TO OUTPUT HOST VARIABLE NUMBER position-number BECAUSE
NO INDICATOR VARIABLE IS SPECIFIED. Suggestion: Add null indicator variable to SELECT statement in the format of
“column:hostvarind.

501 THE CURSOR IDENTIFIED IN A FETCH OR CLOSE STATEMENT IS NOT OPEN.


Suggestion: Correct logic in application program to OPEN the cursor before the FETCH or CLOSE statement.
502 THE CURSOR IDENTIFIED IN AN OPEN STATEMENT IS ALREADY OPEN.
Suggestion: Correct logic in application program to CLOSE the CURSOR before the OPEN statement.
503 A COLUMN CANNOT BE UPDATED BECAUSE IT IS NOT IDENTIFIED IN THE UPDATE CLAUSE OF THE
SELECT STATEMENT OF THE CURSOR.
Suggestion: Use FOR UPDATE statement in your cursor.
530 THE INSERT OR UPDATE VALUE OF FOREIGN KEY constraint-name IS INVALID.
Suggestion: Ensure that INSERT row for DB2 PARENT table is completed before INSERT row in CHILD table.
532 THE RELATIONSHIP constraint-name RESTRICTS THE DELETION OF ROW WITH RID X’rid-number‘.
Suggestion: Change the program to DELETE CHILD table row before DELETE of row on PARENT table.

JCL error codes:


S0CB - Attempting to divide by 0 and not using ON SIZE ERROR

SOC7 - 1. Moving non-numeric value to numeric field


2. Not initilizing the numeric variables before first use

SOC4 - Trying to access storage not available to the program. Can be caused by a subscripting error or reading/writing a file
that isn’t open.

S0C1 - 1 A JCL DD statement was either invalid or missing. 


 2. An attempt was made to open a data set which was already open. 
 3. A read/write was attempted to an unopened data set. 
 4. An attempt was made to execute a subroutine which was not link edited into the load module. 
 5. The select clause was invalid for an isam data set.

SE37 - This often occurs when you try to add members to a PDS, and you get E37 ABEND. It occurs because the PDS
Directory require more space for its members, than it was initially alloted
SB37 - This is out of space abend. To resolve the issue, specify the output dataset with larger primary and secondary quantity,
and re-run the job

SD37 - This abend due to the dataset which is specified in the job used all the primary space, and there was no secondary space
specified in the job

S522    This is due to TSO time out - TIME=1440 on the exec statement to bypass all job step timing

SE22 Indicates a time out abend. Your program has taken more CPU time than the default limit for the job class.
Could indicate an infinite loop. 
S822    This ABEND occurs when the region requested to initiate the job or TSO user could not be obtained. 
 S913 - You are trying to access a dataset which you are not authorized to use.

You might also like