option #11
WTSupported in traditional Synergy on Windows


USupported on UNIX

VSupported on OpenVMS

System option #11 determines whether Synergy DBL rounds or truncates expression results by default.
If option #11 is set, Synergy DBL truncates results in the following situations at compile time:
 Stores from an implieddecimal type or an alpha type in implieddecimal format (for example, “1.3”) to either an integer, a decimal, or an implieddecimal with a smaller fractional precision
 Intrinsic functions and systemsupplied subroutines when an implieddecimal value is passed as an argument to a routine expecting a decimal or integer value
 The following data references when an implieddecimal value is used in place of a decimal or integer value (where dexp is specified):
dim_var[dexp, dexp, ...] ^arg(dexp) var(dexp) ^argn(dexp) var(dexp, dexp) ^d(exp, dexp) var(dexp:dexp)
 The GOTO statement when an implieddecimal value is used in place of a decimal or integer value (where dexp is specified):
goto (lbl, lbl, ...) dexp
 I/O statements when an implieddecimal value is used as a channel argument or qualifier value
 Multiplication or division operations, if the result is an implieddecimal value with more than 10 digits of fractional precision
 READ and WRITE statements when you specify the record number as the third argument (where dexp is specified):
read(channel, data_area, dexp)
 %IMPLIED with an alpha argument containing an implieddecimal value whose fractional precision is greater than 10
If option #11 is not set, Synergy DBL defaults to rounding in each of the above situations. When rounding, if the leftmost digit (or the eleventh digit for multiplication or division) of the fractional precision is in the range 5 through 9, Synergy DBL adds one to the absolute value of the whole number part (or the fractional part for multiplication or division). For example, if system option #11 is not set and you specify 3.5 as the record number to read in a READ statement, you get the fourth record. If system option #11 is set, you get the third record.
The state of this option is overridden in routines using the ROUND or TRUNCATE option on MAIN, SUBROUTINE, and FUNCTION.
This option is only used at compile time. It is ignored at runtime.