Ensures that run-time error 163 (illegal characters in numeric fields) does not occur when certain MOVE statements are executed on numeric display data items or numeric operands.
Syntax:
>>--.---.--.----.--HOST-NUMMOVE------><
+-/-+ +-NO-+
Properties:
Default:
|
NOHOST-NUMMOVE
|
Phase:
|
Syntax check
|
$SET:
|
Any
|
Comments:
This directive improves compatibility with IBM mainframe compilers, resulting in a run-time error 163 ("Illegal character in numeric field") in cases where a S0C7 would have occurred on the mainframe.
Setting HOST-NUMMOVE improves compatibility with IBM mainframe compilers for a subset of MOVE statements involving numeric/alphanumeric data types and numeric/numeric data types.
It is not possible to guarantee 100% compatibility with the IBM mainframe behavior, but setting HOST-NUMMOVE does provide emulation for the most common cases.
HOST-NUMMOVE is only supported for SIGN settings of ASCII, MF, EBCDIC, and IBM.
For managed COBOL, SIGN"EBCDIC", along with one of HOST-NUMMOVE, HOST-NUMCOMPARE or SIGN-FIXUP is an invalid combination of directives, and is rejected during compilation. For native COBOL, the combination is permitted.
Use HOST-NUMMOVE with CHARSET(EBCDIC) for maximum compatibility with IBM mainframe behavior. If CHARSET(ASCII) is used, then some compatibility may be lost due to character encoding differences.