Q: Something that really bugs me from time to time is the fact that I can't access (in RPG) the entire record of an externally described file without having to put all the fields in the I-specs. Am I missing something? Is there a way to do this? One of the great benefits of having files externally described in RPG is that it pulls all the field definitions into the program for you. But what about the record? Is there a way to access the record format name?
A: You can use an externally defined data structure in conjunction with an externally defined file, as shown in 2.
A: You can use an externally defined data structure in conjunction with an externally defined file, as shown in Figure 2.
The disadvantage is that a field cannot appear in more than one data structure, so you would have conflicts if you used this technique with two files with a common field name. Also, this won't work with a multiformat file, since the data structure will be defined with the first record format.
To access the name of the record format, use positions 261-270 of the INFDS File Information Data Structure.
Accessing an Externally Defined Record in RPG
Figure 2 Externally Defined Data Structure in RPG
*. 1 ...+... 2 ...+... 3 ...+... 4 ...+... 5 FMYFILE IF E K DISK IMYREC E DSMYFILE C MOVE MYREC THERE