Assembling and link-editing user-replaceable programs

Most of the user-replaceable programs are provided as command-level programs and must be translated, assembled and link-edited. CICS provides procedures to translate, assemble, and link-edit user-replaceable programs.

About this task

Except for DFHAPXPO, all programs are supplied as command-level programs, and must be translated before assembly and link-edit. You must code the translator options NOPROLOG and NOEPILOG with your versions of DFHZNEP, DFHTEP, and DFHXCURM.

Procedure

  1. Copy the CICS-supplied user-replaceable program that you want to replace and edit the copy.
    The source for the CICS-supplied user-replaceable programs is installed in the CICSTS54.CICS.SDFHSAMP library. If the original SDFHSAMP is serviced, and a user-replaceable program is modified, you might want to reflect the changes in your own version of the code.
  2. Translate, assemble, and link-edit your version of the program:
    • If you are replacing DFHAXPO, you do not have to translate the programs or link-edit the programs using the EXEC interface module. You can use the DFHASMVS procedure to compile these programs.
    • If you are replacing another program, use the appropriate CICS-supplied procedure to translate, assemble, and link-edit the program. For example, use the DFHEITAL procedure for AMODE(24) or AMODE(31) Assembler programs. You must link-edit the program with the EXEC interface module stub. This stub enables the program to communicate with the EXEC interface program, DFHEIP. The DFHEITAL procedure link-edits programs with the EXEC interface stub. If you use SMP/E, you can give the object-deck output after translation and assembly to SMP/E for link-editing.

      For information about using the procedures that are available for each language, see Using the CICS-supplied procedures to install application programs.

Example

The job stream in Figure 1 is an example of the assembly and link-edit of a user-replaceable program. The figure is followed by some explanatory notes.
Figure 1. Job stream to assemble and link-edit a user-replaceable program
//ASSEMBLE EXEC DFHEITAL,
//      ASMBLR=ASMA90,
//      INDEX='CICSTS54.CICS',                               1
//      PROGLIB='your_loadlib',                              2
//      DSCTLIB='your_copylib',                              3
//      PARM.TRN='NOPROLOG,NOEPILOG',                        4
//      PARM.ASM='DECK,NOOBJECT,LIST,XREF(SHORT),RENT,ALIGN',
//      LNKPARM='LIST,XREF,RENT,MAP,AMODE(31),RMODE(ANY)'
//TRN.SYSIN DD DSN=your_sourcelib(program_name),DISP=SHR 5 6
//LKED.SYSIN DD *
 ENTRY program_name                                          7
 NAME program_name(R)
//*

Notes:

1 High-level qualifier of the CICS libraries.

2 The library into which the load module is link-edited.

3 Optionally, the name of a library containing your local Assembler macros and copy members.

4 These options are required for DFHXCURM, and for the supplied sample versions of DFHTEP and DFHZNEP.

5 your_sourcelib is the name of the library containing your modified version of the program.

6 program_name is the source member name of the user-replaceable program being assembled. The source member for the supplied DFHTEP sample is DFHXTEP. The source member for the supplied DFHZNEP sample is DFHZNEP0.

7 The input to the linkage-editor normally consists of the two statements shown here, with program_name replaced by the name of the user-replaceable program being compiled. There are some exceptions for some of the CICS-supplied sample programs, and these are shown in Figure 2.

Figure 2. Link-edit statements for DFHTEP and DFHZNEP
Link-edit statements for DFHTEP:
ENTRY DFHTEPNA  
NAME DFHTEP(R)
Link-edit statements for DFHZNEP:
ENTRY DFHZNENA 
NAME DFHZNEP(R)