USAGE DISPLAY の整数型の数字データ項目と、英数字定数、表意定数または数字作用対象を比較する。
>>--.---.--.----.--HOST-NUMCOMPARE------>< +-/-+ +-NO-+
なし
デフォルト: | NOHOST-NUMCOMPARE |
段階: | 構文チェック |
$SET: | 任意 |
この指令を指定すると、IBM メインフレームのコンパイラとの互換性を高めるために、メインフレーム上で S0C7 が発生する場合に、ランタイム エラー 163 (「数字フィールド内に無効な文字がある 」) が返される。
HOST-NUMCOMPARE を指定すると、数字データ項目と数字データ項目または数字定数を比較する IF 文のサブセットに関して、IBM メインフレームのコンパイラとの互換性が高くなる。
IBM メインフレームの動作との互換性が完全に保証されるわけではないが、ほとんどの動作がエミュレートされる。
HOST-NUMCOMPARE は、SIGN 指令に ASCII、MF、EBCDIC、IBM のいずれかが設定されている場合にのみサポートされる。
マネージ COBOL の場合、SIGN"EBCDIC" を HOST-NUMMOVE、HOST-NUMCOMPARE、または SIGN-FIXUP のいずれかと併用すると、無効な組み合わせの指令となり、コンパイル時に拒否される。ネイティブ COBOL の場合、この組み合わせは有効となる。
IBM メインフレームの動作との互換性を最大限に高めるには、HOST-NUMCOMPARE を CHARSET(EBCDIC) で使用する。CHARSET(ASCII) を使用する場合には、文字コードの違いにより互換性は一部失われる。