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. Except
for DFHJVMRO and DFHAPXPO
, 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.
With the exception
of DFHJVMRO and DFHAPXPO
, 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.
DFHJVMRO 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.
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.
//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)
//*
Notes:
1 High-level qualifier of the CICS libraries.
2 The library into which the load module
will be 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. The Assembler source
member for the supplied DFHEJDNX sample is DFHEJDN1.
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.
Link-edit statements for DFHTEP:
ENTRY DFHTEPNA
NAME DFHTEP(R)
Link-edit statements for DFHZNEP:
ENTRY DFHZNENA
NAME DFHZNEP(R)