CICS程序调用

开放平台CTG调用CICS程序

开放平台(如Linux)可以使用CTG调用主机CICS程序。 这需要主机CICS定义TCPIPSERVICE(使用CEDA交易)并安装;使用CEMT S TCPIPS OPEN启动。

关于TCPIPSERVICE需要注意的地方:

  • 使用CEMT SET TCPIP OPEN命令设置TCPIP STAUS为OPEN。
  • 必须在CICS initialization中 SIT 设定 TCPIP=YES。 否则在执行CEMT 交易OPEN TCPIP时 会返回错误 'NOT IN SYSTEM'。方法参见[其他]
  • 可能需要定义资源 LSRPOOL 如遇到问题可以SDSF中查看SYSLOG和CICS作业的输出,检查是否有可以利用的信息。

备注:

  1. 在Linux下修改CTG配置ctg.ini增加SERVER后cicscli /s=SERVERNAME报CCL8031E错误. 确认配置文件正确,重新启动以使配置文件生效(cicscli /x 然后cicscli /s=SERVERNAME).
  2. 在Linux下使用CICS_ExternalCall时报错ABEND CODE AEI0。 这个错误是PGMIDERR condition not handled。 经研究分析,因为调用时参数不正确:program name may be invalid: 因程序名end with a null character (x'00') instead of a blank
  3. 开放平台ECI CALL主机CICS程序,可以使用预定义的镜像交易CPMI。 需要注意的是这个交易定义的TWA的大小。 若需要自定义mirror transaction,需要参考CPMI的属性,必须将PROGRAM设置为DFHMIRS.
  4. RDO(Resource Define Online) 主要是利用CICS的系统交易CEDA、CEDB、CEDC对各种资源进行联机管理, 包括资源的定义、修改、删除、查看、安装。 资源定义被存放在CSD(CICS System Definition)文件中,并可从该文件中安装到正在运行的CICS上。 RDO的定义方式方便快捷,不需要编译,并能动态更新、生效。

批量程序调用CICS

主机中的非CICS程序(以下称之为批量程序)可以使用CICS的EXCI接口调用CICS程序(以下称联机程序)。 这样的批量程序也需要翻译(CICS预编译),预编译必须使用参数 EXCI。

批量程序可以使用与联机程序类似的CICS LINK 命令,不过其返回用RETCODE获取, EXEC CICS LINK 使用DFHXCPLH中定义的exci_exec_return_code, 具体使用方式返回值的意义可以参见参考资料 16 CICS External Interfaces Guide中The EXCI EXEC CICS interface关于接口的描述。

部分常见错误及解决方法

  • resp1=88, resp2=606 这是因为没有定义子系统。根据MVS Using the Subsystem Interface=>Defining Your Subsystem
    If you want to use dynamic SSI services, your subsystem must be defined to MVS™ 
    in one of the following ways:
    IEFSSNxx parmlib member (keyword format) processing during IPL
    IEFSSI macro invocation
    SETSSI system command invocation.
    
    根据CICS Transaction Server for z/OS 安装指南=>将CICS定义为子系统, 在IEFSSNxx 中将CICS定义子系统(或使用合适的IEFSSNxx,参见IPL启动PARM说明中 IEASYSxx)
  • resp1=88, resp2=201
    Ensure that a CICS region in the MVS image has logged on to IRC 
    (that is, has started up with the system initialization parameter IRCSTRT=YES or 
    has started IRC dynamically with an OPEN IRC command
    
  • CEMT S IRC OPEN的时候可能报错 DFHIR3791 根据 CICS Messages and Codes
    IRC facilities are not available because ISC=NO has been specified
    
    修改CICS SIT参数,参见11.4其他。 参考Configuring CICS server connections
  • resp1=88, resp2=203 根据 Introduction to CICS interproduct communication 安装Connection和Session只能 CEMT INSTALL 填写GROUP (例如DFH$EXCI,其中定义了EXCG和EXCS)

备注:关于DFH$EXCI中的$需要使用IBM-037方式连接CICS方可输入

results matching ""

    No results matching ""