




已阅读5页,还剩32页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
COBOLforMainframeFundamentals COBOL主机应用开发架构基础 本节内容 COBOL与传统系统COBOL应用开发架构COBOL与CICSCOBOL与DB2COBOL与IMS更详尽的内容将在相关课程中讲述 COBOL与传统系统 传统程序是用上一代技术开发的可操作计算机程序或程序组 多数已经运行多年 并且仍然能胜任所负责的工作的可行系统 上世纪70年代 80年代 COBOL大量用于建设大型 复杂的商业系统 因此用COBOL编写的数据处理程序构成了传统程序的主体 传统系统通常是公司进行关键商业活动时所依赖的核心程序 当系统需要更新时不能中断 从头改写往往是下策 其代码的修改和改进为现代的COBOL编程人员带来了机遇和挑战 COBOL应用开发架构 大部分传统COBOL系统都是用IBM硬件 操作系统和编译器开发的 近代的S 390 Z900 AS 400乃至最新的iSeries zSeries等服务器上仍然保持了对COBOL的支持 COBOL应用程序的数据可以放在文件中 也可以放在DBMS 数据库管理系统 中 主机上COBOL应用程序后台的DBMS通常使用IMS 层次数据库 或DB2 RDBMS 事务管理的实现则使用CICS或者IMSTM COBOL与CICS CICS简介CICSCOBOL CICS简介 CICS是IBM的客户信息控制系统 是运行终端 联机 系统的环境 CICS特别适合事务性系统 如处理机票购买和银行存取款等 40多年来 CICS一直活跃在全球一流公司的商业系统中 当今全球一共有大约50000个CICS站点 在500个最大的IBM客户中 490个都是用CICS 大约有100万编程人员编写和维护CICS程序 主要是COBOL程序 CICS事务 CICS事务由一个或多个CICS程序组成 通常是用COBOL编写 一般是用SQL命令读写关系数据库或用DL I读写IMS数据库 并负责与终端上的最终用户交流信息 CICS保证事务或者完全成功 或者根本不执行 它与COBOL配合协调 能高效地使用系统资源 COBOL程序的性质是不可再入 reentrant 的 即一次只能有一个终端用户执行内存中的COBOL程序 但CICS用伪再入 pseudo reentrant 或准再入 quasi reentrant 技术解决了这个问题 它对COBOL程序的每个实例保存一份工作存储节 但允许程序的所有实例使用过程部 CICS程序实例 屏1 CICS程序实例 屏2 CICS程序实例 屏3 CICS程序实例 屏4 COBOL与CICS CICS的许多特性使程序员不必考虑CICS终端的结构和它们的位置以及如何与网络联接就能编写出高级的事务处理应用程序 CICSCOBOL程序是COBOL语句与EXECCICS语句的组合 能与CICS通信 程序中的每一行是下列语句之一 COBOL行 例如MOVEWS TEMPTOWS PERMANENT EXECCICS语句 例如EXECCICSRETURNEND EXEC 数据库访问语句 例如EXECSQLSELECTNAMEINTO WS NAMEFROMEMPLOYEEWHEREEMP ID WS IDEND EXEC CICSCOBOL程序通过EXECCICSSEND和RECEIVE语句与最终用户通信 就像其它程序使用DISPLAY和ACCEPT一样 不过在CICSCOBOL程序中 通常是全屏显示而不是一行显示 COBOL中的CICS命令 通用格式commandoption arg 在COBOL中用EXECCICS启动CICS命令 用ENDEXEC 终止 CICS命令一览 终端控制SEND SENDCONTROL SENDMAP RECEIVE RECEIVEMAP异常处理HANDLECONDITION IGNORECONDITION文件控制READ WRITE REWRITE WRITE UNLOCK STARTBR READNEXT READPREV ENDBR RESETBR程序控制LINK XCTL RETURNQueue控制WRITEQTS TD READQTS TD DELETEQTS TD 终端控制 对终端进行I O命令 SENDRECEIVE基本的mapping支持 基本的mapping支持 字符屏幕显示 mapping 基于应用程序生成mapping从终端接受数据或向终端发送数据 SEND命令 语法格式EXECCICSSENDFROM data area LENGTH data value END EXEC SEND样例 WORKING STORAGESECTION 01MSG LENGTHPICS9 4 COMP 01OUTPUT MESSAGE 05MSG IDPICX 4 05FILLERPICX 05MSG TXTPICX 35 PROCEDUREDIVISION MOVE40TOMSG LENGTH MOVE INV1 TOMSG ID MOVE INVOICENOWBEINGPRINTED TOMSG TXT EXECCICSSENDFROM OUTPUT MESSAGE LENGTH MSG LENGTH ERASEEND EXEC SENDCONTROL命令 语法格式EXECCICSSENDCONTROLCURSOR data value ERASE ERASEUPFREEKBEND EXEC SENDMAP命令 语法格式EXECCICSSENDMAP name MAPSET name FROM data area LENGTH data value DATAONLY MAPONLY ALARM CURSOR data value ERASE ERASEUP FREEKB END EXEC Exceptioncondition MAPFAIL 符号Map WORKING STORAGESECTION COPYsymbolic map member namePROCEDUREDIVISION MOVExxxTOxxxO EXECCICSSENDMAP END EXEC 物理Map 在CICS里用CEDA定义CEDA DEF MAPSET RECEIVEMAP命令 语法格式EXECCICSRECEIVEMAP name MAPSET name LENGTH data area INTO data area END EXEC Exceptioncondition MAPFAIL 符号Map WORKING STORAGESECTION COPYsymbolic map member namePROCEDUREDIVISION EXECCICSRECEIVEMAP END EXEC MOVExxITOxxx CICSCOBOL程序的限制 环境部中与数据管理服务有关的项目不能使用 数据部的文件节 filesection 不能使用 REPORT WRITER SEGMENTATION SORT和TRACE等不能使用 COBOLREAD WRITE OPEN和CLOSE等语句不能使用 ACCEPT CURRENT DATE DATE DAY DISPLAY EXHIBIT INSPECT SIGNISSEPARATE STOPRUN TIME UNSTRING等动词不能使用 CICSCOBOL程序的结束 语法EXECCICSRETURNEND EXEC COBOL与DB2 DB2是大型主机上支持的大型关系数据库管理系统 COBOL应用程序通过执行SQL语句来操作和访问DB2数据库 在COBOL中 使用SQL有所不同 SQL查询必须以EXECSQL开始 以END EXEC结束 SQL查询通常使用COBOL宿主变量 宿主变量 hostvariable 宿主变量 hostvariable 在SQL语句前面带冒号 宿主变量应该在COBOL中正确定义 对应于列属性 DELETE语句不需要宿主变量 SELECT语句需要宿主变量 INSERT语句通常需要宿主变量 但也可以使用VALUES从句 UPDATE语句也需要宿主变量 但只对要改变数据的列 例子 查询员工1并改变其性别 MOVE FEMALE TOSEXOFDCLEMPLOYEEEXECSQLUPDATEEMPLOYEESETSEX DCLEMPLOYEE SEXWHEREEMP ID 1END EXEC 注意在COBOL语法中的SEXOFDCLEMPLOYEE在SQL中变成DCLEMPLOYEE SEX COBOL CICS DB2样本程序 详见TESTMENU COBOL与IMS IMS是大型机上的层次数据库 已经出现大约45年 IMS是要求高性能 高可用性 高可靠性和高可管理性的公司的应用程序的首选 全球很多行业的商业运行都依赖于IMS 1000家最大公司的90 都使用IMS IMS支持Java PL 1 C C 等多种应用开发语言 对COBOL的支持更是历史悠久 数据操作语言 DML DML提供宿主编程语言 比如COBOL 和数据库间的接口 宿主编程语言 database 数据语言DL I DL I是IMS使用的DML 它不是独立的语言 而是一组过程性代码和数值 COBOL可以作为DL I的宿主编程语言 通过普通子程序调用的方式调用DL I 数据库对于COBOL来说是个黑盒子 不能直接访问 COBOL用DL I提供的API访问数据库 COBOL DL I IMSdatabase Entry语句 COBOL程序中的第一条语句是ENTRY语句 说明本COBOL程序使用的PCB掩模 从而建立与相应数据库的连接 PROCEDUREDIVISl0N A000 MAIN PROCESS ENTRY DLITCBL USINGEMPLOYEE DB PCB MASK DLITCBL是 DL ItoCOBOL 的缩写 COBOL中调用DL I函数
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 工业管道安全监控系统的设计与实施
- 工业自动化与机器人的未来趋势
- 工业自动化技术的发展
- 工业设计与产品创新关系探讨
- 工作压力管理方法与情绪调节能力培训教程
- 工程中质量管理与控制方法
- 工作场合中的公众讲话艺术
- 工厂自动化的家居智能化策略与实践
- 工程机械中的数控技术应用研究
- 工程造价在绿色机房建设中的应用
- 进口食品企业质量安全管理制度模版
- 15-1外墙节能构造现场施工检验记录
- 江西省重点中学自主招生考试物理试题
- 【基于SLP方法的物流园平面布局规划案例分析7400字(论文)】
- 实验一 单结晶体管触发电路及单相半波可控整流电路实验
- MSA-GRR数据自动生成工具(已经解密)
- 2022江苏苏州工业园区苏相合作区助理人员招聘15人上岸笔试历年难、易错点考题附带参考答案与详解
- 广东省广州市增城区2022-2023学年一年级下学期期末数学试卷
- 水处理设备供货整体技术服务方案
- 国家开放大学《汉语通论》形考任务1-4+终结性考核参考答案
- 石油开采常规地质录井培训教材课件
评论
0/150
提交评论