精通COBOL——大型机商业编程技术详解(修订版)
精通COBOL——大型机商业编程技术详解(修订版)
1 COBOL简介
1.1 背景知识
1.2 语法格式
1.3 COBOL学习环境配置
1.3.1 模拟大型机系统—Hercules
1.3.2 终端连接软件—PCOM
1.4 创建第一个COBOL程序
1.5 本章回顾
2 程序结构
2.1 标志部
2.2 环境部
2.2.1 配置节
2.2.2 输入/输出节
2.3 数据部
2.3.1 文件节
2.3.2 工作存储节
2.4 过程部
2.5 本章回顾
3 常用语句
3.1 MOVE语句
3.1.1 复制单个数据项
3.1.2 复制不同类型和长度的单个数据项
3.1.3 复制一组数据
3.2 PERFORM语句
3.3 ACCEPT和DISPLAY语句
3.3.1 使用ACCEPT语句接收数据
3.3.2 使用DISPLAY语句输出数据
3.4 REDEFINES语句
3.5 文件相关语句
3.5.1 OPEN和CLOSE语句
3.5.2 READ语句
3.5.3 WRITE语句
3.6 本章回顾
4 基本数据类型
4.1 基本数据类别
4.1.1 变量
4.1.2 常量
4.1.3 直接数
4.1.4 结构体
4.2 字符类型
4.3 整型数类型
4.4 浮点数类型
4.5 Signed Numbers符号类型
4.5.1 Signed Numbers符号类型的作用
4.5.2 Signed Numbers符号类型的输出
4.6 Numeric Edited Fields格式输出类型
4.6.1 货币格式
4.6.2 算术符号格式
4.6.3 算术数格式
4.6.4 日期格式
4.6.5 其他格式
4.6.6 各种格式的综合应用
4.7 本章回顾
5 字符串及其操作
5.1 字符串的基本概念
5.2 使用STRING语句合并字符串
5.2.1 STRING语句的基本用法
5.2.2 STRING语句的综合应用
5.3 使用UNSTRING语句拆分字符串
5.3.1 UNSTRING语句的基本用法
5.3.2 UNSTRING语句的综合应用
5.4 利用INSPECT语句替换字符串
5.4.1 对全体字符进行替换
5.4.2 对前缀字符进行替换
5.4.3 对首字符进行替换
5.4.4 字符串替换的综合应用
5.5 字符串转换
5.5.1 字符串中字母大小写的转换
5.5.2 将字符串转换为具体数值
5.6 子字符串的概念及应用
5.7 通过MAX和MIN得到最大和最小字符串
5.8 求取字符串的长度
5.9 本章回顾
6 基本运算
6.1 算术运算
6.1.1 四舍五入运算ROUNDED
6.1.2 运算结果溢出报错ON SIZE ERROR
6.1.3 算术加运算ADD
6.1.4 算术减运算SUBTRACT
6.1.5 算术乘运算MULTIPLY
6.1.6 算术除运算DIVIDE
6.1.7 乘方运算COMPUTE
6.1.8 复合算术运算COMPUTE
6.1.9 算术统计运算COMPUTE
6.2 关系运算
6.3 逻辑运算
6.3.1 逻辑与运算
6.3.2 逻辑或运算
6.3.3 逻辑非运算
6.3.4 复合逻辑运算
6.3.5 逻辑运算表达式中常用的省略方式
6.4 本章回顾
7 流程控制
7.1 顺序结构流程控制
7.2 选择结构流程控制
7.2.1 选择结构的基本流程
7.2.2 条件判断表达式
7.2.3 使用IF语句控制选择结构流程
7.2.4 使用嵌套IF语句控制选择结构流程
7.2.5 使用EVALUATE语句控制多分支选择结构流程
7.2.6 使用ZERO简化选择结构编码
7.2.7 使用88层条件名简化选择结构编码
7.2.8 选择结构的综合应用
7.3 循环结构流程控制
7.3.1 循环结构的基本流程
7.3.2 使用PERFORM UNTIL语句控制循环结构流程
7.3.3 使用线上PERFORM语句控制循环结构流程
7.3.4 循环结构的综合应用
7.4 本章回顾
8 数据的排序与合并
8.1 排序与合并概述
8.1.1 排序的基本概念
8.1.2 合并的基本概念
8.2 数据的排序
8.2.1 使用SD语句定义排序中间文件
8.2.2 使用USING短语指定排序输入文件
8.2.3 使用GIVING短语指定排序输出文件
8.2.4 使用SORT语句进行排序
8.2.5 编写排序中的输入处理过程
8.2.6 编写排序中的输出处理过程
8.2.7 包含有输入输出处理过程的SORT语句排序
8.3 数据的合并
8.3.1 指定合并输入输出文件
8.3.2 编写合并中的输出处理过程
8.3.3 使用MERGE语句进行合并
8.4 本章回顾
9 COBOL中的表
9.1表的简介
9.1.1 为什么要使用表
9.1.2 表的基本概念
9.1.3 表的基本用途
9.1.4 几类典型结构的表
9.2 下标表
9.2.1 如何定义下标表
9.2.2 下标的作用
9.2.3 下标的格式要求
9.3 定义表语句OCCURS
9.3.1 OCCURS语句的使用方法
9.3.2 使用OCCURS语句得到的表空间结构
9.4 浏览表语句PERFORM VARYING
9.4.1 PERFORM VARYING语句的使用方法
9.4.2 如何使用PERFORM VARYING语句处理表中数据
9.4.3 PERFORM VARYING语句的一些灵活应用
9.4.4 PERFORM VARYING语句和PERFORM语句的比较
9.5 表的初始化
9.5.1 使用硬性编码方式初始化表
9.5.2 使用输入文件载入方式初始化表
9.5.3 对表初始化的一些灵活技巧
9.6 直接查找方式
9.6.1 如何定义用于直接查找的表
9.6.2 如何进行直接查找
9.6.3 对查找数据的处理
9.6.4 直接查找方式的适用范围
9.7 顺序查找方式
9.7.1 如何进行顺序查找
9.7.2 使用顺序查找方式的注意事项
9.8 二分查找方式
9.8.1 可用于二分查找的表的特征
9.8.2 如何进行二分查找方式
9.8.3 二分查找方式的好处
9.9 3种查找方式的比较和总结
9.9.1 对表的要求
9.9.2 具体查找过程
9.9.3 查找效率
9.9.4 查找方式小结
9.10 对表中数据的统计计算
9.10.1 计算数据总和
9.10.2 计算平均数
9.10.3 计算中位数
9.10.4 统计计算小结
9.11 索引表
9.11.1 为何要使用索引表
9.11.2 如何定义索引表
9.11.3 索引的特点
9.11.4 索引表的内部存储结构
9.11.5 索引表和下标表的比较
9.12 处理索引语句SET
9.12.1 使用SET语句对索引赋值
9.12.2 使用SET语句对索引进行算术运算
9.13 查找索引表语句SEARCH
9.13.1 SEARCH语句的格式
9.13.2 SEARCH语句的功能
9.14 查找索引表语句SEARCH ALL
9.14.1 SEARCH ALL语句的格式要求
9.14.2 SEARCH ALL语句的实际应用
9.15 定长表和变长表
9.15.1 定长表
9.15.2 如何定义变长表
9.15.3 变长表中数据的引用范围
9.15.4 变长表应用举例
9.16 嵌套表
9.16.1 如何定义嵌套表
9.16.2 嵌套下标表
9.16.3 嵌套索引表
9.17 本章回顾
10 程序的调试与测试
10.1 调试与测试的基本概念
10.1.1 调试的基本概念
10.1.2 测试的基本概念
10.2 调试所需处理的错误类型
10.2.1 语法错误
10.2.2 逻辑错误
10.3 增殖式调试方法
10.4 使用DISPLAY语句辅助调试
10.5 测试基本类型
10.5.1 黑盒测试
10.5.2 白盒测试
10.6 测试基本步骤
10.7 数据合法性检测
10.7.1 数字与字母检测
10.7.2 数据正负检测
10.7.3 数据范围检测
10.7.4 数据顺序检测
10.7.5 数据存在检测
10.8 错误信息列表
10.9 本章回顾
11 子程序调用
11.1 子程序调用的作用
11.1.1 提高代码可重用性
11.1.2 提高部分功能段执行效率
11.1.3 防止数据意外丢失或被更改
11.2 子程序调用的特点
11.2.1 子程序的命名规则
11.2.2 子程序的调用顺序
11.2.3 子程序的终止方式
11.3 主调用程序
11.3.1 主调用程序中参数的定义
11.3.2 主调用程序中的调用过程
11.4 被调用程序
11.4.1 被调用程序中参数的定义
11.4.2 被调用程序中参数的引用
11.4.3 被调用程序中的入口地址
11.5 静态调用
11.5.1 静态调用的基本概念
11.5.2 静态调用程序示例
11.6 动态调用
11.6.1 动态调用的基本概念
11.6.2 动态调用程序示例
11.7 嵌套子程序
11.7.1 嵌套子程序的结构
11.7.2 嵌套子程序的调用权限
11.8 本章回顾
12 COBOL中的面向对象技术
12.1 面向对象的基本概念
12.1.1 对象的概念
12.1.2 类的概念
12.1.3 继承的概念
12.1.4 消息的概念
12.1.5 多态的概念
12.1.6 接口的概念
12.2 定义COBOL中的类
12.2.1 标志部中的定义
12.2.2 环境部中的定义
12.2.3 数据部中的定义
12.2.4 类的完整定义
12.3 COBOL中的方法
12.3.1 方法的定义
12.3.2 嵌套在类与对象中的方法
12.4 COBOL中的客户程序
12.4.1 客户程序的定义
12.4.2 通过客户程序调用方法
12.4.3 包含实例变量的方法调用
12.5 COBOL中的子类
12.5.1 子类的定义
12.5.2 子类的应用
12.6 COBOL中的工厂对象
12.6.1 工厂对象的定义
12.6.2 工厂对象的应用
12.7 异常处理
12.8 本章回顾
13 处理VSAM文件
13.1 VSAM文件的基本概念
13.1.1 VSAM文件的分类及作用
13.1.2 VSAM文件的管理方式
13.1.3 VSAM文件的组织结构
13.1.4 VSAM文件的设计步骤
13.2 VSAM中的LDS
13.2.1 LDS的结构及特征
13.2.2 计算LDS的空间大小
13.3 VSAM中的ESDS
13.3.1 ESDS的结构及特征
13.3.2 ESDS的访问方式
13.3.3 Spanned Record技术
13.3.4 计算ESDS的空间大小
13.4 VSAM中的RRDS
13.4.1 RRDS的结构及特征
13.4.2 RRDS的访问方式
13.4.3 计算RRDS的空间大小
13.5 VSAM中的KSDS
13.5.1 KSDS的结构及特征
13.5.2 KSDS中的Key及索引
13.5.3 KSDS的访问方式
13.5.4 CI及CA分割技术
13.5.5 次索引技术
13.5.6 计算KSDS数据部分的空间大小
13.6 VSAM中的VRRDS
13.6.1 VRRDS的结构及特征
13.6.2 计算VRRDS数据部分的空间大小
13.7 VSAM文件及其空间计算总结
13.8 通过COBOL操作VSAM文件
13.8.1 在程序中指定VSAM文件
13.8.2 实现对VSAM文件的操作
13.9 本章回顾
14 JCL扩展
14.1 基本概念
14.1.1 作业与作业步
14.1.2 JCL语法规则
14.1.3 JCL语句类型
14.1.4 参数的类别及书写规则
14.2 JOB语句
14.2.1 JOB语句中的位置参数
14.2.2 JOB语句中的关键字参数
14.2.3 JOB语句中参数的综合应用
14.3 EXEC语句
14.3.1 EXEC语句中的位置参数
14.3.2 EXEC语句中的关键字参数
14.3.3 COND参数
14.4 DD语句
14.4.1 DD语句的语句名
14.4.2 DD语句中的位置参数
14.4.3 DD语句中与数据集相关的关键字参数
14.4.4 DD语句中与设备相关的关键字参数
14.4.5 特殊的DD语句
14.5 JCL实用程序
14.5.1 IEFBR14实用程序
14.5.2 IEBGENER实用程序
14.5.3 IEBCOPY实用程序
14.5.4 ICEMAN实用程序
14.5.6 IEBCOMPR实用程序
14.5.7 IEHLIST实用程序
14.6 JCL的过程
14.7 通过JCL管理VSAM数据集
14.8 本章回顾
15 DB2扩展
15.1 基本概念
15.1.1 关系数据库的概念
15.1.2 DB2简介
15.1.3 DB2的组织结构及创建步骤
15.2 DB2的基本应用
15.2.1 DB2在COBOL中的编码
15.2.2 含DB2的COBOL编译过程
15.3 常用SQL语句
15.3.1 DML类别的SQL语句
15.3.2 DDL类别的SQL语句
15.3.3 DCL类别的SQL语句
15.4 嵌入式SQL
15.4.1 主变量
15.4.2 指示变量
15.4.3 SQLCA
15.5 动态SQL
15.5.1 不含参数的非SELECT语句
15.5.2 含有参数的非SELECT语句
15.6 DB2中的游标
15.6.1 游标的基本定义及用法
15.6.2 回滚游标的概念及指向方式
15.6.3 静态回滚游标
15.6.4 动态回滚游标
15.6.5 利用游标同时处理多行记录
15.7 DB2中的锁
15.8 访问路径以及EXPLAIN
15.8.1 访问路径
15.8.2 EXPLAIN优化工具
15.9 本章回顾
16 CICS扩展
16.1 基本概念
16.1.1 CICS简介
16.1.2 CICS中的交易和任务
16.1.3 CICS的基本操作
16.2 CICS编译处理过程
16.2.1 CICS程序编译流程
16.2.2 使用CEDA定义资源
16.2.3 使用CEMT查询和设置资源
16.2.4 使用CEDF调试程序
16.3 CICS在COBOL中的基本应用
16.3.1 基本程序结构
16.3.2 使用CICS进行输入输出
16.3.3 输入过程中的异常处理
16.3.4 输出过程中的光标定位
16.3.5 获取CICS的终端信息
16.3.6 获取CICS的时间信息
16.3.7 获取CICS的日期信息
16.4 伪会话程序
16.4.1 伪会话程序的基本概念
16.4.2 RETURN到不同的程序
16.4.3 RETURN到相同的程序
16.5 CICS中的程序调用
16.5.1 使用LINK命令进行程序调用
16.5.2 使用XCTL命令进行程序调用
16.6 CICS中的MAP
16.6.1 MAP的基本概念
16.6.2 MAP的创建
16.6.3 MAP的应用
16.7 CICS对于文件的操作
16.7.1 读取文件
16.7.2 写入文件
16.8 CICS中的队列
16.9 本章回顾
17 大型机汇编语言扩展
17.1 基本概念
17.1.1 主存组织
17.1.2 数码表示
17.1.3 寄存器与程序状态字
17.1.4 操作数的主存地址表示方式
17.1.5 程序基本结构
17.2 指令类型与机器码
17.2.1 RR指令类型及其机器码
17.2.2 RX指令类型及其机器码
17.2.3 RS指令类型及其机器码
17.2.4 SI指令类型及其机器码
17.2.5 SS指令类型及其机器码
17.3 数据的定义
17.3.1 使用DC定义常量
17.3.2 使用DS定义存储空间
17.4 数据的传递
17.5 数据的运算
17.5.1 打包十进制数的运算
17.5.2 定点二进制数的运算
17.6 数据的转换
17.6.1 使用CVB和CVD指令转换数据
17.6.2 使用PACK和UNPK指令转换数据
17.6.3 使用ED指令转换数据
17.7 跳转指令与宏命令
17.8 程序模块化与DCB参数
17.9 综合实例
17.9.1 输出商品报表实例
17.9.2 显示系统时间实例
17.10 本章回顾
18 开发小型银行账户管理信息系统
18.1 主菜单模块
18.2 添加账户功能模块
18.3 删除账户功能模块
18.4 修改账户功能模块
18.5 查询账户功能模块
18.6 本章回顾
思维导图
防止博客图床图片失效,防止图片源站外链:
http://www.processon.com/chart_image/5e5b2c35e4b0541c5e14889f.png)
思维导图在线编辑链接: