This program started out as an easy way to view all of the fields in a physical or logical file along with their lengths and other properties. From there it grew like a weed. One window will list all of the key fields in order, another window will list all of the select/omit fields for the file, yet another will list all of the associated logical files. Press a function key and you get a record selection query. Press another function key and you get an instant query. Press yet another function key and you get a list of all the associated files with their key fields listed in order and the ability to select one to replace the file you are currently looking at.
Then I added the ability to look at up to four files with a function key to switch among them, a window to select the one you want to see or close one or more, and, again, the ability to see all logical/physical files based on the any of the files at which you are looking.
This is the source for the command which starts the program.
This is the source for the main control language program. It does all of the processing necessary to get the information about the file to display.
This is the source for the display file.
This is the panel group source for the context-sensitive help.
This is the RPG source - it is written entirely in /Free.
This is the source for the printer file.
This is a CL program to get the name of the physical file if a logical is specified in the initial command.
This is a CL program that is called by the RPG program when a new file is specified.
There are four logical files created over the *OUTFILEs created in QTEMP. This is the source for them. The logicals are created automatically when the program is run and do not need to exist otherwise.
This is a command and CL program used to create all of the objects necessary for the DSPFLD command to run. This should be run after the source has been copied to your library.