Checking for incompatible data (numeric class test)
The compiler assumes
that values you supply for a data
item are valid for the PICTURE
and USAGE
clauses,
and does not check their validity. Ensure that the contents of a data
item conform to the PICTURE
and USAGE
clauses
before using the item in additional processing.
About this task
It
can happen that values are passed into your program and assigned to
items that have incompatible data descriptions for those values. For
example, nonnumeric data might be moved or passed into a field that
is defined as numeric, or a signed number might be passed into a field
that is defined as unsigned. In either case, the receiving fields
contain invalid data. When you give an item a value that is incompatible
with its data description, references to that item in the PROCEDURE
DIVISION
are undefined and your results are unpredictable.
You can use the numeric class test to perform data validation. For example:
Linkage Section.
01 Count-x Pic 999.
. . .
Procedure Division Using Count-x.
If Count-x is numeric then display "Data is good"
The numeric class test checks the contents of a data
item against a set of values that are valid for the PICTURE
and USAGE
of
the data item.