Previous Topic: Compile ModelsNext Topic: COBOL Compile JCL


Assembly JCL

Model Name: APJMASMB

Usage: Daily Processing Cycle. Development Facility.

Purpose: Build JCL to assemble and link edit a member.

User keywords passed to the model:

ASM_PGM

Lets you override the default for the assembler to be used. If set, the value must be either ASMA90 (the high-level assembler) or IEV90 (assembler H). This value would typically be set in the Library Code leading model specifications.

$G$ASM_PGM

This is the default assembler to be used. It must be set in model APJMLEAD to either ASMA90 (the high-level assembler) or IEV90 (assembler H).

ASM_STD_COMPOPTS

This keyword lets you specify standard compiler options that are used for every assembly in addition to those specified in Inventory. If all of your Library Codes use the same assembler, this can be specified in the APJMLEAD model; otherwise, this should only be set in the Library Code, preferably in the leading model specifications. If this keyword is not set, it is given a default value in the model.

ASM_COMPOPTS

This keyword lets you define default compiler options to be used if none are defined in Inventory. If any are defined in Inventory, the model sets this keyword to the Inventory value.

ASM_SYSLIB_DSNnn

These keywords let you define additional SYSLIB data sets for the assembly. These data sets follow any SYSLIB data sets generated for Related Compile SYSLIB Library Codes that are defined in the current Library Code.

A list must be created using these keywords. Specify the first data set in the list in keyword ASM_SYSLIB_DSN01, the second in ASM_SYSLIB_DSN02, and so forth. The total number of data sets must be specified as a two‑digit integer in keyword ASM_SYSLIB_DSN00. For example, if the last data set was specified in keyword ASM_SYSLIB_DSN07, set ASM_SYSLIB_DSN00 to '07'.

If any of the ASM_SYSLIB_DSNnn data sets are CA‑Panvalet or CA‑Librarian, set the corresponding ASM_SYSLIB_AMnn keyword to 'PV' (CA‑Panvalet), 'L' (CA‑Librarian), or 'LW' (CA‑Librarian wide record). Otherwise 'PO' for PDS is assumed.

ASM_SYSLIB_MODEL

If the ASM_SYSLIB_DSNnn keywords do not give you enough flexibility in generating a SYSLIB DD for the assembly, you can code your own model to generate the SYSLIB DD statement.

Specify the name of the model in the ASM_SYSLIB_MODEL keyword, preferably in the Library Code leading model specifications. The APJMASMB model then calls this model instead of the APJMSLIB model to create the DD. Your model can either construct the DD statement or change the values of keywords used to pass information along to APJMSLIB and then invoke APJMSLIB. Model USERSLIB was distributed as an example of how to do this.

LINK_PGM

Lets you override the default for the linkage editor to be used. If set, the value must be either IEWL or HEWLKED (the name given to the old linkage editor when you have the binder). This value would typically be set in the Library Code leading model specifications.

$G$LINK_PGM

This is the default linkage editor to be used. It must be set in model APJMLEAD to either IEWL or HEWLKED. HEWLKED is the name given to the old linkage editor when you have the binder.

STD_LINKOPTS

This keyword lets you specify standard linkage editor options that are used for every link edit in addition to those specified in Inventory. This can be specified in the APJMLEAD model. If this keyword is not set, it is given a default value in the model.

LINKOPTS

This keyword lets you define default linkage editor options to be used if none are defined in Inventory. If any are defined in Inventory, the model sets this keyword to the Inventory value.

LINK_SYSLIB_DSNnn

These keywords are just like the ASM_SYSLIB_DSNnn keywords except they are used when generating a SYSLIB DD for the linkage editor.

These keywords let you define additional SYSLIB data sets for the link edit. These data sets follow any SYSLIB data sets generated for Related Link Edit SYSLIB Library Codes that are defined in the current Library Code.

