コンパイラーは、データ項目に指定された値が PICTURE および USAGE 文節に対して有効であると想定し、妥当性検査を行いません。 データ項目を追加の処理で使用する前に、そのデータ項目の内容が PICTURE および USAGE 文節に適合していることを確認してください。
値がプログラムに渡され、それらの値に対する互換性のないデータ記述を持つ項目に割り当てられることがよくあります。 例えば、非数値データが、数値として定義されたフィールドに移動されたり、渡されたりすることがあります。あるいは、符号付き数値が、符号なしとして定義されたフィールドに渡されることがあります。いずれの場合にも、受信フィールドには無効なデータが入れられます。項目にそれのデータ記述と互換性のない値が与えられると、PROCEDURE DIVISION 内でのその項目への参照が未定義になり、結果が予測できなくなります。
数値のクラス・テストを使用して、データ妥当性検査を行うことができます。 以下に、その例を示します。
Linkage Section.
01 Count-x Pic 999.
. . .
Procedure Division Using Count-x.
If Count-x is numeric then display “Data is good”
数値のクラス・テストでは、データ項目の内容が、そのデータ項目の PICTURE および USAGE にとって有効な値のセットと照合されます。