Compiled programs can refer to DDM files. In addition, DDM file
names can be specified on the Create PL/I Program (CRTPLIPGM) command.
- A DDM file name can be specified on the SRCFILE parameter, and a member
name can be specified on the SRCMBR parameter, but only if the remote source
file is on an iSeries™ server or a System/38™. The same is true for specifying
DDM file and member names on the %INCLUDE source directive statement. If the
remote file referred to by the DDM file is not on an iSeries server or
a System/38, an error occurs
if a DDM file name is specified on the CRTPLIPGM command or %INCLUDE statement.
- When a DDM file is accessed as the source file for a program, the margins
used in the compilation of the source are the default values of 2 and 72.
No other margin values can be specified.
- If a %INCLUDE DDS directive statement specifies the name of a DDM file,
the record descriptions of the remote file are included in the compiled program.
However, if the remote file is not on an iSeries server or
a System/38, the field declares
for the record descriptions do not have meaningful names. Instead, all of
the field names are declared as Fnnnnn and the key fields are declared
as Knnnnn.
A DDM file can be used to refer to remote record files or remote
stream files. When a program opens a DDM file on the source server, the
following types of statements can be used to perform I/O operations on the
remote file at the target server, for both iSeries and
non-iSeries targets: OPEN,
CLOSE, READ, WRITE, REWRITE, and DELETE statements for processing record files,
and GET and PUT statements for processing stream files.
Another consideration is if the target server is not an iSeries server or a System/38,
the POSITION parameter on a keyed READ statement to read from a remote file
does not work if a value of NXTEQL, PRVEQL, NXTUNQ, or PRVUNQ is specified
for the parameter. (The values of NEXT, PREVIOUS, FIRST, and LAST do work.)
All the values are valid if the target system is an iSeries server or
a System/38.