A list must be created using these keywords. The first data set in the list must be specified in keyword LINK_SYSLIB_DSN01, the second in LINK_SYSLIB_DSN02, and so forth. The total number of data sets must be specified as a two‑digit integer in keyword LINK_SYSLIB_DSN00. For example, if the last data set was specified in keyword LINK_SYSLIB_DSN12, set LINK_SYSLIB_DSN00 to '12'.

If any of the LINK_SYSLIB_DSNnn data sets are CA‑Panexec, set the corresponding LINK_SYSLIB_Amnn keyword to 'PX'. Otherwise 'PO' for PDS is assumed.

LINK_SYSLIB_MODEL

If the LINK_SYSLIB_DSNnn keywords do not give you enough flexibility in generating a SYSLIB DD for the link edit, you can code your own model to generate the SYSLIB DD statement.

Specify the name of the model in the LINK_SYSLIB_MODEL keyword, preferably in the Library Code leading model specifications. The APJMASMB model then calls this model instead of the APJMSLIB model to create the DD. Your model can either construct the DD statement or change the values of keywords used to pass information along to APJMSLIB and then invoke APJMSLIB. Model USERSLIB was distributed as an example of how to do this.

LINK_PXCONCAT_GRPnn

These keywords are similar to the LINK_SYSLIB_DSNnn keywords. They are used during link edits involving CA‑Panexec libraries to define CA‑Panexec groups to be searched in addition to the groups generated for Related Link edit SYSLIB Library Codes that are defined in the current Library Code.

A list must be created using these keywords. The first group in the list must be specified in keyword LINK_PXCONCAT_GRP01, the second in LINK_PXCONCAT_GRP02, and so forth. The total number of groups must be specified as a two‑digit integer in keyword LINK_PXCONCAT_GRP00. For example, if the last group was specified in keyword LINK_PXCONCAT_GRP12, set LINK_PXCONCAT_GRP00 to '12'.

LINK_PXCONCAT_MODEL

If the LINK_PXCONCAT_GRPnn keywords do not give you enough flexibility in generating CA‑Panexec %CONCAT statements, you can code your own model to generate them.

Specify the name of the model in the LINK_PXCONCAT_MODEL keyword, preferably in the Library Code leading model specifications. The APJMASMB model then calls this model instead of the APJMSLIB model to create the statements. Your model can either construct the statements or change the values of keywords used to pass information along to APJMSLIB and then invoke APJMSLIB. Model USERSLIB was distributed as an example of how to do this.

CICS

If you want to include a CICS pre-compile in the assembly process, set this keyword to Y, preferably in the Library Code leading model specifications.

$G$JCLLIST

This keyword controls the SYSOUT class for the JCL listings. It is set in the APJMLEAD model.

$G$PANESRL

This keyword contains the data set name of the CA‑Panexec PANESRL data set, if any. This is used when saving object, executable, or listings on CA‑Panexec libraries.

$G$SYSTEMP

This keyword specifies the OS/390 unit for work files. It is set in the APJMLEAD model.

Processing Overview: Complete JCL is built to assemble and/or link edit the member. Assembly and link edit parms can be specified in Inventory and in the model specifications. When assembling, a CICS pre-compile is supported.

When run on behalf of the Development Facility, the JCL is submitted directly to OS/390 for execution. Depending upon the command you used to initiate the process, the member is either assembled, assembled and linked, or just link edited (assumes you performed the assembly separately). You can have messages sent to you regarding the outcome of the assembly and link edit by including the APJMSEND model after the APJMASMB model in the model specifications. You can also have a JOBLIB DD statement generated if necessary by including the APJCJOBL model before the APJMASMB model.

When run on behalf of turnover, the member is assembled. If the Library Code and Inventory support it, the member is also link edited. You have a choice of whether to lump all assemblies and other compiles into a single job or to run each as separate jobs. This is controlled in the APJMLEAD model using the $G$COMPILES_GROUPED user keyword. The default is to run all assemblies and compiles as separate jobs.

In both cases, the assembly and link edit listings are either printed or saved to a CA‑Panexec Library depending on whether there is a related listing Library Code. If the listings are to be saved but the assembly or link edit fail, the listings are printed rather than saved.