The operation extenders provide additional attributes to the operations that they accompany. Operation extenders are specified in positions 26-35 of calculation specifications. They must begin to the right of the operation code and be contained within parentheses; blanks can be used for readability. For example, the following are all valid entries: MULT(H), MULT (H), MULT ( H ).
More than one operation extender can be specified. For example, the CALLP operation can specify both error handling and the default precision rules with CALLP(EM).
An H indicates whether the contents of the result field are to be half adjusted (rounded). Resulting indicators are set according to the value of the result field after half-adjusting has been done.
An N in a READ, READE, READP, READPE, or CHAIN operation on an update disk file indicates that a record is to be read, but not locked. If no value is specified, the default action of locking occurs.
An N in a DEALLOC operation indicates that the result field pointer is to be set to *NULL after a successful deallocation.
A P indicates that, the result field is padded after executing the instruction if the result field is longer than the result of the operation.
A D when specified on the CALLB operation code indicates that operational descriptors are included.
The D, T, and Z extenders can be used with the TEST operation code to indicate a date, time, or timestamp field.
M and R are specified for the precision of single free-form expressions. For more information, see Precision Rules for Numeric Operations.
An M indicates that the default precision rules are used.
An R indicates that the precision of a decimal intermediate will be computed such that the number of decimal places will never be reduced smaller than the number of decimal positions of the result of the assignment.
An E indicates that operation-related errors will be checked with built-in function %ERROR.