- 论坛徽章:
- 0
|
CICS-COBOL的异常系统 .
异常条件错误(Exceptional Condition ABEND)
这类错误发生在CICS命令(CICS EXEC)执行遇到问题但RESP没有在命令中指定的情况
异常条件错误码,下表中码的规律是AEI或AEY起始,最后一个字母是字母或数字,多数条件名称都比较直观。- Code Condition Code Condition Code Condition
- AEIA ERROR AEIV LENGERR AEYL FUNCERR
- AEID EOF AEIW QZERO AEYM UNEXPIN
- AEIE EIDS AEIZ ITEMERR AEYN NOPASSBKRD
- AEIG INBFMH AEI0 PGMIDERR AEYO NOPASSBKWR
- AEIH NONVAL AEI1 TRANSIDERR AEYP SEQIDERR
- AEII NOSTART AEI2 ENDDATA AEYQ SYSIDERR
- AEIJ TERMIDERR AEI3 INVTSREQ AEYR ISINVREQ
- AEIK DSIERR AEI8 TSIOERR AEYT ENVDEFERR
- AEIL NOTFND AEI9 MAPFAIL AEYU IGREQCD
- AEIM DUPREC AEYA INVERRTERM AEYV SESSERR
- AEIN DUPKEY AEYB INVMPSZ AEYY NOTALLOC
- AEIO INVREQ AEYC IGREQID AEYZ CBIDERR
- AEIP IOERR AEYE INVLDC AEY0 INVEXITREQ
- AEIQ NOSPACE AEYG JIDERR AEY1 INVPARTNSET
- AEIR NOSPACE AEYH QIDERR AEY2 INVPARTN
- AEIS NOTOPEN AEYJ DSSTAT AEY3 PARTNFAIL
- AEIT ENDFILE AEYK SELNERR AEY7 NOTAUTH
- AEIU ILLOGIC
复制代码 程序检查错误(Program Check ABEND)
这类错误发生在程序尝试执行一个不被硬件允许的操作。这类错误导致的异常总称ASRA异常码(ABEND CODE)。
程序检查错误(ASRA异常码)类型- Operation exception Specification exception Decimal-divide exception
- Privileged exception Data exception Exponent overflow
- Execute exception Fixed-point overflow Exponent underflow
- Protection exception Fixed-point divide exception Signifcance exception
- Addressing exception Decimal overflow Floating-point divide exception
复制代码 其他CICS相关ABEND- Code Explanation
- 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]- view plaincopy to clipboardprint?
- 01.LINKAGE SECTION.
- 02.01 COMMON-WORK-AREA
- 03. 05 CWA-CURRENT-DATE PIC X(8).
- 04. 05 CWA-COMPANY-NAME PIC X(30).
- 05.... 其他代码
- 06. EXEC CICS <pre name="code" class="plain"> //CWA所有CICS程序共享;TWA事务内共享;TCTUA终端内共享
复制代码 LINKAGE SECTION.
01 COMMON-WORK-AREA
05 CWA-CURRENT-DATE PIC X( .
05 CWA-COMPANY-NAME PIC X(30).
... 其他代码
EXEC CICS <pre name="code" class="plain"> //CWA所有CICS程序共享;TWA事务内共享;TCTUA终端内共享 ADDRESS {CWA|TWA|TCTUA}(ADDRESS OF COMMON-WORK-AREA)
//此后COMMON-WORK-AREA中内容就映射到了共享区域了
END-EXEC. |
|