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
- 00125
- The string operand is not valid.
- 00126
- An error occurred while sending a message.
- 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
- 00355
- The program or procedure is not available for the DATA-GEN or DATA-INTO operation
- 00356
- The document for the DATA-INTO operation does not match the RPG variable
- 00356
- The document for the DATA-INTO operation does not match the RPG variable
- 00357
- The parser for the DATA-INTO operation detected an error
- 00358
- The information supplied by the parser for the DATA-INTO operation was in error
- 00359
- An error occurred while running the program or procedure for the DATA-INTO or DATA-GEN operation
- 00361
- An error occurred preparing the data from the RPG variable for the generator for DATA-GEN
- 00362
- The information supplied by the generator for the DATA-GEN operation was in error
- 00363
- 00364
- An error occurred while handling the output file or output variable for the DATA-GEN operation
- 00365
- An error occurred with the sequence of DATA-GEN operations
- 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
- 00452
- Some characters could not be converted between two CCSIDs
- 00453
- An error occurred during conversion between two CCSIDs
- 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
- Exception message received by procedure.