Go to this site, http://home.alltel.net/craigru/jcrcmd2.html . It is Craig Rutledge’s site and he has a utility that will create a DDS member of the file. He also has several other useful tools.
I have written an in house utility that will display the file layout of any file on an iSeries showing field name, location, attributes and text. Additionally you can print this out via a function key. It uses DSPFFD outfile for the data but shows it instantly in a readable format. If you would like a copy, free of charge, let me your email address.
I don’t believe the source is provided for the system-supplied files. You may be able to find a tool that will retrieve the source for you, or you may be able to re-create the source manually by using DSPFD and DSPFFD to find the field and file definitions.
The List of Columns of ANY file can be retrieved by:
into a database file:
DSPFFD FILE(QADSPUPB) OUTPUT(*OUTFILE) OUTFILE(QGPL/MYFILE)
(qgpl/myfile is your choice)
The QADSPUPB file format is used when you request *BASIC outfile for DSPUSRPRF. You know this because the <help> for the OUTFILE() parm tells you.
Each command that has OUTFILE() support will use a *FILE object in QSYS that is named in the <help>. There is no “source” but the file field descriptions for each such *FILE is always available by running DSPFFD for the appropriate ‘model’ *FILE.
Generally, you can use CRTDUPOBJ to create a named copy of the ‘model’ before executing the related command. Many (or most) commands don’t require the file to pre-exist and will create the duplicate object automatically. Even for those commands, you might do CRTDUPOBJ yourself in order to set attributes such as maximum size before running the related command.