CONVERSION 条件

結果フィールドの内容が未定義であることを示します。

有効/無効の状態

常に有効です。

結果

CONVERSION が発生する場合、結果フィールド全体の内容は未定義です。

発生

文字データに対して無効な変換が試行された場合に発生します。この試行は、数値変数への文字データの直接割り当て時または入出力操作時に実行できます。たとえば、固定長バイナリ値に変換される文字値に数値以外の文字が含まれている場合や、0 または 1 以外の文字がビット データ型に変換される場合に、この条件を発生させることができます。

CONVERSION ON-unit で ONSOURCE、ONCHAR、ONGSOURCE、および ONWSOURCE 疑似変数を使用して、変換エラーを修正できます。

文字データの変換は、すべて左から右の順に 1 文字単位で実行されます。この条件は、無効な文字があるごとに、およびすべての文字が空白の場合に発生します。ただし、次の例外があります。

  • F 形式項目で入力した場合、値は 0 とみなされます。
  • E 形式項目で入力すると、ON-unit に繰り返し入る場合があります。

NULL 文字列または 1 つ以上の空白からなる文字列が数値変数に割り当てられる場合、CONVERSION 条件は発生しません。

CONVERSION 条件が発生すると、ONSUBCODE 組み込み関数は問題のある文字またはグラフィックの索引を返します。

無効な文字が出現した場合は、ONSOURCE または ONCHAR 擬似変数を使用して ON-unit 内で無効な文字を置き換えることができます。

CONVERSION 条件が発生して無効になっている場合、これはプログラムにエラーがあることを意味します。

その他の情報

省略形
CONV
条件コード
600、672
暗黙の処理
メッセージを出力し、ERROR 条件を発生させます。
通常の復帰
CONVERSION ON-unit から戻ると、ONSOURCE または ONCHAR 疑似変数が使用されている場合にはプログラムによって変換が再試行されます。エラーが修正されない場合は、ERROR 条件が発生し、例外が発生したコードに制御が戻されます。

擬似変数を使用して変換エラーを修正しない場合、プログラムはループします。