PL/I considerations for DDM
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.
Parent topic:
Programming language considerations for DDM