390开发实用技术: 重拳出击,CICS联机程序开发新手必看---一个典型的CICS程序,所有完备功能包括上下翻屏,增加/编辑/删除/拷贝纪录等
来源:互联网 发布:java中inheritance 编辑:程序博客网 时间:2024/04/28 12:34
经过前面基础知识入门的朋友,一定想知道典型的ONLINE程序是如何的. 下面的文章即将展现最典型的基于CICS,COBOL,DB2和MAPS MICRO的交易 ---纪录加油的交易. 此交易具有所有银行应用的功能,包括上下翻屏,增加/显示/修改/拷贝 数据库记录.
STEP1:首先我们要先规划一下要做的事情:两张MAP和对应着的两个程序,分别是上下翻屏的画面和显示明细的画面; 两个CICS交易,分别对应着两个程序;4个JCL,分别编译MAPS和PROGRAMS;两个DB2 DBRM和一个PLAN; 两个CICS的DB2 ENTRY和DB2 TRANS.
其中MAPS,PROGRAMS,JCLS,TRANSACTIONS不需多说,前面基础入门的文章已经提到.在这里要提一下什么是DB2 DBRM, PLANS和CICS DB2 ENTRY & DB2 TRANS.
DB2 DBRM: 负责进行程序和数据库之间的交流,可以打开DBRM来看看,看到的是一些SQL语句,比如SELECT, CURSOR等等
PLANS: 一个PLANS可以包含多个DBRM或者PACKAGE.PLAN里面包括一些授权信息,这可以理解为运行程序的时候需要以某种权限去访问数据库,比如SELECT权限,UPDATE权限等.
CICS DB2 ENTRY & DB2 TRANS: 要让CICS和外部的DB2进行通讯,除了要定义DB2 CONNECTION之外,还需要定义DB2 ENTRY & TRANS. 其中DB2 ENTRY里面定义了ENTRY名字,所属GROUP名字,还有要用到的PLAN名字; DB2 TRANS定义了该交易对应于CICS里面哪个已定义的交易,以及要用到的DB2 ENTRY名字.有了这两个定义,CICS内部交易就可以访问外部数据库了.
STEP2: COBOL程序里面要实现上下翻屏,不能像AS/400 RPG+DISPLAY FILES那样简单定义SUBFILE,而必须要自己写出算法.一般来说是定义SQL CURSOR,在打开CURSOR的时候每次读几条记录,然后记录下第一条和最后一条记录,以便下一次上下翻屏,实例如下
STEP3:编写上下翻屏屏幕文件和显示明细文件如下
STEP4:编写主控程序,实现上下翻屏; 编写显示明细程序. 在这里要请读者注意程序之间调用的几个方法: XCTL, LINK和RETURN的区别. 一般来说,CICS RETURN(TRANSID)是表示在CICS TRANSACTION结束之后,下一个即将运行的交易的名字.请注意是'即将',就是说,RETURN之后,实际上交易已经不占用内存和CPU资源. 另外就是XCTL和LINK: XCTL是把控制权交给另外一个程序,XCTL有点像GOTO,去了就不回来了.而LINK是相当于执行一个子程序,执行完之后还是会回来的.
STEP5:MAP的编译作业流在这里就不再多说,前面入门的文章已经有说明;这里要说的是COBOL的编译作业流.这个作业流包括预编译SQL,预编译CICS,LINK和BIND等过程. 这里的BIND是把两个程序相关的DBRM都一起BIND进来了,如果相关程序多的话,也可以在ISPF菜单下用DB2I的BIND PLAN功能去做。
STEP6:在CICS下分别定义、安装MAPS,PROGRAMS,TRANSACTION,DB2 ENTRY, DB2TRANS,在这里给出DB2 ENTRY的画面
STEP7:相关功能演示:
入口画面
向下翻屏
显示明细
编辑明细
删除
新建
拷贝
STEP1:首先我们要先规划一下要做的事情:两张MAP和对应着的两个程序,分别是上下翻屏的画面和显示明细的画面; 两个CICS交易,分别对应着两个程序;4个JCL,分别编译MAPS和PROGRAMS;两个DB2 DBRM和一个PLAN; 两个CICS的DB2 ENTRY和DB2 TRANS.
其中MAPS,PROGRAMS,JCLS,TRANSACTIONS不需多说,前面基础入门的文章已经提到.在这里要提一下什么是DB2 DBRM, PLANS和CICS DB2 ENTRY & DB2 TRANS.
DB2 DBRM: 负责进行程序和数据库之间的交流,可以打开DBRM来看看,看到的是一些SQL语句,比如SELECT, CURSOR等等
PLANS: 一个PLANS可以包含多个DBRM或者PACKAGE.PLAN里面包括一些授权信息,这可以理解为运行程序的时候需要以某种权限去访问数据库,比如SELECT权限,UPDATE权限等.
CICS DB2 ENTRY & DB2 TRANS: 要让CICS和外部的DB2进行通讯,除了要定义DB2 CONNECTION之外,还需要定义DB2 ENTRY & TRANS. 其中DB2 ENTRY里面定义了ENTRY名字,所属GROUP名字,还有要用到的PLAN名字; DB2 TRANS定义了该交易对应于CICS里面哪个已定义的交易,以及要用到的DB2 ENTRY名字.有了这两个定义,CICS内部交易就可以访问外部数据库了.
STEP2: COBOL程序里面要实现上下翻屏,不能像AS/400 RPG+DISPLAY FILES那样简单定义SUBFILE,而必须要自己写出算法.一般来说是定义SQL CURSOR,在打开CURSOR的时候每次读几条记录,然后记录下第一条和最后一条记录,以便下一次上下翻屏,实例如下
STEP3:编写上下翻屏屏幕文件和显示明细文件如下
STEP4:编写主控程序,实现上下翻屏; 编写显示明细程序. 在这里要请读者注意程序之间调用的几个方法: XCTL, LINK和RETURN的区别. 一般来说,CICS RETURN(TRANSID)是表示在CICS TRANSACTION结束之后,下一个即将运行的交易的名字.请注意是'即将',就是说,RETURN之后,实际上交易已经不占用内存和CPU资源. 另外就是XCTL和LINK: XCTL是把控制权交给另外一个程序,XCTL有点像GOTO,去了就不回来了.而LINK是相当于执行一个子程序,执行完之后还是会回来的.
STEP5:MAP的编译作业流在这里就不再多说,前面入门的文章已经有说明;这里要说的是COBOL的编译作业流.这个作业流包括预编译SQL,预编译CICS,LINK和BIND等过程. 这里的BIND是把两个程序相关的DBRM都一起BIND进来了,如果相关程序多的话,也可以在ISPF菜单下用DB2I的BIND PLAN功能去做。
STEP6:在CICS下分别定义、安装MAPS,PROGRAMS,TRANSACTION,DB2 ENTRY, DB2TRANS,在这里给出DB2 ENTRY的画面
STEP7:相关功能演示:
入口画面
向下翻屏
显示明细
编辑明细
删除
新建
拷贝
- 390开发实用技术: 重拳出击,CICS联机程序开发新手必看---一个典型的CICS程序,所有完备功能包括上下翻屏,增加/编辑/删除/拷贝纪录等
- 390开发实用技术: 给新入门CICS的朋友们----CICS下的Hello World!
- 390开发实用技术: 主机开发者入门之CICS MAP
- 关于一个CICS程序运行成功
- CICS中程序跳转的方式介绍
- cics-map-db2程序的调试
- AIX cics程序编译 ERZ057001E的问题
- CICS集群新增一个PD作为入口程序
- 基于CICS的COBOL程序顺序文件处理
- cics,一个即将退伍的老兵
- cics,一个即将退伍的老兵
- 关于PSP的远程联机程序开发
- 一个必看的Java程序
- 一个必看的Java程序
- AE开发拷贝程序找不到CartoUI等引用的解决
- c#开发一个“记事本”程序,要求能够实现文件的新建、打开、编辑、保存功能
- 精通COBOL--16.2.1 CICS程序编译流程
- 精通COBOL--16.5 CICS中的程序调用
- saa
- 390进阶: S/390的 LPAR(逻辑分区)方式
- 架构师
- Mainframe之间的文件传输
- 主机OS/390汇编程序入门篇
- 390开发实用技术: 重拳出击,CICS联机程序开发新手必看---一个典型的CICS程序,所有完备功能包括上下翻屏,增加/编辑/删除/拷贝纪录等
- 390开发实用技术: 给新入门CICS的朋友们----CICS下的Hello World!
- 博客开篇第一帖
- COBOL ON MVS
- 390开发实用技术: 主机开发者入门之CICS MAP
- 《门徒》,应该去电影院看哦
- 关于IIS WMI
- 外企工作日志13
- 新年后工作的第一天