Q. I’m having problems using /Copy in a free format RPG block. The compiler error I get is:
RNF0257 Form-Type entry not valid or out of sequence.
What am I doing wrong?
A. When you’re coding in free format, this error message almost always means that the compiler ran into fixed format syntax in a free format block.
/Copy members are considered to be fixed format syntax, even if you code the /Copy statement in a free format block of code. If the /Copy member contains free format syntax, you should enclose the free format code in the /Copy member in its own /Free and /End-free delimiters.
In the primary source member, you need not code /End-free before you code the /Copy directive:
/Free ... (Free format code) /Copy library/srcfile, member ... (More free format code) /End-free
You can also indent the /Copy directive, if you wish, instead of beginning in column 7.
Incidentally, the conditional compilation directives(/Define, /Undefine, /If, /Elseif, /Else, /Endif, and /Eof) also work in free format syntax. And, contrary to IBM’s documentation, you can also indent these directives in free format syntax.