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.