No.
Besides you shouldn't need to. If you're not getting the same record format ID with the SQL created table that you did with the DDS defined one then you probably doing something wrong.
I say probably because there were a couple bugs years ago where the record format ID wasn't created properly.
Now if you want to add columns along with redefining in DDL, then what you need to do is:
- Extract the DDL from the DDS table (MYPF)
- Add whatever is needed to the DDL, while changing the name of the table (MYPF_T)
- Copy data from MYPF to MYPF_T
- Repoint existing logicals/views/indexes from MYPF to MYPF_T; without including any new columns.
- Recreate MYPF as a logical with the same name; leaving out any new columns.
Done correctly, none of the record format IDs for existing objects will change; thus no existing RPG programs will need to be recompiled.
Step 4 and 5 are the key. Many existing logicals probably share the existing PF record format like so:
A R MYPFR PFILE(MYPF)
A K ALTKEY
You want to change this to explicitly include the original columns in the PF:
A R MYPFR PFILE(MYPF_T)
A MYKEY R
A ALTKEY R
A FLD3 R
A FLD4 R
A <...>
A K ALTKEY
Note that the File level identifier will be different.
Data Base File Attributes
Externally described file . . . . . . . . . : Yes
SQL file type . . . . . . . . . . . . . . . : TABLE
File level identifier . . . . . . . . . . . : 1121222233155
That's fine, level checks are caused by differences in Record Format's Format Level Identifier
Record Format List
Record Format Level
Format Fields Length Identifier
IORITEM1 114 541 2FED88D05AB32