There are several ways to specify a length for a field. If multiple lengths are specified and they conflict, then one of the lengths takes precedence. A warning is issued when a conflict exists. The following rules determine which field length is used:
The size of SMALLINT
, FLOAT
, and DOUBLE
data is fixed, regardless of the number of bytes specified in the POSITION
clause.
If the length (or precision) specified for a DECIMAL
, INTEGER
, ZONED
, GRAPHIC
, GRAPHIC EXTERNAL
, or RAW
field conflicts with the size calculated from a POSITION
(start:end)
specification, then the specified length (or precision) is used.
If the maximum size specified for a character or VARGRAPHIC
field conflicts with the size calculated from a POSITION
(start:end)
specification, then the specified maximum is used.
For example, assume that the native data type INTEGER
is 4 bytes long and the following field specification is given:
column1 POSITION(1:6) INTEGER
In this case, a warning is issued, and the proper length (4) is used. The log file shows the actual length used under the heading "Len" in the column table:
Column Name Position Len Term Encl Data Type ----------------------- --------- ----- ---- ---- --------- COLUMN1 1:6 4 INTEGER