MULTIPLY

MULTIPLY returns the product of x and y, with a precision specified by p and q.

The base, scale, and mode of the result are determined by the rules for expression evaluation unless overruled by the PRECTYPE compiler option.

Read syntax diagramSkip visual syntax diagramMULTIPLY( x, y, p, q)
x and y
Expressions.
p
Restricted expression that specifies the number of digits to be maintained throughout the operation.
q
Restricted expression that specifies the scaling factor of the result. For a fixed-point result, if q is omitted, a scaling factor of zero is assumed. For a floating-point result, q must be omitted.
Note that when applied to FIXED DECIMAL, then if the mathematical result is too big for the specified precision p but less than the maximum implementation value,
  • if SIZE is disabled, the FIXEDOVERFLOW condition will not be raised and the result will be truncated
  • if SIZE is enabled, the SIZE condition will be raised

Note that the above text is false when the non-default compiler option DECIMAL(FOFLONMULT) is in effect. In that case, FIXEDOVERFLOW will be raised if SIZE is disabled (and the result is too big).