Build descriptor and other build parts

When you generate EGL source, you reference a build descriptor part, which provides build descriptor options that control the generation process. These build descriptor options fall into a number of general categories, including the following:
Target runtime environment
This is specified by the system build descriptor option.
Location of generated output
The genProject build descriptor option provides the name of a project within the workspace to use as the location for the generated Java™ output. The genDirectory build descriptor option indicates a directory outside the workspace to use as the location for the generated output. The genDirectory build descriptor option is always used for generated COBOL output and can optionally be used for generated Java output.
Location for preparation phase
If you are generating Java code, usually you will use the genProject build descriptor option to generate to a project within the workspace; in which case, the preparation phase occurs in the workspace. However, if you are generating COBOL code (which is always prepared on a remote system) or generating Java code that you want to prepare on a remote system, the destHost option and related options provide the name and access information (such as user ID and password) for that remote system.
Additional information to be generated
Build options can cause additional information to be created during generation. For example, when you generate a program for Java environments, setting the genProperties option creates Java runtime properties that are based on the settings in other options. These Java runtime properties are written to one of three different types of files, depending on whether you are generating to a J2EE runtime environment or not. As another example, when you generate a program for the z/OS® batch environment, setting the genRunFile option generates sample runtime JCL.
Additional information used at generation time
Some build descriptor options point to other build parts, which provide additional information at generation time:
  • The linkage option points to the linkage options part, which provides information on how to implement certain statements such as call, transfer, vgLib.startTransaction, and certain kinds of file I/O statements for your target runtime environment.
  • The resourceAssociation option points to the resource associations part, which provides information on how to implement I/O statements for serial, indexed, WebSphere® MQ, or relative records, as well as print output.
  • The linkEdit option points to a program-specific link edit part, which is used if multiple programs must be linked together for a z/OS runtime environment.
  • The bind option points to a bind control template, or a program-specific bind control part which is used to create the DB2® bind commands required for SQL databases in a z/OS runtime environment.
  • The deploymentDescriptor option points to the EGL deployment descriptor, which is a separate file that provides information about how an EGL service part is exposed to other applications, or how an external service is used in an EGL application.
In addition to the build descriptor options mentioned above, for COBOL generation there are some build descriptor options that point to additional information outside the workspace:
  • The templateDir option points to the location of customized templates which control the creation of sample runtime JCL for the z/OS batch environment, and the creation of sample runtime Control Language, or CL, for the iSeries® runtime environment.
  • The reservedWord option points to a file of additional COBOL, SQL, or CICS® reserved words; if your part or variable names match one of these reserved words the COBOL generation process will assign aliases for them.
Generating additional parts
When you generate a program, you can set some options to cause other parts to generate at the same time you generate the program. For example, the genDataTables build descriptor option indicates that you want to generate all the DataTables that are used by the generated program.
Additional validation checks
Some build descriptor options can be set to perform additional validation checks before the generation process actually creates the Java or COBOL code. For instance, the validateSQLStatements option causes the generation process to check the validity of the SQL statements in your program. If you use that option, you might need to set additional build descriptor options, such as sqlID and sqlPassword, to provide information required to access your runtime database.
Additional logic included in generated code
If you generate a program for a z/OS COBOL environment, the statementTrace build descriptor option adds logic to your program which provides information you can use to trace a subset of runtime behavior. If you generate a program for a Java environment, the j2ee option indicates whether the program being generated will run in a J2EE environment; if the j2ee build descriptor option is set to YES, the j2eeLevel build descriptor option specifies what level of J2EE you want the program to support.

In addition to the build descriptor options, the build descriptor part provides a way for you to set symbolic parameters. These can be predefined symbolic parameters, or symbolic parameters you create yourself. These provide substitution values that can be used during the generation and preparation process. For example, you can use the COBCOMP symbolic parameter to provide the location of your COBOL compiler library.

When you generate, the specific build descriptor options and symbolic parameters you need to use depend on the type of part you are generating, and the target runtime environment you are using. Some options are used with all target environments. Some are specific to Java environments, others to COBOL environments. Some options are specific to just one runtime environment.

There are other build parts needed at various points during generation, such as linkage options parts, resource associations parts, link edit parts, or bind control parts. For information on these parts, see the related topics at the end of this topic.


Feedback