It is not new to RPG but every now and then it is useful to remember that if we want to use, within our RPG programs, some fancy file names that “point” to a different file (for example when we have the same file open in INPUT and in UPDATE-ADD with two different names), we can use the EXTFILE and EXTDESC keywords and avoid OVRDBFs in the CL or at compile time.
Let’s take this example from John B in Midrange.com discussions: https://archive.midrange.com/rpg400-l/202208/msg00115.html
- >> EXTFILE eliminates the need to do a RUN-TIME OVRDBF.
--- >> EXTDESC eliminates the need of a COMPILE-TIME OVRDBF.
dcl-f bar542d workstn infds (ScrDS) extfile ('GLOBAL / BAR542D') extdesc ('GLOBAL / BAR542D');
Simon Hutchinson already told us about it in 2013: Useful keywords for your F-specs
--- Roberto De Pedrini Faq400.com
Even simpler is to use extfile(*ExtDesc). Eg.
dcl-f bar542d workstn infds(ScrDS)
extdesc(‘GLOBAL/BAR542D’)
extfile(*ExtDesc);