Program Status Codes

Any code placed in the subfield location *STATUS that is greater than 99 is considered to be an exception/error condition. When the status code is greater than 99; the error indicator — if specified in positions 73 and 74 — is set on, or the %ERROR built-in function — if the 'E' extender is specified — is set to return '1', or control passes to the appropriate ON-ERROR group within a MONITOR block; otherwise, the program exception/error subroutine receives control. Location *STATUS is updated when an exception/error occurs.

The %STATUS built-in function returns the most recent value set for the program or file status.

The following codes are placed in the subfield location *STATUS for the program status data structure:

Normal Codes
Code
Condition
00000
No exception/error occurred
00001
Called program returned with the LR indicator on.
00050
Conversion resulted in substitution.
Exception/Error Codes
Code
Condition
00100
Value out of range for string operation
00101
Negative square root
00102
Divide by zero
00103
An intermediate result is not large enough to contain the result.
00104
Float underflow. An intermediate value is too small to be contained in the intermediate result field.
00105
Invalid characters in character to numeric conversion functions.
00112
Invalid Date, Time or Timestamp value.
00113
Date overflow or underflow. (For example, when the result of a Date calculation results in a number greater than *HIVAL or less than *LOVAL.)
00114
Date mapping errors, where a Date is mapped from a 4-character year to a 2-character year, and the date range is not 1940-2039.
00115
Variable-length field has a current length that is not valid.
00120
Table or array out of sequence.
00121
Array index not valid
00122
OCCUR outside of range
00123
Reset attempted during initialization step of program
00202
Called program or procedure failed; halt indicator (H1 through H9) not on
00211
Error calling program or procedure
00222
Pointer or parameter error
00231
Called program or procedure returned with halt indicator on
00232
Halt indicator on in this program
00233
Halt indicator on when RETURN operation run
00299
RPG IV formatted dump failed
00301
Class or method not found for a method call, or error in method call.
00302
Error while converting a Java™ array to an RPG parameter on entry to a Java native method.
00303
Error converting RPG parameter to Java array on exit from an RPG native method.
00304
Error converting RPG parameter to Java array in preparation for a Java method call.
00305
Error converting Java array to RPG parameter or return value after a Java method.
00306
Error converting RPG return value to Java array.
00333
Error on DSPLY operation
00351
Error parsing XML document
00352
Invalid option for %XML
00353
XML document does not match RPG variable
00354
Error preparing for XML parsing
00401
Data area specified on IN/OUT not found
00402
*PDA not valid for non-prestart job
00411
Data area type or length does not match
00412
Data area not locked for output
00413
Error on IN/OUT operation
00414
User not authorized to use data area
00415
User not authorized to change data area
00421
Error on UNLOCK operation
00425
Length requested for storage allocation is out of range
00426
Error encountered during storage management operation
00431
Data area previously locked by another program
00432
Data area locked by program in the same process
00450
Character field not entirely enclosed by shift-out and shift-in characters
00451
Conversion between two CCSIDs is not supported.
Start of change00452End of change
Start of changeSome characters could not be converted between two CCSIDs.End of change
00501
Failure to retrieve sort sequence.
00502
Failure to convert sort sequence.
00802
Commitment control not active.
00803
Rollback operation failed.
00804
Error occurred on COMMIT operation
00805
Error occurred on ROLBK operation
00907
Decimal data error (digit or sign not valid)
00970
The level number of the compiler used to generate the program does not agree with the level number of the RPG IV run-time subroutines.
09998
Internal failure in ILE RPG compiler or in run-time subroutines
09999
Program exception in system routine.