Assembling and link-editing user-replaceable programs

The source for the CICS-supplied user-replaceable programs is installed in the CICSTS31.CICS.SDFHSAMP library. If you intend changing any of these programs, take a copy of the CICSTS31.CICS.SDFHSAMP library and update the copy only. If the original SDFHSAMP is serviced, and a user-replaceable program is modified, you may like to reflect the changes in your own version of the code.

To replace one of these CICS-supplied programs, assemble and link-edit your version of the program. Start of changeExcept for DFHJVMRO and DFHAPXPOEnd of change, all programs are supplied as command-level programs, and must be translated before assembly and link-edit. Note that the translator options NOPROLOG and NOEPILOG should be coded with your versions of DFHZNEP, DFHTEP, and DFHXCURM.

If you have user-written versions of DFHZNEP, DFHPEP, or DFHTEP from an earlier release of CICS®, and they use macros, recode the programs to use EXEC CICS commands.

To translate, assemble, and link-edit user-replaceable programs, you can use the CICS-supplied procedure DFHEITAL. For information about using DFHEITAL, see the CICS Application Programming Guide. If you use SMP/E, you can give the object-deck output after translation and assembly to SMP/E for link-editing.

Start of changeWith the exception of DFHJVMRO and DFHAPXPOEnd of change, when link-editing a user-replaceable program you must link-edit it with the EXEC interface module (stub). This stub enables the program to communicate with the EXEC interface program (DFHEIP). If you use the DFHEITAL procedure, it link-edits programs with the EXEC interface stub by default.

Start of changeDFHJVMRO and DFHAPXPO should not be translated and do not need to be link-edited with the EXEC interface module. You can use the DFHASMVS procedure to compile these programs.End of change

The job stream in Figure 12 is an example of the assembly and link-edit of a user-replaceable program. The figure is followed by some explanatory notes.

Start of changeFigure 12. Job stream to assemble and link-edit a user-replaceable program
Start of change//ASSEMBLE EXEC DFHEITAL,
//      ASMBLR=ASMA90,
//      INDEX='CICSTS31.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)
//*End of change
End of change

Start of changeNotes:End of change

Start of change 1  High-level qualifier of the CICS libraries.End of change

Start of change 2  The library into which the load module will be link-edited.End of change

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

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

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

Start of change 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. The Assembler source member for the supplied DFHEJDNX sample is DFHEJDN1.End of change

Start of change 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 13.End of change

Start of change

Start of changeFigure 13. 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)
End of change
End of change

Related tasks
Rewriting user-replaceable programs
Related reference
User-replaceable programs and the storage protection facility
[[ Contents Previous Page | Next Page Index ]]