Chapter 4-6: ILF Keyword Reference
OVERFLOW
The OVERFLOW statement provides a means for intercepting numeric overflow conditions which can be caused by division by zero or by a result too large to be stored in a numeric destination field. The OVERFLOW statement specifies a label in much the same manner as a GOTO statement.
••••• OVERFLOW ••••••••••••••••••••••••••••••
(1) (2)
(2) Label |
If a statement subsequent to the OVERFLOW statement references a numeric field and causes an overflow condition, processing control is transferred to the statement immediately following the specified label. The LABEL statement referenced by the OVERFLOW statement can be anywhere in the same event point as the OVERFLOW.
The OVERFLOW statement may be respecified at any time with another label, or the intercept may be disabled by an OVERFLOW statement with no label specified. Intercepts are automatically disabled when the event point that they are contained in is complete.
A process compile error occurs if the referenced LABEL is not defined within the same event point as the OVERFLOW statement, and also not defined in any ILF subroutines copied into the event point with the COPY statement.
CALC, COMPUTE, COPY, LABEL, SET, SET TOT
In the following example, the OVERFLOW statement prevents the event point from failing with an overflow condition caused either by WORK AVG SALES not being large enough to store the integer component of WORK TOTAL SALES or by a division by zero error should the number of salesreps be zero.
OVERFLOW :WORK AVG SALES OVERFLOW
SET TAR WORK AVG SALES = TAR WORK
TOTAL SALES
COMPUTE TAR WORK AVG SALES / TAR WORK NO SALESREPS
GOTO :DISPLAY RESULTS
*
LABEL :WORK AVG SALES OVERFLOW
SET TAR WORK AVG SALES = 0
WARNING Numeric Overflow - WORK AVG SALES set to zero!
*
LABEL :DISPLAY RESULTS
DISPLAY TAR WORK AVG SALES
APPX Application Design Manual (01/13/03)
© 2003 by APPX Software, Inc. All rights reserved