IBM主机技术一本通(第2版)

出版日期:2017-1
ISBN:978712130547X
作者:吕新民,李小文,王青萍
页数:1092页

书籍目录

MVS操作系统导论
第1章 TSO、ISPF、ISPF/PDF介绍
1.1 什么是TSO(Time Sharing Option)
1.2 TSO终端
1.3 TSO使用环境(与MVS/OS390/ZOS,ISPF之间的关系)
1.4 RMF概述
1.5 ISPF和ISPF/PDF概述
1.5.1 程序开发设备(PDF)
1.5.2 ISPF/PDF显示板的通用结构
1.6 ISPF设定功能——选项0
1.7 z/OS数据集介绍
1.7.1 顺序数据集
1.7.2 分区数据集
1.7.3 VSAM数据集类型
1.7.4 磁盘目录表(VTOC)
1.7.5 数据集命名规则
1.7.5.1 分区数据集命名规则
1.7.5.2 数据集命名惯例
1.8 查看数据集——选项1
1.9 编辑数据集——选项2
1.9.1 常用的行命令
1.9.2 常用的行命令(COMMAND)的例子
1.9.3 基本命令及例子
1.9.3.1 FIND/F——检索字符,功能键PF5/17=重新查找(REFIND)
1.9.3.2 CHANGE/C——改变指定字符串数据的内容
1.9.3.3 EXCLUDE/X——不显示与检索条件一致的行
1.9.3.4 COPY/MOVE——从其他文件复制和移动数据到正在编辑的文件
1.9.3.5 CUT/PASTE——剪切(CUT)和粘贴(PASTE)数据
1.9.3.6 CREATE/REPLACE——数据文件的建立和替换
1.9.3.7 RESET——重置(RESET)编辑界面中的各种数据显示
1.9.3.8 HEX——十六进制数显示
1.9.3.9 SORT——数据排序
1.9.3.10 SUBMIT——使用TSO SUBMIT命令执行JOB
1.9.3.11 EDIT——编辑其他的数据文件
1.9.3.12 START——建立新的会话
1.9.3.13 终止编辑会话
1.9.3.14 附加的基本命令
1.9.4 TSO编辑配置文件(PROFILE)的控制和显示
1.10 系统例程功能——选项3
1.10.1 库维护选项(3.1)
1.10.1.1 BLANK——显示分区数据集中的成员清单
1.10.1.2 C——压缩数据集
1.10.1.3 E——编辑数据集成员
1.10.1.4 V——查看数据集成员内容
1.10.1.5 R——为数据集成员改名
1.10.1.6 D——删除数据集成员
1.10.1.7 P——打印数据集成员内容
1.10.1.8 X——打印数据集索引
1.10.1.9 L——打印整个数据集
1.10.1.10 I——显示数据集信息
1.10.1.11 S——显示数据集简要信息
1.10.2 数据集例程选项(3.2)
1.10.2.1 分配新数据集
1.10.2.2 为数据集改名
1.10.2.3 删除数据集
1.10.2.4 将未登目数据集登目(Catalog)
1.10.2.5 将数据集从目录中移除(Uncatalog)
1.10.2.6 显示数据集简短信息
1.10.2.7 VSAM例程
1.10.3 数据集移动和复制选项(3.3)
1.10.4 数据集清单列表选项(3.4)
1.10.4.1 数据集成员显示、打印和操作
1.10.4.2 VTOC信息的显示和打印
1.10.5 重置(RESET)统计信息选项(3.5)
1.10.6 数据集打印选项(3.6)
1.10.7 作业输出清单选项(3.8)
1.10.8 TSO命令选项(3.9)
1.10.9 显示格式设定选项(3.11)
1.10.10 数据集比较选项标准版(3.12)和扩展版(3.13)
1.10.11 字符串检索选项标准版(3.14)和扩展版(3.15)
1.11 TSO命令
1.11.1 离开ISPF/PDF
1.11.2 输入TSO命令
1.11.2.1 ISPF/PDF选项6——TSO COMMAND
1.11.2.2 使用TSO前缀
1.11.3 TSO HELP
1.11.4 LISTCAT命令
1.11.5 LISTDS命令
1.11.6 LISTALC命令
1.11.7 DELETE命令
1.11.8 RENAME命令
第2章 作业控制语言(Job Control Language——JCL)
2.1 作业控制语言JCL的基本结构
2.2 JOB语句
2.2.1 JOB语句中的位置参数
2.2.1.1 账户信息
2.2.1.2 程序员名
2.2.2 JOB语句中的关键字参数
2.2.2.1 MSGLEVEL
2.2.2.2 MSGCLASS
2.2.2.3 COND
2.2.2.4 ADDRSPC
2.2.2.5 CLASS
2.2.2.6 NOTIFY
2.2.2.7 PRTY
2.2.2.8 REGION
2.2.2.9 TIME
2.2.2.10 TYPRUN
2.2.2.11 USER参数
2.2.2.12 PASSWORD
2.2.2.13 多个关键字参数一起使用
2.3 EXEC语句
2.3.1 EXEC语句的位置参数
2.3.1.1 PGM=位置参数
2.3.1.2 PROC=位置参数
2.3.1.3 省略PROC=关键字
2.3.2 关键字参数
2.3.2.1 PARM参数
2.3.2.2 COND参数
2.3.2.3 程序库
2.4 DD语句
2.4.1 DD语句参数
2.4.2 DD语句的位置参数
2.4.2.1 流内数据
2.4.2.2 哑(Dummy)数据集
2.4.3 DD语句的关键字参数
2.4.3.1 DSN
2.4.3.2 DISP
2.4.3.3 UNIT
2.4.3.4 VOLUME
2.4.3.5 SPACE
2.4.3.6 LABEL
2.4.3.7 DCB
2.4.3.8 SYSOUT
2.4.3.9 数据集串联(Concatenation)
2.4.3.10 存储管理子系统(SMS)
2.5 向后引用(Backward Reference)
2.6 条件JCL
2.7 INCLUDE 组
2.8 从JCL向PROGRAM传递参数
2.9 JOB 提交
2.10 JES2——作业处理步骤
2.11 JES3——作业处理步骤
2.12 系统显示和查询功能(SDSF)
2.12.1 输出队列的显示及操作
2.12.2 挂起队列的显示及操作
2.12.3 显示活动的作业清单及操作
2.12.4 显示所有作业清单及操作
2.12.5 输入队列清单及其操作
2.12.6 初始器(INIT)的显示及操作
2.12.7 系统日志(LOG)
2.12.8 用户日志(ULOG)
2.13 系统例程(Utility)及常用工具
2.13.1 选择需要的例程
2.13.2 例程使用的ddname
2.13.3 例程控制语句
2.13.4 复制和打印顺序数据集
2.13.5 编辑顺序数据集
2.13.6 转换顺序数据集为分区数据集的成员
2.13.7 转换顺序数据集到分区数据集——增加新成员
2.13.8 IEBCOPY复制分区数据集或分区数据集成员
2.13.9 分区数据集的压缩
2.13.10 维护源程序库
2.13.11 打印分区数据集(PDS)目录清单
2.13.12 IEBCOMPR比较分区数据集
2.13.13 比较顺序数据集
2.13.14 比较分区数据集中的成员
2.13.15 IEFBR14顺序文件的建立和删除
2.13.16 文件的成批复制和重命名
2.13.17 分类
2.13.17.1 数据集的排序
2.13.17.2 数据集的合并
2.13.17.3 数据集的复制
2.13.17.4 数据集记录的筛选——包含满足条件的记录
2.13.17.5 数据集记录的筛选——生成头记录
2.13.17.6 数据集记录的筛选——跳过第1条记录
2.13.17.7 交易合计
2.13.17.8 将输入文件分成两个文件
2.14 JCL过程的定义
2.15 JCL过程的调用
2.16 过程调用中COND参数的使用
2.17 JCL符号参数
2.18 JCL过程的测试
2.19 过程定义和调用的例子
2.19.1 定义和调用流内过程
2.19.2 调用定义在系统过程库中的过程
2.19.3 调用定义在系统过程库中的过程并覆盖原过程中的参数
2.19.4 调用私有过程库中的过程并覆盖原过程中的参数
2.20 作业运行清单(JOB LOG)的阅读和查错
2.21 JCL过程参数置换和RESTART语句
第3章 VSAM文件处理
3.1 概念和设备
3.1.1 KSDS组成部分
3.1.2 ESDS组成部分
3.1.3 RRDS组成部分
3.1.4 控制间隔(CI)
3.1.5 控制区域(CA)
3.1.6 跨越记录(Spanned)
3.1.7 KSDS文件的物理实现
3.1.8 VSAM文件共享选项(SHARE OPTIONS)
3.1.8.1 跨区域(Cross-Region)选项
3.1.8.2 跨系统(Cross-System)选项
3.1.9 VSAM目录(VSAM Catalogs)
3.1.9.1 主目录
3.1.9.2 用户目录
3.1.9.3 VSAM数据空间
3.1.9.4 VSAM族
3.1.9.5 非VSAM数据集(Non-VSAM Datasets)
3.2 存取方式服务设施(Access Method Services)
3.2.1 语句的语法
3.2.2 定义用户目录
3.2.3 定义数据空间
3.2.4 定义别名
3.2.5 定义VSAM文件
3.2.6 装载记录到VSAM文件中
3.2.6.1 使用REPRO备份文件
3.2.6.2 从备份文件中恢复数据
3.2.7 建立VSAM文件的可移植备份
3.2.8 恢复VSAM文件的可移植备份
3.2.9 维护可移植备份的次索引
3.2.10 备份和恢复目录
3.2.11 删除VSAM和非VSAM目标
3.2.12 显示目录清单
3.2.13 打印或显示数据集内容
3.2.14 修改文件属性
3.2.15 辅助(次)索引
3.2.16 核实VSAM数据集
3.3 世代数据集GDG
3.3.1 GDG的定义及建立
3.3.2 GDG文件的应用
第4章 常用的MVS主控台命令
4.1 JES2命令
4.1.1 $D JOB显示特定作业(JOB)的信息
4.1.1.1 显示作业的输出信息
4.1.1.2 显示使用缓冲区(SPOOL1)超过1%的作业信息
4.1.1.3 $D STC查看已启动任务的作业号和状态
4.1.1.4 显示系统中的TSU用户及其作业号
4.1.2 $D SPOOL显示缓冲区(Spool)的状态
4.1.3 $DA显示系统中所有活动的作业的状态
4.1.3.1 显示系统中所有活动作业的状态
4.1.3.2 显示特定设备上所有活动作业的状态
4.1.4 $D U显示JES2控制的设备的状态
4.1.5 $D I显示JES中初始器(Initiator)的状态
4.1.5.1 显示JES中所有的初始器(Initiator)所定义的分区和状态
4.1.5.2 显示Initiator 3的详细信息
4.1.6 $D Q显示系统中所有的队列中的作业信息
4.1.6.1 显示系统中所有的队列中的作业信息
4.1.6.2 显示缓冲区中所有挂起(Hold)作业的信息
4.1.7 $C JOB取消作业、TSO用户和STC
4.1.8 $A A释放系统中所有挂起的作业
4.1.9 $A JOB释放挂起的作业
4.1.9.1 释放作业34到40
4.1.9.2 释放作业号为10到15的所有批处理作业、STC和TSU用户
4.1.10 $H A暂停系统中的所有的作业
4.1.11 $H JOB暂停特定的作业
4.1.11.1 暂停作业10开始的所有作业
4.1.11.2 暂停作业STC00051
4.1.12 $S I启动初始器(Initiator)
4.1.12.1 将初始器Initiator 5从DRAINED状态变成INACTIVE状态
4.1.12.2 启动Initiator 8到10
4.1.13 $S XEQ让JES2开始从QUEUE中选择作业执行
4.1.14 $P JES2停止JES2的处理
4.1.15 $P I停止特定的初始器
4.1.16 $P O Job清除作业的输出信息
4.1.16.1 删除作业IBMUSERN的输出信息
4.1.16.2 将class A和B中的所有作业输出删除掉
4.1.16.3 解决JES2缓冲区(SPOOL)满的问题
4.1.17 $T JOB修改作业的类别和优先级
4.1.17.1 将作业45的运行CLASS改为X
4.1.17.2 将作业45的优先级加2
4.1.17.3 将执行队列中用户为IBMUSER的作业的运行CLASS改为Y
4.1.17.4 将执行队列中运行CLASS为Y的作业的CLASS改为A
4.2 MVS命令
4.2.1 DISPLAY JOBS显示当前正在运行的作业、TSO用户和STC任务
4.2.1.1 显示当前正在运行的作业、TSO用户和STC任务
4.2.1.2 显示TSO用户IBMUSER的详细信息
4.2.1.3 显示所有IBMUSER用户提交的交易
4.2.2 Display Request显示控制台上没有回答信息的总数
4.2.2.1 显示控制台上没有回答信息的总数
4.2.2.2 查询未回答信息的作业名
4.2.2.3 显示以IBM开头的作业的未回答信息
4.2.3 DISPLAY SMF显示系统中的SMF配置
4.2.3.1 显示系统中的SMF配置、使用的文件及每个文件的使用百分比
4.2.3.2 显示SMF的当前配置情况
4.2.4 DISPLAY CONSOLES显示控制台MASTCONS上的详细信息
4.2.4.1 显示控制台MASTCONS上的详细信息
4.2.4.2 查询主控台未回答信息的个数及系统可容许的总数
4.2.5 DISPLAY M显示当前系统设备的配置信息
4.2.5.1 显示当前系统的所有设备的配置信息
4.2.5.2 显示设备01C0的状态信息
4.2.6 DISPLAY OPDATA显示操作员信息
4.2.7 DISPLAY ASM显示系统中的PAGE数据集的信息
4.2.8 DISPLAY U显示直接存取设备的信息
4.2.9 DISPLAY DUMP显示DUMP数据集的信息
4.2.10 DISPLAY GRS监测资源争用状况
4.2.10.1 显示资源争用(Contention)信息
4.2.10.2 显示等待某资源的作业
4.2.10.3 显示某一特定资源的使用情况
4.2.10.4 DEVSERV查看NON-SMS管理的卷
COBOL程序设计导论
第5章 COBOL语言简介
5.1 COBOL特性
5.2 标识部(Identification Division)
5.3 环境部(Environment Division)
5.4 数据部(Data Division)
5.5 过程部(Procedure Division)
5.5.1 节(Section)
5.5.2 段(Paragraph)
5.5.3 语句和句子
5.6 完整的COBOL程序
5.7 最精致的COBOL程序
5.8 普通COBOL程序编译流程图及样板作业流
5.9 COBOL编码规则
5.10 名字的结构
5.11 数据描述和数据传送(Move)语句
5.11.1 COBOL数据类型及模式(Picture)短语
5.11.2 级别号表达数据的层次
5.11.3 特殊级别号数据项
5.11.4 组合项和基本项
5.11.5 数据用法(USAGE)短语
5.11.6 数字编辑(EDITED)格式
5.11.7 数据传送(MOVE)语句
5.11.8 程序例子(MOVE)语句
5.11.9 运行结果(MOVE)语句
第6章 COBOL语言数据处理
6.1 DISPLAY语句
6.2 ACCEPT语句
6.3 DISPLAY和ACCEPT语句的程序例子
6.3.1 使用ACCEPT和DISPLAY的完整程序
6.3.2 运行ACCEPT和DISPLAY的程序的作业流
6.3.3 使用ACCEPT和DISPLAY的程序的输出结果
6.4 PERFORM语句
6.4.1 程序例子(PERFORM语句)
6.4.2 程序执行结果(PERFORM语句)
6.5 IF语句
6.6 SET语句
6.7 EVALUATE语句
6.8 CONTINUE和NEXT SENTENCE语句
6.8.1 程序例子(CONTINUE和NEXT SENTENCE语句)
6.8.2 运行结果报表(CONTINUE和NEXT SENTENCE语句)
6.9 算术运算语句
6.9.1 四舍五入(ROUNDED)选项
6.9.2 数据溢出(ON SIZE ERROR)选项
6.9.3 带有余数(REMAINDER)选项的DIVIDE语句
6.9.4 综合运算(COMPUTE)语句
6.9.5 程序例子(算术运算)
6.9.6 程序运行结果(算术运算)
6.10 STRING命令
6.10.1 程序例子(STRING命令)
6.10.2 程序运行结果(STRING命令)
6.11 UNSTRING命令
6.11.1 程序例子(UNSTRING命令)
6.11.2 程序运行结果(UNSTRING命令)
6.12 INSPECT语句
6.12.1 程序例子(INSPECT命令)
6.12.2 程序运行结果(INSPECT命令)
6.13 COPY语句
6.13.1 程序例子(COPY命令)
6.13.2 程序编译清单(COPY命令)
第7章 向COBOL专家迈进
7.1 主程序和子程序
7.1.1 主程序的CALL语句
7.1.2 子程序
7.1.3 主程序例子1(MAIN1)
7.1.4 子程序例子1(MYSUB1)
7.1.5 程序运行结果(MAIN1)
7.1.6 主程序例子2(MAIN2)
7.1.7 程序运行结果(MAIN2)
7.1.8 子程序例子2(MYSUB2)
7.1.9 JCL调用例子(MYSUB2)
7.1.10 程序运行结果(MYSUB2)
7.2 表处理
7.2.1 表的定义
7.2.2 下标、索引和SET索引语句
7.2.3 SEARCH动词
7.2.4 表的初始化
7.2.5 二维表
7.2.6 表初始化程序例子(TABLE8)
7.2.7 表初始化作业流
7.2.8 表初始输入数据
7.2.9 表初始化运行结果
7.2.10 二维表初始化程序例子(TABLE6)
7.2.11 二维表初始化作业流
7.2.12 二维表初始输入数据
7.2.13 二维表初始化运行结果
7.2.14 顺序和折半检索程序例子(TABLE3)
7.2.15 运行作业流(TABLE3)
7.2.16 运行结果(TABLE3)
7.3 提要
第8章 顺序文件的维护
8.1 COBOL的扩充
8.1.1 SELECT语句
8.1.2 在COBOL程序中使用ddname
8.1.3 FD项目
8.1.4 OPEN和CLOSE语句
8.2 平衡线算法
8.3 银行主文件维护平衡线程序(BKUPD1)
8.4 交易文件的格式
8.5 主文件的格式
8.6 运行银行主文件维护平衡线程序的作业流(GOBKUPD1)
8.7 交易文件(BKTRAN)
8.8 按照账户分类以后的交易文件(BKTRAN-SORT)
8.9 旧主文件(BKMASTO)
8.10 新主文件(BKMASTN)
8.11 银行主文件维护的运行结果
8.12 银行主文件维护平衡线程序的扩充(BKUPD2)
8.13 运行银行主文件维护平衡线扩充程序的作业流(GOBKUPD2)
8.14 银行主文件维护平衡线扩充程序的运行结果
8.15 交易日报表
8.16 提要
第9章 索引文件
9.1 概要
9.2 文件组织的概念
9.3 COBOL要求
9.3.1 环境部
9.3.2 过程部
9.4 文件状态关键字概述
9.5 非顺序文件维护
9.6 平衡线算法的索引文件版程序(BKUPD3)
9.7 平衡线算法的索引文件版程序运行作业流(GOBKUPD3)
9.8 运行结果清单
9.9 与顺序文件输出结果的比较
9.10 提要
第10章 结构程序设计及源程序级查错
10.1 历史回顾
10.2 定义
10.3 基本结构的充分性
10.4 COBOL中的实现
10.5 结构程序设计的优点
10.6 结构理论的扩充
10.7 GO TO论战
10.8 源程序级查错
10.9 常见运行错误
10.9.1 未能初始化(再初始化)计数器
10.9.2 计数器定义得太小
10.9.3 循环内的错误
10.9.4 SEARCH动词的错误使用
10.9.5 不正确使用MOVE语句
10.9.6 与带符号数字打交道要特别小心
10.9.7 不适当使用嵌套IF语句
10.9.8 遗漏或多余句号
10.9.9 WRITE后存取FD区域
10.9.10 从被PERFORM模块中不适当地跳出
10.9.11 未能设置或重新设置开关
10.9.12 不适当调用子程序
10.9.13 文件开始或结束条件错误
10.9.14 索引或下标非法
10.9.15 不适当使用注解
10.10 查找运行时错误产生的原因
10.10.1 确定导致程序异常终止的指令的位移
10.10.2 生成带有程序指令位移的COBOL程序编译清单
10.10.3 确定导致程序异常结束的COBOL源程序语句
10.10.4 确定导致程序异常结束的原因
10.11 提要
第11章 程序设计风格的探讨
11.1 保持动词的层次关系
11.2 选择有意义的名字
11.3 格式化数据部分
11.4 有吸引力的空白行
11.5 将句号(.)单独写在一行
11.6 避免使用逗号(,)
11.7 使用第73~80列
11.8 限制开关和下标于单个用途
11.9 避免使用常数
11.10 放置模块使得能找到它们
11.11 使用适当的注解
11.12 PERFORM 段而不是节
11.13 避免使用MOVE CORRESPONDING
11.14 去掉77级项目
11.15 使用88级项目以减少复合条件
11.16 对复合算术运算使用COMPUTE动词
11.17 避免使用文字常数
11.18 动态初始化表
11.19 使用READ INTO、WRITE FROM和WS BEGINS HERE
11.20 传送单个01级到子程序
11.21 避免“聪明的代码”
11.22 不要过于看重效率,但仔细地选择算法
11.23 预防式地编码
11.24 首先考虑,然后编码
11.25 提要
DB2实用程序设计
第12章 DB2的概念
12.1 DB2目标层次结构
12.2 数据库的连接
12.3 SQL语言类型
12.4 数据定义语言(DDL)
12.4.1 DB2存储组
12.4.2 数据库(Database)
12.4.3 数据库表空间(Tablespace)
12.4.4 数据库的表(Table)
12.4.5 引用完整性(Referential Integrity)
12.4.6 索引(Index)
12.4.7 视图(View)
12.4.7.1 视图之上的视图
12.4.7.2 视图上的SELECT、插入、修改和删除
12.4.7.3 UNION/UNION ALL 视图
12.4.7.4 CHECK OPTION引起视图中的行消失
12.4.7.5 WITH CHECK OPTION的例子
12.4.8 同义词(SYNONYM)
12.4.9 别名(ALIAS)
12.4.10 数据库目标的删除(DROP)
12.4.11 DDL语句的应用实例
12.5 数据控制语言(Data Control Language——DCL)
12.5.1 赋予(GRANT)和废除(REVOKE)语句
12.5.2 赋予及废除权限
12.6 数据操作语言(Data Manipulation Language——DML)
12.6.1 数据检索
12.6.1.1 检索整个表
12.6.1.2 从表中挑选特定的列
12.6.1.3 改变列的排序
12.6.1.4 从表中挑选特定的行
12.6.1.5 使用多个条件挑选特定的行
12.6.1.6 从多个表中选择要求的列
12.6.1.7 使用关系名
12.6.1.8 查询结果排序
12.6.1.9 计算出的列
12.6.1.10 为计算出的列命名
12.6.1.11 函数(Functions)
12.6.1.12 分组合计(Grouping Values)
12.6.1.13 约束一组数据的使用
12.6.1.14 去掉重复的记录
12.6.1.15 字符串模式查找
12.6.1.16 按数据范围搜索
12.6.1.17 搜索空值(Null Values)
12.6.1.18 按否定的条件查询
12.6.1.19 检索一组值
12.6.2 数据更新
12.6.2.1 插入数据记录
12.6.2.2 插入一组值
12.6.2.3 插入大量数据
12.6.2.4 修改数据记录
12.6.2.5 修改大量的数据
12.6.2.6 删除数据
12.6.2.7 删除表中的所有行
12.6.3 存储过程
12.6.3.1 建立或修改存储过程
12.6.3.2 模式限定符
12.6.3.3 删除存储过程
12.6.4 用户定义函数
12.6.4.1 外部用户定义函数(External UDFs)
12.6.4.2 有源用户定义函数(Sourced UDFs)
12.6.4.3 表函数(Table Functions)
12.6.4.4 执行用户定义函数
12.6.5 触发器
12.7 DB2I工具
12.7.1 DB2I工具概要
12.7.2 SPUFI
第13章 DB2程序准备
13.1 DB2程序编译流程图及样板作业流
13.2 预编译和绑定
13.2.1 预编译
13.2.1.1 预编译器
13.2.1.2 修改过的源程序代码
13.2.1.3 DBRM
13.2.2 绑定
13.2.2.1 绑定到包和直接绑定方案的区别
13.2.2.2 方案、包和集合
13.2.2.3 运行时COBOL装载模块调用DBRM
13.3 绑定与再绑定
13.3.1 自动再绑定
13.3.2 绑定与再绑定选项
13.3.3 让绑定决定存取的目标
13.3.4 绑定的其他考虑因素
13.4 删除包或方案
第14章 DB2程序结构
14.1 分隔符
14.2 主变量和主变量组合项
14.2.1 主变量的用法
14.2.2 主变量组合项的用法
14.2.3 主变量——接收单行数据
14.2.4 主变量——接收多行数据
14.2.5 主变量——插入记录行
14.2.6 主变量——修改数据
14.2.7 主变量——各种语言的定义
14.3 DCLGEN
14.3.1 从DB2I主菜单进入DCLGEN选项
14.3.2 DCLGEN输出例子
14.4 处理空数据
14.5 SQLCA——SQL通信区
14.6 SQL INCLUDE 语句
14.7 查询客户资料程序
14.7.1 查询DB2客户资料源程序(BKINQ)
14.7.2 数据库表CUSTINFO的记录格式及DCLGEN输出
14.7.3 数据库表通信区SQLCA的记录格式
14.7.4 运行客户资料查询程序的JCL
14.7.5 程序运行结果
14.8 修改客户资料程序(BKUPDT)
14.8.1 修改客户资料源程序
14.8.2 程序运行前客户资料表中的记录
14.8.3 运行客户资料修改程序的JCL
14.8.4 客户资料修改的输入文件
14.8.5 客户资料修改后表中的内容
14.9 修改明细客户资料程序——空值和变长记录处理
14.9.1 修改明细客户资料源程序
14.9.2 客户明细资料表CUSTINF1的记录格式及DCLGEN输出结果
14.9.3 计算字符串长度子程序
14.9.4 明细客户资料表中原来的内容
14.9.5 输入文件CUSTINFO
14.9.6 运行明细客户资料程序的JCL
14.9.7 修改后的明细客户资料表
14.10 使用游标
14.10.1 定义游标
14.10.2 打开游标
14.10.3 执行SQL语句
14.10.3.1 取数据(FETCH)
14.10.3.2 定位修改(Positioned UPDATE)
14.10.3.3 定位删除(Positioned DELETE)
14.10.3.4 游标定位修改或删除的一些限制
14.10.4 关闭游标
14.10.5 保持游标(Cursor WITH HOLD)
14.10.6 游标的重新定位
14.11 浏览客户资料表(BKNMINQ)——使用游标处理多个记录
14.11.1 浏览客户资料表源程序
14.11.2 运行浏览客户资料表程序的JCL
14.11.3 程序运行前客户资料表的内容
14.11.4 浏览客户资料表程序的查询结果
第15章 DB2恢复和锁定的概念
15.1 可恢复单元(Unit of Recovery)
15.2 提交(COMMIT)和回滚(ROLLBACK)
15.3 保存点(SAVEPOINT)
15.4 数据恢复
15.4.1 日志
15.4.2 日志数据集
15.4.3 引导数据集BSDS
15.4.4 SYSIBM.SYSLGRNX
15.4.5 数据库恢复三部曲
15.5 数据锁
15.5.1 锁的属性
15.5.2 锁的大小(Lock Sizes)
15.5.2.1 表锁(Lock Table)语句
15.5.2.2 锁定选定的分区
15.5.2.3 大对象(LOB)锁
15.5.3 锁模式(Lock Modes)
15.5.3.1 表或表空间锁
15.5.3.2 页锁或行锁
15.5.4 表空间和表锁的持续时间(Lock Durations)
15.5.5 页锁或行锁的持续时间——隔离级别
15.5.5.1 可重复读
15.5.5.2 读稳定性
15.5.5.3 游标稳定性
15.5.5.4 未提交读
15.5.6 WITH RR/RS/CS/UR短语的使用
15.5.7 锁的覆盖与避免
15.5.8 悲观锁定与乐观锁定
第16章 动态SQL介绍
16.1 使用动态SQL
16.2 在应用程序中嵌套动态SQL
16.3 完整的非SELECT语句
16.3.1 完整的非SELECT语句源程序(BKDYNA1)
16.3.2 完整的非SELECT语句——程序运行前表中的内容
16.3.3 完整的非SELECT语句——运行程序的作业流
16.3.4 完整的非SELECT语句——程序运行后的显示信息及表中的记录
16.4 参数化的非SELECT语句
16.4.1 参数化的非SELECT语句源程序(BKDYNA2)
16.4.2 参数化的非SELECT语句——程序运行前表中的内容
16.4.3 参数化的非SELECT语句——运行程序的作业流
16.4.4 参数化的非SELECT语句——程序运行后的显示信息及表中的记录
16.5 固定列表的SELECT语句
16.5.1 固定列表的SELECT语句源程序(BKDYNA3)
16.5.2 固定列表的SELECT语句——运行程序的作业流
16.5.3 固定列表的SELECT语句——程序运行结果
第17章 管理DB2测试数据
17.1 数据移动例程
17.1.1 装载(Load)例程
17.1.2 装载的完整作业流
17.1.2.1 增加或覆盖
17.1.2.2 装载排好序的行
17.1.2.3 装载分区表
17.1.2.4 数据类型转换
17.1.2.5 引用完整性(Referential Integrity)
17.1.2.6 不强制执行(ENFORCE NO)
17.1.3 数据卸载(Unload)例程
17.1.4 使用DSNTIAUL程序卸载数据
17.2 数据统计
17.2.1 数据统计概述
17.2.2 统计(RUNSTATS)例程
17.2.2.1 输出报告并修改DB2编目表
17.2.2.2 运行统计例程时存取数据库
17.2.2.3 样本数据
17.2.2.4 在DB2编目表上运行统计例程
17.2.2.5 统计例程完整作业流
17.3 重组(REORG)
17.3.1 重组表空间
17.3.2 重组表空间的完整作业流
17.3.3 重组索引
第18章 DB2性能调优的理论及实践
18.1 存取路径及优化
18.2 DB2解释(EXPLAIN)工具
18.3 收集解释数据
18.4 分析解释数据
18.5 存取路径评估
18.5.1 索引存取
18.5.2 表存取
18.5.3 预取
18.6 存取路径提示(优化提示)
18.7 使用解释表输出的指引
18.8 改善性能的索引设计
18.8.1 匹配索引扫描(MATCHCOLS > 0)
18.8.2 索引筛选
18.8.3 不匹配索引扫描(ACCESSTYPE = I而且MATCHCOLS = 0)
18.8.4 IN列表索引扫描(ACCESSTYPE = N)
18.8.5 多索引存取(ACCESSTYPE为M、MX、MI或MU)
18.8.6 一次获取存取(ACCESSTYPE = I1)
18.8.7 只存取索引(INDEXONLY = Y)
18.8.8 相等唯一索引(MATCHCOLS = 索引列数)
18.9 使用索引以避免分类
18.10 避免死锁
18.11 DB2索引、谓词和DB2运行架构
18.11.1 DB2索引回顾
18.11.2 DB2谓词分析
18.11.3 索引管理器
18.11.4 常见问题及解答
18.12 大型银行核心系统DB2调优实践
18.12.1 性能调优工作流程
18.12.2 典型案例1:公共转睡眠户-CBF0070J
18.12.3 典型案例2:活期主档扫描-SDD0011J
CICS程序设计导论
第19章 CICS应用程序环境
19.1 CICS 基本概念回顾
19.2 CICS联机交易
19.3 CICS模块组成
19.3.1 CICS管理功能
19.3.2 CICS基本组成
19.3.3 CICS管理模块
19.3.4 CICS系统控制表
19.3.5 CICS数据区域
19.4 CICS交易工作流程
19.5 CICS程序并行工作原理
第20章 CICS应用系统设计
20.1 对话与伪对话
20.2 通信区(COMMAREA)
20.3 伪对话程序的实现方法
第21章 CICS命令概述
21.1 编写CICS命令
21.2 程序准备
21.3 基本界面支持(Basic Mapping Support)
21.3.1 3270字段基本概念
21.3.2 界面定义样本
21.3.2.1 如何编写BMS宏命令
21.3.2.2 如何编写汇编语言语句
21.3.2.3 如何使用DFHMSD宏命令定义界面集(Mapset)
21.3.2.4 如何使用DFHMDI宏命令定义界面集中的界面(Map)
21.3.2.5 如何使用DFHMDF宏命令定义界面中的字段
21.3.2.6 BMS字段定义模板
21.3.3 银行柜员签到程序的界面格式及界面集完整代码
21.4 界面准备
21.5 符号界面及符号界面格式
21.6 界面的输出
21.7 界面的输入
21.8 常用标识键描述(DFHAID)
21.9 界面显示属性常量(DFHBMSCA)
21.10 异常状态
第22章 CICS程序对程序的控制
22.1 CICS程序对程序的控制概述
22.2 LINK命令
22.3 XCTL命令
22.4 通信区长度不匹配的讨论
22.5 COBOL CALL与LINK或XCTL的比较
22.6 用户表的装载(LOAD)和释放(RELEASE)
22.7 启动新交易(START)并接收(RETRIEVE)所传递的数据
22.8 RETURN命令
第23章 CICS数据处理
23.1 CICS存取VSAM的方法
23.2 VSAM基本概念回顾
23.2.1 VSAM文件的组织形式和存取方法
23.2.1.1 键顺序数据组织
23.2.1.2 进入顺序数据组织
23.2.1.3 相对顺序数据组织
23.2.1.4 三种数据组织形式的比较
23.2.2 VSAM的物理结构与逻辑结构
23.3 VSAM文件独占控制
23.4 交易死锁
23.5 工作单元的资源保护
23.6 联机程序的组织结构
23.7 CICS中访问VSAM文件的常用命令
23.7.1 READ命令
23.7.2 WRITE命令
23.7.3 REWRITE命令
23.7.4 DELETE命令
23.7.5 UNLOCK命令
23.8 CICS中浏览VSAM文件的常用命令
23.8.1 STARTBR命令
23.8.2 READNEXT命令
23.8.3 READPREV命令
23.8.4 ENDBR命令
23.8.5 RESETBR命令
23.8.6 CICS中按照次索引浏览VSAM文件
23.9 银行交易浏览程序例子
23.9.1 联机交易文件的格式
23.9.2 定义交易文件新格式和次索引的作业流
23.9.3 浏览交易界面源代码
23.9.4 浏览交易简化的符号界面
23.9.5 浏览交易COBOL程序完整源代码
23.9.6 银行浏览交易联机CICS资源定义
23.9.7 银行浏览交易联机运行结果演示
23.10 CICS存取DB2的方法
23.11 CICS访问DB2的程序结构
23.12 CICS访问DB2程序的编译步骤
23.13 CICS应用程序访问DB2的准备工作
23.13.1 定义CICS与DB2之间的连接(DB2CONN)
23.13.2 定义进入线程(DB2ENTRY)
23.13.3 定义DB2交易(DB2TRAN)
23.14 其他CICS常用命令
23.14.1 任务控制命令(ENQ和DEQ)
23.14.2 获取系统日期和时间信息
23.14.2.1 ASKTIME命令
23.14.2.2 FORMATTIME命令
23.14.3 存取CICS系统公共信息(ADDRESS命令)
23.14.4 内存管理命令(GETMAIN和FREEMAIN)
23.14.4.1 GETMAIN命令
23.14.4.2 FREEMAIN命令
23.14.5 DELAY命令
23.14.6 CANCEL命令
23.14.7 ASSIGN命令
23.14.8 ALLOCATE(APPC)命令
23.14.9 CONNECT PROCESS命令
23.14.10 SEND(APPC)命令
23.14.11 RECEIVE(APPC)命令
23.14.12 DEFINE COUNTER命令
23.14.13 SUSPEND命令
第24章 CICS队列
24.1 CICS队列设备
24.2 分区内过渡队列
24.3 分区外过渡队列
24.3.1 定长记录文件
24.3.2 变长记录文件
24.3.3 结尾记录文件
24.4 间接目的地
24.5 过渡队列服务
24.5.1 输出数据到过渡队列
24.5.2 从过渡队列中读出数据
24.5.3 从过渡队列中删除数据
24.6 触发交易启动
24.7 临时存储队列概述
24.8 临时存储队列服务
24.8.1 写数据到临时存储队列
24.8.2 修改临时存储队列中的数据
24.8.3 从临时存储队列中读取数据
24.8.4 删除临时存储队列中的数据
24.9 临时存储队列的典型用法
24.10 临时存储队列命名
24.11 删除临时存储队列
24.12 临时数据的存放位置
24.13 队列的老化
24.14 队列属性
24.15 过渡数据队列和临时存储队列的比较
24.16 CEBR
24.16.1 默认TS队列
24.16.2 CEBR的帮助
24.16.3 队列显示
24.16.4 获取TD队列
第25章 银行系统实例
25.1 银行系统流程图
25.2 柜员签到模块
25.2.1 程序(EMLOGON)
25.2.2 交易(EMPL)
25.2.3 界面(EMPSET1)
25.2.4 柜员信息表(EMPLINFO)
25.3 账户维护菜单模块
25.3.1 程序(EMMENU)
25.3.2 交易(EMME)
25.3.3 界面(EMESET1)
25.4 建立新账户模块
25.4.1 程序(CREATE)
25.4.2 子程序(AUTOPE)
25.4.3 子程序(STRLEN)
25.4.4 子程序(NUMEDIT)
25.4.5 交易(CREA)
25.4.6 界面(CRESET1)
25.4.7 文件(AUTOPE)
25.4.8 客户账户资料表(CUSTINFO)
25.4.9 交易流水表(OPERATIN)
第26章 CICS提供的交易及调试CICS应用程序
26.1 CICS系统的启动和关闭
26.2 CICS提供的交易
26.3 CICS签到交易CESN
26.4 CICS签退交易CESF
26.5 查看终端状态交易CEOT
26.6 信息查找CMAC交易
26.7 命令层的解释程序CECI和CECS交易
26.8 CEMT(MASTER TERMINAL)交易
26.8.1 移除资源(DISC)
26.8.2 查询CICS资源状态
26.8.2.1 查看CICS定义的文件状态
26.8.2.2 查看CICS定义的程序状态
26.8.2.3 查看CICS定义的终端状态
26.8.2.4 查看CICS定义的转存文件状态
26.8.2.5 查看CICS运行的任务状态
26.8.2.6 查看CICS定义的交易状态
26.8.2.7 查看CICS定义的外部连接状态
26.8.3 修改CICS资源状态
26.8.3.1 更新联机程序的新版本
26.8.3.2 更改文件状态
26.8.3.3 切换当前使用的转存(DUMP)文件
26.8.3.4 停止正在运行的任务(TASK)
26.8.3.5 更改交易的状态
26.8.3.6 更改终端的状态
26.8.4 执行特殊的CICS功能
26.9 联机资源定义交易(CEDA)
26.9.1 CEDA命令的子命令
26.9.2 CEDA DELETE命令和CEDA REMOVE命令的异同点
26.9.3 添加资源到成员清单的步骤
26.9.4 CEDA常用命令的使用方法
26.9.4.1 定义程序
26.9.4.2 定义界面集
26.9.4.3 定义文件
26.9.4.4 查看交易清单及交易详细定义
26.9.4.5 查看程序清单及程序详细定义
26.9.4.6 查看界面清单及界面定义
26.9.4.7 查看DB2进入线程清单及详细定义
26.9.4.8 查看DB2交易清单及详细定义
26.9.4.9 安装资源到CICS中
26.10 CICS联机交易诊断工具
26.10.1 CEDF交易
26.10.1.1 开始EDF跟踪(单终端模式)
26.10.1.2 PF7/PF8滚动显示
26.10.1.3 覆盖参数(Argument)的值
26.10.1.4 覆盖返回码(Response)
26.10.1.5 显示翻译器中的源程序行数
26.10.1.6 PF6显示用户界面
26.10.1.7 PF2以十六进制格式显示屏幕上的内容
26.10.1.8 PF5显示工作存储区
26.10.1.9 在存储区界面用PF4显示EIB
26.10.1.10 在存储区界面使用PF2调用CEBR交易
26.10.1.11 在存储区界面使用PF5调用CECI交易
26.10.1.12 设定停止显示的条件
26.10.1.13 显示以前的命令
26.10.1.14 伪对话的继续
26.10.1.15 程序终止
26.10.1.16 任务终止
26.10.1.17 申请异常中断
26.10.1.18 开始EDF跟踪(双终端模式)
26.10.2 CEDX交易
26.10.3 设置用户跟踪入口点
第27章 COBOL函数及编译选项
27.1 COBOL提供的内部函数
27.1.1 内部函数的类型
27.1.2 嵌套函数
27.1.3 函数对数组项目的处理
27.2 数据项目转换内部函数
27.2.1 转换大小写(UPPER-CASE,LOWER-CASE)
27.2.2 转换字符串的排列次序(REVERSE)
27.2.3 转换成数字(NUMVAL,NUMVAL-C)
27.2.4 数字去编辑(DE-EDITING)
27.2.5 代码页(Code page)转换(DISPLAY-OF和NATIONAL-OF)
27.3 求数据项的值
27.3.1 求单个字符在代码集中的序号(ORD)
27.3.2 按代码集中的序号返回对应的字符(CHAR)
27.3.3 求数据项的最大值和最小值
27.3.4 返回最大和最小序号值ORD-MAX和ORD-MIN
27.3.5 找出数据项的长度
27.3.6 字母数字(alphanumeric)函数返回变长结果
27.4 找出程序编译日期
27.5 EBCDIC和ASCII排列次序
27.5.1 EBCDIC排列次序(collating sequence)
27.5.2 美国英语ASCII代码页(code page)
27.6 货币符号的使用
27.7 日期相关的函数
27.7.1 获取系统当前日期和时间(CURRENT-DATE)
27.7.2 获取整数日子(INTEGER-OF-DATE)
27.7.3 获取整数日期(DATE-OF-INTEGER)
27.7.4 转换儒略日到整数日子(INTEGER-OF-DAY)
27.7.5 转换整数日子到儒略日(DAY-OF-INTEGER)
27.8 数据统计
27.9 IBM企业级COBOL编译选项
27.9.1 满足COBOL 85标准的编译选项
27.9.2 互相排斥的编译选项
27.9.3 编译选项说明
27.9.3.1 ADATA
27.9.3.2 ADV
27.9.3.3 ARITH
27.9.3.4 AWO
27.9.3.5 BUFSIZE
27.9.3.6 CICS
27.9.3.7 CODEPAGE
27.9.3.8 COMPILE
27.9.3.9 CURRENCY
27.9.3.10 DATA
27.9.3.11 DATEPROC
27.9.3.12 DBCS
27.9.3.13 DECK
27.9.3.14 DIAGTRUNC
27.9.3.15 DLL
27.9.3.16 DUMP
27.9.3.17 DYNAM
27.9.3.18 EXIT
27.9.3.19 EXPORTALL
27.9.3.20 FASTSRT
27.9.3.21 FLAG
27.9.3.22 FLAGSTD
27.9.3.23 INTDATE
27.9.3.24 LANGUAGE
27.9.3.25 LIB
27.9.3.26 LINECOUNT
27.9.3.27 LIST
27.9.3.28 MAP
27.9.3.29 NAME
27.9.3.30 NSYMBOL
27.9.3.31 NUMBER
27.9.3.32 NUMPROC
27.9.3.33 OBJECT
27.9.3.34 OFFSET
27.9.3.35 OPTIMIZE
27.9.3.36 OUTDD
27.9.3.37 PGMNAME
27.9.3.38 QUOTE/APOST
27.9.3.39 RENT
27.9.3.40 RMODE
27.9.3.41 SEQUENCE
27.9.3.42 SIZE
27.9.3.43 SOURCE
27.9.3.44 SPACE
27.9.3.45 SQL
27.9.3.46 SSRANGE
27.9.3.47 TERMINAL
27.9.3.48 TEST
27.9.3.49 THREAD
27.9.3.50 TRUNC
27.9.3.51 VBREF
27.9.3.52 WORD
27.9.3.53 XREF
27.9.3.54 YEARWINDOW
27.9.3.55 ZWB
提要
第28章 CICS交易Dump分析及查错
28.1 CICS/ESA概览
28.2 解决CICS问题的一般方法
28.2.1 确定问题前的初步检查
28.2.2 确定问题的方法
28.3 解决CICS问题的主要资源
28.3.1 编译输出
28.3.2 编译选项
28.3.3 CICS Log输出
28.3.4 CICS信息格式
28.3.5 CICS的Abend代码
28.3.6 CMAC交易
28.3.7 信息处置方法
28.3.8 交易轨迹(Traces)的类型
28.3.9 统计输出(Statistics Output)
28.3.10 基本手册(Essential Manuals)
28.4 CICS提供的交易
28.4.1 CEOT交易的执行
28.4.2 CEMT交易执行
28.4.3 CEMT查询功能
28.4.4 CEMT查询交易状态
28.4.5 CEMT查询交易的类别
28.4.6 CEMT查询程序的状态
28.4.7 CEMT交易查询文件状态
28.4.8 CEMT查询数据集(Dataset)的状态
28.4.9 CEMT交易查询TD Queue状态
28.4.10 CEMT查询TS Queue状态
28.4.11 CEMT查询任务(Task)状态
28.4.12 CEMT查询VTAM通信状态
28.4.13 CEMT查询IRC的状态
28.4.14 CEMT查询连接状态
28.4.15 从主控台执行CICS提供的交易
28.4.16 CRTE——执行远程交易
28.4.17 CMSG交易传递信息
28.4.18 CEDF互动式查错
28.5 使用Trace Tabel帮助查错
28.6 读懂CICS Trace记录
28.7 使用CETR交易控制Trace记录内容
28.8 使用交易Dump帮助查错
28.8.1 Dump中的十六进制计数
28.8.2 症状(Symptom)字符串和寄存器组
28.8.3 任务控制区的用户区(Task Control Area - User Area)
28.8.4 任务控制区的系统区(Task Control Area - System Area)
28.8.5 从CICSDump中找到TCAPCHS
28.8.6 从CICS DUMP中找到EIB和EIS的内容
28.8.7 Dump中的交易内存区
28.8.8 TCTTE(Terminal Control Table Terminal Entry)数据区
28.8.9 Dump中的程序内存区
28.8.10 Dump的结尾
28.8.11 不经常访问的Dump数据区域
28.8.12 CICS Command Level程序编码
28.8.13 CICS程序初始化
28.8.14 CICS程序的执行
28.8.15 定位应用程序的RSA
28.8.16 从CICS Dump找到寄存器14的三种方法
28.8.17 从CICS Dump中找到COBOL程序出错的EXEC CICS语句
28.8.18 从CICS Dump中找到COBOL程序出错的其他EXEC CICS语句
28.8.19 COBOL数据区域
28.8.20 COBOL内存映像(Memory Map)
28.8.21 从CICS Dump中定位Working Storage字段的方法
28.8.22 快速访问被Link程序
28.8.23 设置Dump表交易
28.8.24 Dump处理
28.8.25 Abends的源头
28.8.26 程序检查(Program Checks)
28.8.27 程序状态字(Program Status Word,PSW)
28.8.28 交易Abend控制块(Transaction Abend Cobtrol Block – TACB)
28.9 使用交易Dump解决ASRA Abend的实例
28.9.1 解决ASRA Abend问题的通用方法
28.9.2 解决ASRA问题第1步
28.9.3 解决ASRA问题第2步
28.9.4 解决ASRA问题第3步
28.9.5 解决ASRA问题第4步
28.9.6 解决ASRA问题第5步
28.9.7 解决ASRA问题第6步
28.9.8 解决ASRA问题的一些提示
28.9.9 从CICS/ESA V3.2开始引入的新Abend
28.10 使用交易Dump解决AEYD Abend的方法
28.10.1 从CICS/ESA V4开始引入的新Abend(AEYD)
28.10.2 解决AEYD Abend的方法
28.11 使用交易Dump解决死循环(Loop)的方法
28.11.1 紧凑循环和执着循环(Tight and Non-Yielding Loops)
28.11.2 柔软的循环(Yielding Loop)
28.11.3 Trace Table的用法
28.11.4 解决循环的通用方法
28.11.5 其他的选项
28.12 使用交易Dump解决错误输出的方法
28.13 使用交易Dump解决ASRA的真实案例
28.14 使用交易Dump解决AEYD的真实案例
28.15 使用交易Dump解决循环(Loop)的提示
提要
第29章 CICS通道容器(Channel Container)
29.1 通道容器引入的背景
29.2 绕开32KB限制的非标准方法
29.3 通道容器的概念
29.3.1 当前通道(The Current Channel)
29.3.2 通道的范围(Scope of a Channel)
29.3.3 通道的生命周期(Lifetime of a Channel)
29.4 通道容器相关的API命令
29.4.1 容器(Container)命令
29.4.2 程序调用/转移命令
29.4.3 交易调用/转移命令
29.4.4 查询命令
29.4.5 容器浏览命令
29.5 数据转换(Data Conversion)
29.6 应用场景
29.6.1 使用通道的基本应用场景
29.6.2 应用场景,多组件
29.6.3 应用场景,松耦合
29.7 迁移到通道容器
29.7.1 使用LINK程序的迁移
29.7.2 使用START程序的迁移
29.8 程序例子
29.9 最佳实践
29.9.1 定义接口
29.9.2 DPL性能
提要
第30章 排序/合并及软件质量控制
30.1 排序的概念
30.2 实现排序的步骤
30.3 COBOL中与排序有关的成分
30.4 SORT语句的第一种形式
30.5 SORT语句的第二种形式
30.6 MERGE(合并)语句
30.7 软件质量控制的一些思考
30.7.1 软件行业的最高指导原则——KISS原则
30.7.2 COBOL程序现状
30.7.3 COBOL程序质量低劣体现在哪里
30.7.4 如何鉴定程序质量的好坏
30.7.5 如何做高质量的COBOL程序
30.7.6 为何需要编程规范
30.7.7 实际软件开发规范细则
30.7.8 让COBOL全程自动监控I-O操作的“DECLARATIVES”
30.7.9 让CICS全程自动监控CICS命令的“HANDLE”
30.7.10 联机CICS程序中用户功能键的处理
30.7.11 程序段(节)名前缀与位置布局
30.7.12 COBOL程序例子1(排序程序改进版)
30.7.13 COBOL程序例子2(报表文件双页合并)
30.7.14 文件对碰(MATCH)的定式写法
提要
附录A 参考资料

作者简介

《IBM主机技术一本通(第2版)》由浅入深地讲述了IBM主机技术的各个方面,共分30章,包括:TSO、ISPF、JCL、VSAM、COBOL、DB2、CICS和常用的MVS主控台命令,通过演示报表(Magic Report)的方法,从实战出发,通过大量的源程序例子讲解了在应用开发过程中需要使用的IBM主机方面的技术,《IBM主机技术一本通(第2版)》的例子都是作者亲自编写并运行成功的,可以作为读者学习的参考。
因为《IBM主机技术一本通(第2版)》在系统地介绍所需的基本技术的同时,也为具备多年开发经验的读者提供了某些高级的议题,所以《IBM主机技术一本通(第2版)》既可以作为从事IBM主机开发的初学者学习,也可以作为已有几年甚至多年IBM主机开发经验的人士参考。


 IBM主机技术一本通(第2版)下载



发布书评

 
 


 

外国儿童文学,篆刻,百科,生物科学,科普,初中通用,育儿亲子,美容护肤PDF图书下载,。 零度图书网 

零度图书网 @ 2024