If you change the source and then change the PF with no level check you should not have to recompile the RPG program
Unless something has changed in a later release level that I am not familiar with I believe this will only work if the field you added is alpha. If this is a numeric field I believe you will get an error unless you re-compile the program.
That will generally work, provide all of the changes are after the columns used by the program when it was compiled. So if the file had colA, colB, and colC you should not delete or change the type or size of these columns but you can add a colD and set the level check to no.
Setting the level check to no is generally a poor practice but it sound like you haven’t got a choice.
Or you could create a new file with the same keys for the additional data and keep the level checks *yes.
No, use the command dspprgref on the program. If the DSPPGRREF has file level check value for this file and
the file has use level check *yes then if the levels don’t match the program will throw an error.