银行柜台项目总结.ppt
银行账户管理系统项目小结,界面的相关操作COPY语句文件的相关操作临时存储队列TS QUEUE几个基本的CICS命令CICS提供的交易,Mapset,符号界面的内容包括,界面名+后缀I和O,表示界面既可以输入也可以输出INPUT MAPL半字节二进制字段包含输入数据的长度F存放域标志位I存放用户实际输入的数据OUTPUT MAPA存放域的属性字节O存放输出终端的数据,MAP的操作,界面的输出EXEC CICS SEND MAP(map-name)MAPSET(mapset-name)ERASE FREEKB CURSOR RESPEND-EXEC,MAP的操作(续),界面的输入EXEC CICS RECEIVE MAP(m-n)MAPSET(ms-n)数据传送回程序。END-EXEC注意:所有的receive 都应该检查MAPFAIL状态,MAPFAIL意味着没有数据传送回程序。原因:1)没有输入数据到界面的任何区域内2)操作员按下CLEAR键,COPY 命令,COPY MAPSETCOPY DFHAID(常用标识键描述)DFHENTER,DFHCLEAR,DFHPFx CICS系统提供的一个描述程序注意标识(AID)常量的文件,用来在CICS交易运行时确定操作员按下的是哪一个键。通过比较EIBAID和在DFHAID COPYBOOK中的键盘代号,可以确定操作员输入了哪中功能键。程序员可以利用这个技巧编写结构化程序。Such as:IF EIBAID=DFHENTER IF EIBAID=DFHCLEAR IF EIBAID=DFHPFx,COPY(续),COPY DFHBMSCA(界面显示属性常量)CICS系统提供的COBOL程序中可以使用的显示属性常数的COPYBOOK,可以利用这些属性常量更改界面字段的属性DFHBMBRY Bright DFHBMDAR DarkDFHHLT Highlight MOVE DFHBMBRY TO XMOVE DFHHLT TO X,COPY,CICS数据区,EIB和COMMEREA 是CICS程序一般都要用到的数据区,在CICS预编译时,这两个数据区的定义会自动添加到COBOL程序的LINKAGE SECTION里面。EIB(EXEC interface block)CICS系统为没个TASK建立一个EIB数据,里面记载这个TASK所在的系统环境情况,CICS可以读取这些变量但是不能改变。EIBCALEN,EIBAID,EIBRESP,EIBTRNID,EIBTRMIDCOMMEREA(communication area)是不同CICS程序间或CICS程序与CICS CLIENT 程序间传递信息的数据区,CICS中访问VSAM文件,READ命令WRITE命令REWRITE命令DELETE命令UNLOCK命令,READ命令-随机读取VSAM文件中的记录,EXEC CICS READ FILE(CICS-FILE-NAME)INTO(DATA-RECORD)LENGTH(RECORD-L)变长需要 RIDFLD(KEY)RRN(RRDS)UPDATEEND-EXECREAD 常见异常:NOTFND:文件中没有找到键值指定记录INVEREQ:非法的请求FILENOTFOUND:FCT里文件名不存在LENGERR:记录长度错误NOTOPEN:文件没有打开ILLOGIC:逻辑错误DISABLED:文件处于失效状态,WRITE命令-写一条新纪录到VSAM文件中,EXEC CICS WRITE FILE(CICS-FILE-NAME)FORM(DATA-RECORD)RIDFLD(KEY)RRN(RRDS)END-EXECWRITE 常见异常:DUPREC:记录重复LENGERR:记录长度错误NOSPACE:文件的空间已满INVREQ,REWRITE命令-用来置换文件中已经存在的记录,EXEC CICS REWRITE FILE(CICS-FILE-NAME)FORM(DATA-RECORD)END-EXEC注意执行REWRITE语句之前,必须先执行READ UPDATE命令REWRITE 常见异常:INVREQ,DELETE命令-用来删除文件中的一条记录,EXEC CICS DELETE FILE(CICS-FILE-NAME)RIDFLD(KEY)RRNEND-EXEC注意只有KSDS 和 RRDS文件记录才能够删除。如果存取的记录在删除之前有为修改所做的检索,就不需要RIDFLD。REWRITE 常见异常:INVREQNOTFND,UNLOCK命令-用来释放被READ UPDATE语句独占的记录,EXEC CICS UNLOCK FILE(CICS-FILE-NAME)END-EXEC当下列情况发生时,VSAM排他控制得以释放在文件中REWRITE修改的记录DELETE记录通过发送UNLOCK命令取消修改的意向任务结束有明确的SYNPOINT命令或任务终结,CICS排他控制也结束,CICS中浏览VSAM文件,STARTBR命令READNEXT命令READPREV命令ENDBR命令RESETBR命令,STARTBR命令-用来开始一个VSAM文件浏览处理,EXEC CICS STARTBR FILE(CICS-FILE-NAME)RIDFLD(KEY)KEYLENGTH GTEQ/EQUAL END-EXECSTARTBR 常见异常:NOTFND:INVEREQ:,READNEXT命令-用来按照键值的顺序检索下一条记录VSAM文件浏览处理,EXEC CICS READNEXT FILE(CICS-FILE-NAME)INTO(DATE-AREA)LENGTH RIDFLD(KEY)KEYLENGTH-END-EXECREADNEXT 常见异常:NOTFND:INVEREQ:ENDFILE:读到文件末尾。(EOF异常状态),TS QUEUE,写数据到临时存储队列修改临时存储队列中的数据从临时存储队列中读取数据删除临时存储队列中的数据,写数据,EXEC CICS WRITEQ TS QUEUE(q-name)FROM(data-area)LENGTH(queue-len)ITEM(counter)-S9(4)comp MAIN/AUXILIARYEND-EXECWRITEQ TS常见异常INVREQ 队列处于疑问状态IOERR 操作临时队列时出现输入输出错误时出现 ITEMERR 编号非法(不在队列范围内);超过了允许的最大编号NOSPACE 临时存储队列中没有足够的空间存放要写的记录QIDERR 指定的队列不存在,修改数据,EXEC CICS WRITEQ TS QUEUE(q-name)FROM(data-area)LENGTH(queue-len)ITEM(counter)REWRITEEND-EXEC,读取数据,EXEC CICS READQ TS QUEUE(q-name)INTO(data-area)LENGTH(queue-len)ITEM(counter)END-EXEC READQ TS常见异常IOERRITEMERRQIDERRLENGERR 存储的数据记录大于指定在LENGTH选项中的变量的值,删除数据,EXEC CICS DELETEQ TS QUEUE(q-name)END-EXEC DELETEQ TS常见异常INVERQIOERRQIDERR,一些基本的CICS命令,RECEIVE 命令SEND命令SEND CONTRAL 命令RETURN 命令,其他CICS常用命令,ASKTIMEFORMATTIMEENDDEQDELAYCANCEL,CICS中用到的交易,CEDA 联机资源定义交易CEMTMASTER TERMINAL 用户动态的控制CICS系统CECI命令层解析程序,可执行CICS命令而无须编写程序CEDF联机交易诊断工具CEBR浏览和删除TS QUEUE,CEDA,CEMT,CECI,CEBR,结束语,谢 谢!,