Operation Extender

Entry
Explanation
Blank
No operation extension supplied
A
Used on the DUMP operation to indicate that the operation is always performed regardless of the DEBUG option set on the H specification.
H
Half adjust (round) result of numeric operation
N
Record is read but not locked
Set pointer to *NULL after successful DEALLOC
P
Pad the result field with blanks
D
Pass operational descriptors on bound call
Date field
T
Time field
Z
Timestamp field
M
Default precision rules
R
"Result Decimal Position" precision rules
E
Error handling

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.