ABEND list for JCL

what is ABEND?
 
An ABEND (abnormal end) is an exception condition which results in the abnormal termination of a program or software. It is a common terminology used in the mainframe world where a JCL terminates with an error code. 



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

S002 -   Very large record length/ wrong record length

Sx22 -  Job has been cancelled. The value of x will vary depending on the way the job was  cancelled.
.
S222 -   Means job was cancelled by a user or operator without a dump.
              If a TSO session times out you will probably get an S522 ABEND code.

S222 -   The job was cancelled (by subsystem or operator) because it violated
              Some restriction.

S522 -   JOB or TSO session exceeded maximum job wait time OR
              Operator did not mount the require tape within allowed time limit  

S806 -   Load module not found

SB37 -   Space problem, allotted space is not enough for data set

S913 -   You are trying to access a dataset which you are not authorized to use.

SOC7 -   1. Moving non-numeric value to numeric field
               2. Not initializing the numeric variables before first use

SOC4 -   1. Index exceeds the size of table
               2. Trying to use File Section variables without opening the file

S0C1 -    Operation Exception. Check for subscript errors, missing DD card, file not opened.

SE37 - Insufficient disk space.

U1026 - COBOL sort failed.

U1056 - Program didn't close a file before ending



What is a S222 Abend?
S222 is a system ABEND (operator cancelled).

When S222 Abend occurs?
  • This generally occurs when the program is looping and the operator has to cancel the job.
  • Job may be waiting for resources which are not available temporarily and the operator cancels the job.
  • The job is causing contention with other jobs.
How to Resolve S222?
  • If the program is looping then the program needs to be fixed
  • If it was cancelled due to resource unavailability then you might resubmit it, once the resources required by the job are made available. 
 When S222 Abend occurs?
  • This generally occurs when the program is looping and the operator has to cancel the job.
  • Job may be waiting for resources which are not available temporarily and the operator cancels the job.
  • The job is causing contention with other jobs.
How to Resolve S222?
  • If the program is looping then the program needs to be fixed
  • If it was cancelled due to resource unavailability then you might resubmit it, once the resources required by the job are made available. 


When SB37, SD37 and SE37 Abend occurs?
  • SB37    -   Insufficient disk space (End of volume and no further volume specified)
  • SD37    -   Insufficient disk space. (No secondary allocation was specified)
  • SE37    -   Insufficient disk space. (Max. of 16 extents already allocated)
                                                                                       
SB37:  Whenever you get this ABEND. Try to increase the primary and secondary space as per the number of records in input file. One more condition is Secondary space value should be 20% of primary. EX: Space= (CYL, (100, 20)), If you still getting SB37. Try to change the Unit Parameter so that when the system couldn’t able to create extent on a volume it will skip to next volume.

SE37: This is because of Volume out of space. We have to involve corresponding team that takes care of volume spaces. Ask them to add more space for volume.

SD37: Primary is full but secondary not specified. Mostly we won’t get this ABEND. Because we will specify primary and secondary without fail when creating a dataset.



When SOC1 Abend occurs?

S0C1:     Missing or misspelled DD name.
               Read/Write to unopened dataset.
               Read to dataset opened output.
               Write to dataset opened input.
               Called subprogram not found.


What is a S0C4 Abend?

S0C4 Abend is a protection exception when a virtual address cannot be mapped with a physical address.

When S0C4 Abend occurs?
  • An Invalid address referenced due to subscript error
  • In a group Move the length of the receiving field was defined incorrectly
  • Moving variable length record which is larger than the receiving field’s length.
  • Read/Write a file which has not been opened in the program.
  • Read/Write a file after EOF.
  • Invalid prams passed through linkage section.
  • Used DD dummy with logic that moves high values to FD at end of read.
  • Tried to use CALL within COBOL SORT Input output procedure
  • Using GOBACK in COBOL SORT output procedure
How to Resolve S0C4?
  • You can check for missing SELECT statements in COBOL program
  • You can check if there are any uninitialized indexes or subscripts in the program.
  • You can check if the program is reading any file which is not opened.
  • You can check if the program is missing SELECT ASSIGN clause
  • You can check if the LRECL matches with the length of file specified in file descriptor in COBOL.


When S0C7 Abend occurs ?

S0C7 Abend is a Data exception which is caused when a usage computational-3 field has an invalid data (which is not 0-9). It may also be caused if the last byte contains an invalid sign bit (which is anything other than f, c, or d).
Example scenarios when S0C7 can be caused:-
  • When an Index or Subscript is uninitialized.
  • Incorrect overlapping of fields in arithmetic packed decimal.
  • When trying to read a table, the subscript reaches beyond the size of an array.
How to solve S0C7 ABEND?
 
For figuring out the exact piece of code that caused the ABEND, look at the Job dump and find the offset at which this ABEND has occurred. Once you have the offset, search for this offset in the compiler listing and you will get the exact statement which has caused the issue.
With this information you can proceed with the action to be taken. Correcting the data.
Fixing the code to initializing the variables.

Comments

Popular posts from this blog

COBOL + DB2 complication process.

difference between jes2 and jes3