Diagnostic Reference

A fixed-format D-spec whose data-type column (40) holds a character that is not a data type is reported and then read as blank, which is IBM i's own recovery. It carries IBM's code for the same reason as the tables above.

Code Message Cause
RNF3302 The Data-Type entry is not valid; defaults to blank Column 40 of a D-spec holds a character that is not one of A P S B I U N D T Z F G C * O, or blank.

This is a warning, not an error: the declaration still compiles. Compile with --strict to have it - and every other warning - stop the build.

"Defaults to blank" means the declaration is read as though column 40 were empty: a character field when the declaration states a length and no decimal positions, and a numeric one when it states decimal positions. A blank column 40 is itself perfectly valid and draws no diagnostic; only a non-blank character that is not a data type does.