不用说,朋友们一定注意到了在求职主机工作中,很大部分的雇主要求要会CICS. 没接触过CICS的朋友一定会觉得这个冬冬高深莫测,但实际上,CICS不过是搭建在主机上的一个高层应用,主要用于保证联机交易的正常运行. 我以前已经在
"论坛上回答过一位朋友,为何银行等实时性强的系统都用CICS而不自己写同步交易. 在这里,我打算用一个最简单的CICS程序, 展现一个Hello world的屏幕,作为入门,本程序不涉及读写数据库或者文件. 但本程序已经有响应键盘输入(F1,F3,F5.....)的功能. 还等什么,现在就来开始学习吧!
STEP1:编写MAP MICRO程序.请注意,三要素:DFHMSD, DFHMDI, DFHMDF. 分别代表MAPSET, MAP和里面的FIELD.
STEP2:编译MAP MICRO.事实上会生成2个咚咚:一个叫做PHYSICAL MAP,一个叫做SYMBOLIC MAP. 请注意:PHYSICAL MAP是二进制文件,给CICS调用;而SYMBOLIC MAP是COPYBOOK,给COBOL程序引用里面的变量.
STEP3:下面进入CICS环境去定义刚才生成的MAP,命令CEDA DEF MAPSET(HELLOM) GROUP(TEST) ,为啥要这样定义呢?因为CICS是高层应用,它需要知道调用的MAP是指向外面的哪个程序.
STEP4:定义完了以后要安装,用CEDA INS MAPSET(HELLOM) GROUP(TEST)
STEP5:开始编写Hello world的COBOL程序
STEP6:编译cobol程序的作业流. 因为系统已经提供了一个proc名为DFHEITVL,因此作业流可以写得非常简单,这里请注意,有个参数'OUT=H'一定要写,否则编译出来的OUTPUT看不到编译过程和错误细节. 这一点是经过HUNTER大虾的帮助才明白的,让我少走了不少弯路
STEP7:程序编译完成,放在alluser.cics.load库下,此库已经定义到CICS启动作业流中,因此可以直接引用里面的module,也就是刚编译出来的HELLOC.这时候进入CICS, 用CEDA DEF PROG(HELLOC) GROUP(TEST)来定义程序. 和MAP的原理一样,CICS需要知道,在他自己CICS内部的程序名对应于哪个外部的MODULE
STEP8:和MAP一样,程序HELLOC定义完以后要安装,用CEDA INS PROG(HELLOC) GROUP(TEST)来安装
STEP9:这时候要定义一个CICS交易,命名为'HLLO'.此交易调用程序'HELLOC',用CEDA DEF TRANS(HLLO) PROG(HELLOC) GROUP(TEST)来定义
STEP10:同理,定义完交易以后要安装,用CEDA INS TRANS(HLLO) GROUP(TEST)
STEP11:最后一步,运行交易HLLO,哈哈!终于看到画面了...试试看能否响应你的键盘输入? F1,F7,F8.... br>
STEP1:编写MAP MICRO程序.请注意,三要素:DFHMSD, DFHMDI, DFHMDF. 分别代表MAPSET, MAP和里面的FIELD.
![](https://i-blog.csdnimg.cn/blog_migrate/4714252c1a667e40e117d14558b43d80.png)
STEP2:编译MAP MICRO.事实上会生成2个咚咚:一个叫做PHYSICAL MAP,一个叫做SYMBOLIC MAP. 请注意:PHYSICAL MAP是二进制文件,给CICS调用;而SYMBOLIC MAP是COPYBOOK,给COBOL程序引用里面的变量.
![](https://i-blog.csdnimg.cn/blog_migrate/baac4b68b010ca4d07767df147f7be7e.png)
STEP3:下面进入CICS环境去定义刚才生成的MAP,命令CEDA DEF MAPSET(HELLOM) GROUP(TEST) ,为啥要这样定义呢?因为CICS是高层应用,它需要知道调用的MAP是指向外面的哪个程序.
![](https://i-blog.csdnimg.cn/blog_migrate/a1a7e2c35edc197c44f7445dbd2bb2b0.png)
STEP4:定义完了以后要安装,用CEDA INS MAPSET(HELLOM) GROUP(TEST)
![](https://i-blog.csdnimg.cn/blog_migrate/acf4f8532f7a0155872a1ccd073a82f2.png)
STEP5:开始编写Hello world的COBOL程序
![](https://i-blog.csdnimg.cn/blog_migrate/25f2b6afd891a197b7bd9d9b5e617595.png)
STEP6:编译cobol程序的作业流. 因为系统已经提供了一个proc名为DFHEITVL,因此作业流可以写得非常简单,这里请注意,有个参数'OUT=H'一定要写,否则编译出来的OUTPUT看不到编译过程和错误细节. 这一点是经过HUNTER大虾的帮助才明白的,让我少走了不少弯路
![](https://i-blog.csdnimg.cn/blog_migrate/091d23fdad774370c212f7aff093b289.png)
STEP7:程序编译完成,放在alluser.cics.load库下,此库已经定义到CICS启动作业流中,因此可以直接引用里面的module,也就是刚编译出来的HELLOC.这时候进入CICS, 用CEDA DEF PROG(HELLOC) GROUP(TEST)来定义程序. 和MAP的原理一样,CICS需要知道,在他自己CICS内部的程序名对应于哪个外部的MODULE
![](https://i-blog.csdnimg.cn/blog_migrate/e1e341553717675b2b024e7490a80e15.png)
STEP8:和MAP一样,程序HELLOC定义完以后要安装,用CEDA INS PROG(HELLOC) GROUP(TEST)来安装
![](https://i-blog.csdnimg.cn/blog_migrate/3bf1e0454c63914db161e35dfdfae2a3.png)
STEP9:这时候要定义一个CICS交易,命名为'HLLO'.此交易调用程序'HELLOC',用CEDA DEF TRANS(HLLO) PROG(HELLOC) GROUP(TEST)来定义
![](https://i-blog.csdnimg.cn/blog_migrate/53b65eb5a68d87fa8dde96935325b46c.png)
STEP10:同理,定义完交易以后要安装,用CEDA INS TRANS(HLLO) GROUP(TEST)
![](https://i-blog.csdnimg.cn/blog_migrate/904b06ca452242d9601be39da972400a.png)
STEP11:最后一步,运行交易HLLO,哈哈!终于看到画面了...试试看能否响应你的键盘输入? F1,F7,F8.... br>
![](https://i-blog.csdnimg.cn/blog_migrate/07f36e94138d4310f67996d8dc2c765b.png)