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.