Previous Topic: Set Status ConditionNext Topic: Constants


Arithmetic and Assignment Command Status Condition

Purpose

Tests the results of the previous assignment command.

Syntax

►►─┬─ ANY-DATA-ERROR ──────────────────────┬──────────────────────────────────►◄
   ├─ BAD-DATA-TYPE ───────────────────────┤
   ├─ UNSUPPORTED-DATA-CONVERSION ─────────┤
   ├─ NO-NUMBER-EBCDIC/NUMERIC-CONVERSION ─┤
   ├─ INCORRECT-FIELD-LENGTH ──────────────┤
   ├─ INVALID-SUBSCRIPT-VALUE ─────────────┤
   ├─ DATE-FORMAT-ERROR ───────────────────┤
   ├─ SPECIFICATION-EXCEPTION ─────────────┤
   ├─ DATA-EXCEPTION ──────────────────────┤
   ├─ FIXED-POINT-OVERFLOW-EXCEPTION ──────┤
   ├─ FIXED-POINT-DIVIDE-EXCEPTION ────────┤
   ├─ DECIMAL-OVERFLOW-EXCEPTION ──────────┤
   ├─ DECIMAL-DIVIDE-EXCEPTION ────────────┤
   ├─ FLOATING-POINT-DIVIDE-EXCEPTION ─────┤
   ├─ EXPONENT-OVERFLOW-EXCEPTION ─────────┤
   ├─ EXPONENT-UNDERFLOW-EXCEPTION ────────┤
   └─ SIGNIFICANCE-EXCEPTION ──────────────┘

Example

The following example shows how the ALLOWING clause can be used to prevent application abends. The specified MOVE command moves a numeric field from an eight-byte field to a four-byte field. The application must be prepared to handle any error condition that might arise.

MOVE big-num TO little-num ALLOWING-ANY-DATA-ERROR.
IF DECIMAL-OVERFLOW-EXCEPTION
   DISPLAY MSG MESSAGE TEXT 'SOURCE DATA TOO LARGE'.
IF ANY-DATA-ERROR
   DISPLAY MSG MESSAGE TEXT 'INVALID DATA VALUE'.