组合和链接编辑用户可替换程序

大多数用户可替换程序作为命令级别程序提供,必须进行转换、汇编和链接编辑。 CICS 提供用于转换、组合和链接编辑用户可替换程序的过程。

关于此任务

除 DFHAPXPO 外,所有程序都作为命令级别程序提供,并且必须在组装和链接编辑之前进行翻译。 您必须使用 DFHZNEP , DFHTEP 和 DFHXCURM 的版本对转换程序选项 NOPROLOG 和 NOEPILOG 进行编码。

过程

  1. 复制要替换并编辑副本的 CICS提供的用户可替换程序。
    CICS提供的用户可替换程序的源安装在 CICSTS54.CICS.SDFHSAMP 库中。 如果维护了原始 SDFHSAMP ,并且修改了用户可替换程序,那么您可能希望反映您自己的代码版本中的更改。
  2. 翻译,组装和链接编辑您的程序版本:
    • 如果要替换 DFHAXPO ,那么不必转换程序或使用 EXEC 接口模块对程序进行链接编辑。 可以使用 DFHASMVS 过程来编译这些程序。
    • 如果要替换另一个程序,请使用相应的 CICS提供的过程来转换,组装和链接编辑该程序。 例如,对 AMODE (24) 或 AMODE (31) 汇编程序使用 DFHEITAL 过程。 必须使用 EXEC 接口模块存根对程序进行链接编辑。 此存根使程序能够与 EXEC 接口程序 DFHEIP 通信。 DFHEITAL 过程使用 EXEC 接口存根对程序进行链接编辑。 如果使用 SMP/E ,那么可以将转换和组装后的对象层输出提供给 SMP/E 以进行链接编辑。

      有关使用可用于每种语言的过程的信息,请参阅 使用 CICS提供的过程来安装应用程序

示例

图 1 中的作业流是用户可替换程序的组装和链接编辑示例。 图后是一些解释性说明。
图 1。 用于组装和链接编辑用户可替换程序的作业流
//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)
//*

备注信息:

1 CICS 库的高级限定符。

2 链接编辑装入模块的库。

3 (可选) 包含本地汇编程序宏和副本成员的库的名称。

4 对于 DFHXCURM 以及提供的 DFHTEP 和 DFHZNEP 样本版本,这些选项是必需的。

5 your_sourcelib 是包含程序的修改版本的库的名称。

6 program_name 是要组装的用户可替换程序的源成员名。 提供的 DFHTEP 样本的源成员是 DFHXTEP。 提供的 DFHZNEP 样本的源成员为 DFHZNEP0。

7 链接编辑器的输入通常由此处显示的两个语句组成, program_name 将替换为正在编译的用户可替换程序的名称。 某些 CICS提供的样本程序存在一些异常, 图 2中显示了这些异常。

图 2。 DFHTEP 和 DFHZNEP 的链接编辑语句
DFHTEP 的链接编辑语句:
ENTRY DFHTEPNA  
NAME DFHTEP(R)
DFHZNEP 的链接编辑语句:
ENTRY DFHZNENA 
NAME DFHZNEP(R)