CICS-COBOL的异常系统

异常条件错误(Exceptional Condition ABEND)

这类错误发生在CICS命令(CICS EXEC)执行遇到问题但RESP没有在命令中指定的情况

异常条件错误码,下表中码的规律是AEI或AEY起始,最后一个字母是字母或数字,多数条件名称都比较直观。

CodeConditionCodeConditionCodeCondition
AEIAERRORAEIVLENGERRAEYLFUNCERR
AEIDEOFAEIWQZEROAEYMUNEXPIN
AEIEEIDSAEIZITEMERRAEYNNOPASSBKRD
AEIGINBFMHAEI0PGMIDERRAEYONOPASSBKWR
AEIHNONVALAEI1TRANSIDERRAEYPSEQIDERR
AEIINOSTARTAEI2ENDDATAAEYQSYSIDERR
AEIJTERMIDERRAEI3INVTSREQAEYRISINVREQ
AEIKDSIERRAEI8TSIOERRAEYTENVDEFERR
AEILNOTFNDAEI9MAPFAILAEYUIGREQCD
AEIMDUPRECAEYAINVERRTERMAEYVSESSERR
AEINDUPKEYAEYBINVMPSZAEYYNOTALLOC
AEIOINVREQAEYCIGREQIDAEYZCBIDERR
AEIPIOERRAEYEINVLDCAEY0INVEXITREQ
AEIQNOSPACEAEYGJIDERRAEY1INVPARTNSET
AEIRNOSPACEAEYHQIDERRAEY2INVPARTN
AEISNOTOPENAEYJDSSTATAEY3PARTNFAIL
AEITENDFILEAEYKSELNERRAEY7NOTAUTH
AEIUILLOGIC    

程序检查错误(Program Check ABEND)

这类错误发生在程序尝试执行一个不被硬件允许的操作。这类错误导致的异常总称ASRA异常码(ABEND CODE)。

程序检查错误(ASRA异常码)类型

Operation exceptionSpecification exceptionDecimal-divide exception
Privileged exceptionData exceptionExponent overflow
Execute exceptionFixed-point overflowExponent underflow
Protection exceptionFixed-point divide exceptionSignifcance exception
Addressing exceptionDecimal overflowFloating-point divide exception

其他CICS相关ABEND

CodeExplanation
ABMB使用绝对光标定位(Absolute Cursor Position)方式,但指定光标超越输出设备界限
ABM0指定的映射表(map)不在映射集中(mapset)
AFCV对一个文件的请求无法获得一个记录级的锁
AICA一个任务执行的时间超出失控任务(runaway tasks)的时限
AKCS一个任务因为超出对事务定义的死锁超时而终止
AKCT一个任务因为等待终端输入超出对事务定义的终端读入等待超时而终止
AKC3任务被杀死,通常因为主终端操作者(master terminal operator)执行CEMT TASK PURGE命令
APCT程序无法找到或已经终止
ASRB操作系统ABEND发生;CICS能够终止这个事务并自身继续运行
ATCH事务终止,通常因为死锁情形

使用EDF调试程序

EDF是以名为CEDF的CICS事务启动,一般以但屏幕方式运行,即调试和程序界面交替出现,这也是最常见的调试模式。

对于远程调试,可以用形如:CEDF H400, ON,这样就在H400的远程终端上启动EDF进行调试。

也能调试任何一个已经在任一终端运行的事务,CEDX MNTB, ON,其中MNTB是事务名称。

EDF启动以后以EXEC CICS的命令为单元暂停执行,通常先显示将调用的命令和一些状态,然后是可能的显示,最后是命令的执行结果。在程序最后退出后对CONTINUE EDF作出选择可决定是否继续EDF调试模式。PF5可以进入WORKING STORAGE的内存16进制检视。


COBOL的共享工作区(COMMON WORK AREA

共享区在变量去定义好并加上寻址性(Addressing)后,就能被这个程序访问,并在程序间共享。一个详细说明见[1]

LINKAGE SECTION.
01  COMMON-WORK-AREA
    05  CWA-CURRENT-DATE    PIC X(8).
    05  CWA-COMPANY-NAME    PIC X(30).
... 其他代码
EXEC CICS      
    //CWA所有CICS程序共享;TWA事务内共享;TCTUA终端内共享
    ADDRESS {CWA|TWA|TCTUA}(ADDRESS OF COMMON-WORK-AREA)
    //此后COMMON-WORK-AREA中内容就映射到了共享区域了
END-EXEC.

【参考资料】
[1] http://publib.boulder.ibm.com/infocenter/cicsts/v3r1/index.jsp?topic=%2Fcom.ibm.cics.ts31.doc%2Fdfhp3%2Fdfhp36q.htm


转载于:https://www.cnblogs.com/quanben/archive/2011/11/21/3128877.html

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值