Created On:  25 July 2012


The calculation is coded as follows:




The values loaded into COMM-FACT and BEN-ER-FULL-ANNUAL are zero.

If the value inserted into BEN-ER-CASH-LSUM-COMMUTED is 63, the result is 300.00

It would seem as though where a value is loaded into the last integer digit the result is returned with a value other than zero.


In normal circumstances you cannot divide by zero and the SIZE ERROR option should be used.

However, AcuCobol has the following configuration file setting A_CHECKDIV.

This variable allows you to specify an alternate runtime response to a divide by zero condition when the statement does not include a SIZE ERROR clause.

In COBOL, a division by zero produces a size error condition. The SIZE ERROR clause allows the programmer to specify actions to take when this condition occurs.
If there is no SIZE ERROR clause, by default in ACUCOBOL-GT the results are undefined. You can use the A_CHECKDIV configuration variable to specify alternate handling.

Incident #2582581