>>--.---.--.----.--HOST-NUMCOMPARE------>< +-/-+ +-NO-+
This directive is provided to improve 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-NUMCOMPARE improves compatibility with IBM mainframe compilers for a subset of IF statements when comparing numeric data items with other operands.
It is not possible to guarantee 100% compatibility with the IBM mainframe behavior, but setting HOST-NUMCOMPARE does provide emulation for the most common cases.
HOST-NUMCOMPARE 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-NUMCOMPARE 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.