The following examples illustrate how compilers and preprocessors communicate with the Application Development Manager/400 APIs in different circumstances. In all these examples, assume that the compiles are submitted by an Application Development Manager/400 BLDPART command, which means it has called QLYSETS to set the status of the space to *READY before calling the compiler or preprocessor.
It is also assumed that a cleanup is done after the compile by calling QLYSETS again to set the status of the space to *COMPLETE.
RPG/400(R) compiler successfully compiles source that has one include in it.
The compiler first calls QLYGETS and determines that it was started by the BLDPART command. Then it calls QLYWRTBI to pass records of the following record types and in the following order:
DDS compiler successfully compiles source of type LF and creates a logical file based on two physical files.
The compiler first calls QLYGETS and determines that it was started by the BLDPART command. Then it calls QLYWRTBI to pass records of the following record types and in the following order:
This record is called for the first physical file on which the logical file is based. The based-on indicator is set to Y (yes).
This record is called for the second physical file on which the logical file is based. The based-on indicator is set to Y (yes).
COBOL/400(R) compiler fails when compiling source that has one include in it because the include was not found in *LIBL.
The compiler first calls QLYGETS and determines that it was started by a BLDPART command. Then it calls QLYWRTBI to pass records of the following record types and in the following order:
COBOL/400 compiler fails when compiling source that references a record format of a database file because the file was not found in *LIBL.
The compiler first calls QLYGETS and determines that it was started by a BLDPART command. Then it calls QLYWRTBI to pass records of the following record types and in the following order:
The name of the Library specified passed to QLYWRTBI is *LIBL.
ILE C CRTBNDC compiler successfully compiles a *PGM from a source that has one include in it.
The compiler calls QLYGETS and determines that it was started by the BLDPART command. Then it calls QLYWRTBI to pass records of the following record types and in the following order:
Note: The Processor object start and the Normal processor end records are written by the CRTPGM processor internally called by the CRTBNDC compiler.
CRTPGM binder successfully binds objects from 2 modules, and references a bind directory and a service program.
The compiler calls QLYGETS and determines that it was started by the BLDPART command. Then it calls QLYWRTBI to pass records of the following record types and in the following order:
Top | High-level Language APIs | APIs by category |