Preparing Assembler programs

Perform the following steps for assembling your programs:

  1. 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.
  2. Create a corresponding LANGX library for each load library. Specify LRECL=1562 or greater,RECFM=VB,BLKSIZE= lrecl+4 to 32k.
  3. 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 Debug Tool for z/OS. ADATA does not affect the contents of the assembled module.

  4. 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 xxxLANGX utility.
  5. Add a step after the assembler step to run the xxxLANGX utility. The xxxLANGX utility reads the SYSADATA file and creates a LANGX file. The LANGX file is the source information file for Debug Tool for z/OS, Fault Analyzer for z/OS and Application Performance Analyzer for z/OS. Equivalent xxxLANGX utilities are available in Debug Tool for z/OS as EQALANGX, in Fault Analyzer for z/OS as IDILANGX and in Application Performance Analyzer for z/OS as CAZLANGX.
  6. Save the LANGX file in the LANGX file library, and specify a member name that is equal to the CSECT name.
  7. 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.
  8. If the assembler program is Language Environment-enabled, optionally include a Debug Tool Language Environment exit module into the load module during the linkage editor step. This is one way to enable Debug Tool’s 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.
  9. For CICS programs only: If the program is a CICS main program, is enabled for Language Environment, and the Debug Tool DTCN transaction will be used to start Debug Tool, then supplied module EQADCCXT must be included in the load module during the linkage editor step.