吃饭的时候吃饭,睡觉的时候睡觉,工作的时候工作,学习的时候学习......
❝ CICS客户端ECI返回码分析 ❞
作者:彭新 日期:2014-04-28 分类:CICS 点击: 来源:www.wo81.com

转载声明:本站文章若无特别说明,皆为原创,转载请注明来源,谢谢 !

ECI:External Call Interface,ECI 调用返回码如下(定义在cics_eci.h中): 

返回码含义描述

返回码 ECI return code

ECI_NO_ERROR

0

ECI_ERR_INVALID_DATA_LENGTH

-1

ECI_ERR_INVALID_EXTEND_MODE

-2

ECI_ERR_NO_CICS

-3

ECI_ERR_CICS_DIED

-4

ECI_ERR_REQUEST_TIMEOUT

-5

ECI_ERR_NO_REPLY

ECI_ERR_REQUEST_TIMEOUT

ECI_ERR_RESPONSE_TIMEOUT

-6

ECI_ERR_TRANSACTION_ABEND

-7

ECI_ERR_EXEC_NOT_RESIDENT

-8

ECI_ERR_LUW_TOKEN

ECI_ERR_EXEC_NOT_RESIDENT

ECI_ERR_SYSTEM_ERROR

-9

ECI_ERR_NULL_WIN_HANDLE

-10

ECI_ERR_NULL_MESSAGE_ID

-12

ECI_ERR_THREAD_CREATE_ERROR

-13

ECI_ERR_INVALID_CALL_TYPE

-14

ECI_ERR_ALREADY_ACTIVE

-15

ECI_ERR_RESOURCE_SHORTAGE

-16

ECI_ERR_NO_SESSIONS

-17

ECI_ERR_NULL_SEM_HANDLE

-18

ECI_ERR_INVALID_DATA_AREA

-19

ECI_ERR_INVALID_VERSION

-21

ECI_ERR_UNKNOWN_SERVER

-22

ECI_ERR_CALL_FROM_CALLBACK

-23

ECI_ERR_INVALID_TRANSID

-24

ECI_ERR_MORE_SYSTEMS

-25

ECI_ERR_NO_SYSTEMS

-26

ECI_ERR_SECURITY_ERROR

-27

ECI_ERR_MAX_SYSTEMS

-28

ECI_ERR_MAX_SESSIONS

-29

ECI_ERR_ROLLEDBACK

-30

常见返回码原因分析

1、-3  ECI_ERR_NO_CICS 连接不可用

可能的原因:

A. 客户端连接状态不是available,检查客户端连接状态方法:cicscli /l

     处理办法:

        关闭cics客户端连接,关闭方法:cicscli /x=服务名,比如cicscli /x=RG1000;

           如果cicscli /x关闭不掉,比如关闭命令无响应,可以尝试强制关闭命令 cicscli /i;

           如果使用cicscli /i 也无法关闭,可使用cicscls 0 关闭并清除共享内容、信号量等(注:如果有tlq或者mq中间件,建议正常关闭后执行cicscls命令)。

        telnet cics服务器的ip 端口 ( 查询cics客户端配置文件CTG.INI或CICSCLI.INI 中的端口设置),看是否能够远程登录。

           如果能登录,重启cics客户端连接:cicscli /s=服务名,启动后检查其状态是否为available。

           如果不能登录,请检查网络通信线路是否正常,网络线路恢复后重启客户端连接。

B.客户端连接状态正常,是available,但是依然返回错误-3

    处理办法:

       telnet  cics服务器的ip 端口,看是否能够远程登录。如果能登录,应该是cics 服务端不可用;如果不能登录,请解决网络问题。

2、-4 ECI_ERR_CICS_DIED

     客户端已经连接上,但是在下面的ECI调用中,cics服务端不可用,处理办法参考如上返回码为-3。

3、-6  ECI_ERR_RESPONSE_TIMEOUT 超时

     客户端ECI调用的服务在处理完成前超时。主要原因时网络线路稳定性,请检查网络环境。

4、-7  ECI_ERR_TRANSACTION_ABEND 事务异常中止

     原因:一般是cics服务端发生故障。

5、-9  ERROR_SYSTEM_ERROR 系统内部错误

产生这种错误的原因比较复杂,常见的有以下几种: 
A. 操作系统核心参数中信号量设置值太小

    处理方法:适当加大操作系统中关于信号量的核心参数值。

B. 客户端配置错误

    请检查客户端配置文件CTG.INI或CICSCLI.INI文件中的配置,确保cics服务器ip、端口等设置是正确的。

C. 网络故障

D. CICS 服务器服务不可用(服务器故障)

  常见症状:正在非正常中止,被调用的事务异常中止等。

E. CICS服务器配置不正确

 

至于其它返回码的分析,可以从其描述中分析出一些原因。

当然,因为没有碰到过这些问题,不能增加这些返回码的原因,欢迎大家交流指正,我会继续补充。

本文链接:CICS客户端ECI返回码分析

转载声明:本站文章若无特别说明,皆为原创,转载请注明来源,谢谢 !