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.