DDS = Data Description Specifications
This "programming language" is used to define the layout of files, both physical and logical, interactive and prompt screens, reports, and various other kinds of objects in the 400 family.
The objects created by DDS do not DO anything like a program, but rather they are layouts for the data to be processed by a program.
Think similar to SDA which is one way that menus, screens, and so forth were created prior to DDS; and also UIM which BPCS uses to create help screens. Prior to RPG/400 we did not use externally defined print files, but internally defined then within the programs that were generating the reports.
Reference files do not contain any data ... they are only used to establish appliation wide field definitions.
A physical file will define a reference file above the first record format specification. In the individual field definitions for the record format, the REFFLD keyword will used to define what field in the reference file the new field will be patterned after.
A REF(REFFILE) A R FORMAT TEXT('Record format') A NEWFIELD R REFFLD(REFFIELD) A TEXT('Field description') A OTHFIELD R REFFLD(REFFIELD1 OTHERREF)
The REFFLD keyword can also specify a different reference file if the field is not defined in the primary reference file.
Any #Physical Files can be used as a reference file ... but most applications establish a single file to be the reference.
Reference files can be used in any other file that defines new fields (physical files, display files, printer files, etc).
Source Physical Files
They are created using the CRTSRCPF command.