Preparing Assembler programs
Perform the following steps for assembling your programs:
- Allocate libraries (PDSE is suggested unless PDS is required for your organization) for LANGX files. Allocate one or more LANGX libraries for each environment, such as test and production.
- Create a corresponding LANGX library for each load library. Specify LRECL=1562 or greater,RECFM=VB,BLKSIZE= lrecl+4 to 32k.
- For all programs, such as batch, CICS®,
and IMS™, in both test and production
environments, specify
ADATA
.ADATA
instructs the assembler to produce a SYSADATA file, which contains source and symbolic data about the program. This produces a production-ready module that can be debugged using z/OS® Debugger.ADATA
does not affect the contents of the assembled module. - Add a SYSADATA DD in the assembler step. This file is created
by the assembler and it can be a permanent or temporary file. Specify
LRECL=8188 or greater,RECFM=VB,BLKSIZE= lrecl+4 to 32k
. This file is the input to the IPVLANGX utility. - Add a step after the assembler step to run the IPVLANGX utility. The IPVLANGX utility reads the SYSADATA file and creates a LANGX file. The LANGX file is the source information file for z/OS® Debugger, Fault Analyzer for z/OS® and Application Performance Analyzer for z/OS®.
- Save the LANGX file in the LANGX file library, and specify a member name that is equal to the CSECT name.
- Modify the promotion process to promote LANGX files. When a load module is promoted, for example, from test to production, promote the corresponding LANGX file or files. A promotion can be a recompile, copy, or move. Perform the same steps with the LANGX file that you perform with the module during promotion.
- If the assembler program is Language Environment-enabled, optionally
include a z/OS® Debugger
Language Environment®
exit module into the load module during the linkage editor step. This approach
is one way to enable z/OS® Debugger panel 6
in ISPF, a simple panel-driven method to start the debugger automatically
when a program runs, without JCL changes, based on the program name
and user ID. Use module EQADBCXT for batch programs (including IMS™ batch), EQADICXT for IMS/TM programs
and EQADDCXT for DB2® stored
procedures. Do not include the exit module for CICS® programs.
You can also use module EQAD3CXT for batch programs, IMS/TM, IMS™ BTS programs, and DB2® type MAIN stored procedures
- For CICS® programs only: If the program is a CICS® main program, is enabled for Language Environment®, and the z/OS® Debugger DTCN transaction is used to start z/OS® Debugger, then supplied module EQADCCXT must be included in the load module during the linkage editor step.