图书介绍

IBM主机技术一本通 第2版PDF|Epub|txt|kindle电子书版本网盘下载

IBM主机技术一本通 第2版
  • 吕新民,李小文,王青萍编著 著
  • 出版社: 北京:电子工业出版社
  • ISBN:9787121305474
  • 出版时间:2017
  • 标注页数:1037页
  • 文件大小:240MB
  • 文件页数:1064页
  • 主题词:大型计算机-基本知识

PDF下载


点此进入-本书在线PDF格式电子书下载【推荐-云解压-方便快捷】直接下载PDF格式图书。移动端-PC端通用
种子下载[BT下载速度快]温馨提示:(请使用BT下载软件FDM进行下载)软件下载地址页直链下载[便捷但速度慢]  [在线试读本书]   [在线获取解压码]

下载说明

IBM主机技术一本通 第2版PDF格式电子书版下载

下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。

建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!

(文件页数 要大于 标注页数,上中下等多册电子书除外)

注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具

图书目录

MVS操作系统导论2

第1章 TSO、ISPF、ISPF/PDF介绍2

1.1 什么是TSO(Time Sharing Option)2

1.2 TSO终端3

1.3 TSO使用环境(与MVS/OS390/ZOS,ISPF之间的关系)3

1.4 RMF概述4

1.5 ISPF和ISPF/PDF概述4

1.5.1 程序开发设备(PDF)4

1.5.2 ISPF/PDF显示板的通用结构5

1.6 ISPF设定功能——选项07

1.7 z/OS数据集介绍8

1.7.1 顺序数据集8

1.7.2 分区数据集8

1.7.3 VSAM数据集类型9

1.7.4 磁盘目录表(VTOC)10

1.7.5 数据集命名规则10

1.7.5.1 分区数据集命名规则10

1.7.5.2 数据集命名惯例10

1.8 查看数据集——选项111

1.9 编辑数据集——选项214

1.9.1 常用的行命令15

1.9.2 常用的行命令(COMMAND)的例子16

1.9.3 基本命令及例子20

1.9.3.1 FIND/F——检索字符,功能键PF5/17=重新查找(REFIND)20

1.9.3.2 CHANGE/C——改变指定字符串数据的内容21

1.9.3.3 EXCLUDE/X——不显示与检索条件一致的行22

1.9.3.4 COPY/MOVE——从其他文件复制和移动数据到正在编辑的文件24

1.9.3.5 CUT/PASTE——剪切(CUT)和粘贴(PASTE)数据24

1.9.3.6 CREATE/REPLACE——数据文件的建立和替换26

1.9.3.7 RESET——重置(RESET)编辑界面中的各种数据显示29

1.9.3.8 HEX——十六进制数显示30

1.9.3.9 SORT——数据排序33

1.9.3.10 SUBMIT——使用TSO SUBMIT命令执行JOB34

1.9.3.11 EDIT——编辑其他的数据文件34

1.9.3.12 START——建立新的会话36

1.9.3.13 终止编辑会话39

1.9.3.14 附加的基本命令39

1.9.4 TSO编辑配置文件(PROFILE)的控制和显示39

1.10 系统例程功能——选项341

1.10.1 库维护选项(3.1 )42

1.10.1.1 BLANK——显示分区数据集中的成员清单43

1.10.1.2 C——压缩数据集47

1.10.1.3 E——编辑数据集成员49

1.10.1.4 V——查看数据集成员内容50

1.10.1.5 R——为数据集成员改名50

1.10.1.6 D——删除数据集成员52

1.10.1.7 P——打印数据集成员内容52

1.10.1.8 X——打印数据集索引54

1.10.1.9 L——打印整个数据集54

1.10.1.10 I——显示数据集信息56

1.10.1.11 S——显示数据集简要信息57

1.10.2 数据集例程选项(3.2 )57

1.10.2.1 分配新数据集58

1.10.2.2 为数据集改名59

1.10.2.3 删除数据集61

1.10.2.4 将未登目数据集登目(Catalog)61

1.10.2.5 将数据集从目录中移除(Uncatalog)63

1.10.2.6 显示数据集简短信息63

1.10.2.7 VSAM例程64

1.10.3 数据集移动和复制选项(3.3 )65

1.10.4 数据集清单列表选项(3.4 )69

1.10.4.1 数据集成员显示、打印和操作69

1.10.4.2 VTOC信息的显示和打印73

1.10.5 重置(RESET)统计信息选项(3.5 )74

1.10.6 数据集打印选项(3.6 )75

1.10.7 作业输出清单选项(3.8 )76

1.10.8 TSO命令选项(3.9 )77

1.10.9 显示格式设定选项(3.1 1)77

1.10.10 数据集比较选项标准版(3.1 2)和扩展版(3.1 3)78

1.10.11 字符串检索选项标准版(3.1 4)和扩展版(3.1 5)79

1.11 TSO命令80

1.11.1 离开ISPF/PDF80

1.11.2 输入TSO命令81

1.11.2.1 ISPF/PDF选项6——TSO COMMAND81

1.11.2.2 使用TSO前缀82

1.11.3 TSO HELP82

1.11.4 LISTCAT命令83

1.11.5 LISTDS命令85

1.11.6 LISTALC命令86

1.11.7 DELETE命令87

1.11.8 RENAME命令87

第2章 作业控制语言(Job Control Language——JCL)89

2.1 作业控制语言JCL的基本结构89

2.2 JOB语句92

2.2.1 JOB语句中的位置参数93

2.2.1.1 账户信息93

2.2.1.2 程序员名93

2.2.2 JOB语句中的关键字参数93

2.2.2.1 MSGLEVEL94

2.2.2.2 MSGCLASS94

2.2.2.3 COND95

2.2.2.4 ADDRSPC96

2.2.2.5 CLASS96

2.2.2.6 NOTIFY97

2.2.2.7 PRTY97

2.2.2.8 REGION97

2.2.2.9 TIME97

2.2.2.10 TYPRUN98

2.2.2.11 USER参数98

2.2.2.12 PASSWORD99

2.2.2.13 多个关键字参数一起使用99

2.3 EXEC语句99

2.3.1 EXEC语句的位置参数100

2.3.1.1 PGM=位置参数100

2.3.1.2 PROC=位置参数101

2.3.1.3 省略PROC=关键字101

2.3.2 关键字参数101

2.3.2.1 PARM参数102

2.3.2.2 COND参数102

2.3.2.3 程序库104

2.4 DD语句106

2.4.1 DD语句参数107

2.4.2 DD语句的位置参数108

2.4.2.1 流内数据108

2.4.2.2 哑(Dummy)数据集109

2.4.3 DD语句的关键字参数110

2.4.3.1 DSN110

2.4.3.2 DISP111

2.4.3.3 UNIT112

2.4.3.4 VOLUME112

2.4.3.5 SPACE112

2.4.3.6 LABEL112

2.4.3.7 DCB113

2.4.3.8 SYSOUT113

2.4.3.9 数据集串联(Concatenation)113

2.4.3.10 存储管理子系统(SMS)114

2.5 向后引用(Backward Reference)114

2.6 条件JCL117

2.7 INCLUDE组122

2.8 从JCL向PROGRAM传递参数123

2.9 JOB提交124

2.10 JES2——作业处理步骤124

2.11 JES3——作业处理步骤125

2.12 系统显示和查询功能(SDSF)125

2.12.1 输出队列的显示及操作126

2.12.2 挂起队列的显示及操作129

2.12.3 显示活动的作业清单及操作130

2.12.4 显示所有作业清单及操作131

2.12.5 输入队列清单及其操作132

2.12.6 初始器(INIT)的显示及操作132

2.12.7 系统日志(LOG)134

2.12.8 用户日志(ULOG)136

2.13 系统例程(Utility)及常用工具136

2.13.1 选择需要的例程137

2.13.2 例程使用的ddname138

2.13.3 例程控制语句138

2.13.4 复制和打印顺序数据集139

2.13.5 编辑顺序数据集140

2.13.6 转换顺序数据集为分区数据集的成员142

2.13.7 转换顺序数据集到分区数据集——增加新成员143

2.13.8 IEBCOPY复制分区数据集或分区数据集成员144

2.13.9 分区数据集的压缩145

2.13.10 维护源程序库146

2.13.11 打印分区数据集(PDS)目录清单148

2.13.12 IEBCOMPR比较分区数据集149

2.13.13 比较顺序数据集150

2.13.14 比较分区数据集中的成员150

2.13.15 IEFBR14顺序文件的建立和删除151

2.13.16 文件的成批复制和重命名152

2.13.17 分类153

2.13.17.1 数据集的排序153

2.13.17.2 数据集的合并155

2.13.17.3 数据集的复制156

2.13.17.4 数据集记录的筛选——包含满足条件的记录156

2.13.17.5 数据集记录的筛选——生成头记录158

2.13.17.6 数据集记录的筛选——跳过第1条记录158

2.13.17.7 交易合计159

2.13.17.8 将输入文件分成两个文件159

2.14 JCL过程的定义160

2.15 JCL过程的调用161

2.16 过程调用中COND参数的使用162

2.17 JCL符号参数162

2.18 JCL过程的测试164

2.19 过程定义和调用的例子164

2.19.1 定义和调用流内过程164

2.19.2 调用定义在系统过程库中的过程165

2.19.3 调用定义在系统过程库中的过程并覆盖原过程中的参数165

2.19.4 调用私有过程库中的过程并覆盖原过程中的参数166

2.20 作业运行清单(JOB LOG)的阅读和查错169

2.21 JCL过程参数置换和RESTART语句171

第3章 VSAM文件处理175

3.1 概念和设备175

3.1.1 KSDS组成部分175

3.1.2 ESDS组成部分176

3.1.3 RRDS组成部分177

3.1.4 控制间隔(CI)177

3.1.5 控制区域(CA)178

3.1.6 跨越记录(Spanned)178

3.1.7 KSDS文件的物理实现179

3.1.8 VSAM文件共享选项(SHARE OPTIONS)180

3.1.8.1 跨区域(Cross-Region)选项181

3.1.8.2 跨系统(Cross-System)选项181

3.1.9 VSAM目录(VSAM Catalogs)182

3.1.9.1 主目录183

3.1.9.2 用户目录183

3.1.9.3 VSAM数据空间183

3.1.9.4 VSAM族183

3.1.9.5 非VSAM数据集(Non-VSAM Datasets)184

3.2 存取方式服务设施(Access Method Services)184

3.2.1 语句的语法184

3.2.2 定义用户目录185

3.2.3 定义数据空间186

3.2.4 定义别名187

3.2.5 定义VSAM文件188

3.2.6 装载记录到VSAM文件中192

3.2.6.1 使用REPRO备份文件194

3.2.6.2 从备份文件中恢复数据194

3.2.7 建立VSAM文件的可移植备份195

3.2.8 恢复VSAM文件的可移植备份195

3.2.9 维护可移植备份的次索引197

3.2.10 备份和恢复目录197

3.2.11 删除VSAM和非VSAM目标198

3.2.12 显示目录清单199

3.2.13 打印或显示数据集内容200

3.2.14 修改文件属性201

3.2.15 辅助(次)索引202

3.2.16 核实VSAM数据集206

3.3 世代数据集GDG206

3.3.1 GDG的定义及建立207

3.3.2 GDG文件的应用209

第4章 常用的MVS主控台命令211

4.1 JES2命令211

4.1.1 $D JOB显示特定作业(JOB)的信息211

4.1.1.1 显示作业的输出信息212

4.1.1.2 显示使用缓冲区(SPOOL1)超过1%的作业信息212

4.1.1.3 $D STC查看已启动任务的作业号和状态212

4.1.1.4 显示系统中的TSU用户及其作业号212

4.1.2 $D SPOOL显示缓冲区(Spool)的状态213

4.1.3 $DA显示系统中所有活动的作业的状态213

4.1.3.1 显示系统中所有活动作业的状态213

4.1.3.2 显示特定设备上所有活动作业的状态213

4.1.4 $D U显示JES2控制的设备的状态213

4.1.5 $D I显示JES中初始器(Initiator)的状态214

4.1.5.1 显示JES中所有的初始器(Initiator)所定义的分区和状态214

4.1.5.2 显示Initiator 3的详细信息214

4.1.6 $D Q显示系统中所有的队列中的作业信息215

4.1.6.1 显示系统中所有的队列中的作业信息215

4.1.6.2 显示缓冲区中所有挂起(Hold)作业的信息215

4.1.7 $C JOB取消作业、TSO用户和STC215

4.1.8 $A A释放系统中所有挂起的作业215

4.1.9 $A JOB释放挂起的作业216

4.1.9.1 释放作业34到40216

4.1.9.2 释放作业号为10到15的所有批处理作业、STC和TSU用户216

4.1.10 $H A暂停系统中的所有的作业216

4.1.11 $H JOB暂停特定的作业216

4.1.11.1 暂停作业10开始的所有作业217

4.1.11.2 暂停作业STC00051217

4.1.12 $S I启动初始器(Initiator)217

4.1.12.1 将初始器Initiator 5从DRAINED状态变成INACTIVE状态217

4.1.12.2 启动Initiator 8到10217

4.1.13 $S XEQ让JES2开始从QUEUE中选择作业执行217

4.1.14 $P JES2停止JES2的处理218

4.1.15 $P I停止特定的初始器218

4.1.16 $P O Job清除作业的输出信息218

4.1.16.1 删除作业IBMUSERN的输出信息218

4.1.16.2 将class A和B中的所有作业输出删除掉218

4.1.16.3 解决JES2缓冲区(SPOOL)满的问题218

4.1.17 $T JOB修改作业的类别和优先级218

4.1.17.1 将作业45的运行CLASS改为X219

4.1.17.2 将作业45的优先级加2219

4.1.17.3 将执行队列中用户为IBMUSER的作业的运行CLASS改为Y219

4.1.17.4 将执行队列中运行CLASS为Y的作业的CLASS改为A219

4.2 MVS命令220

4.2.1 DISPLAY JOBS显示当前正在运行的作业、TSO用户和STC任务220

4.2.1.1 显示当前正在运行的作业、TSO用户和STC任务220

4.2.1.2 显示TSO用户IBMUSER的详细信息220

4.2.1.3 显示所有IBMUSER用户提交的交易220

4.2.2 Display Request显示控制台上没有回答信息的总数221

4.2.2.1 显示控制台上没有回答信息的总数221

4.2.2.2 查询未回答信息的作业名221

4.2.2.3 显示以IBM开头的作业的未回答信息221

4.2.3 DISPLAY SMF显示系统中的SMF配置221

4.2.3.1 显示系统中的SMF配置、使用的文件及每个文件的使用百分比221

4.2.3.2 显示SMF的当前配置情况222

4.2.4 DISPLAY CONSOLES显示控制台MASTCONS上的详细信息222

4.2.4.1 显示控制台MASTCONS上的详细信息222

4.2.4.2 查询主控台未回答信息的个数及系统可容许的总数222

4.2.5 DISPLAY M显示当前系统设备的配置信息223

4.2.5.1 显示当前系统的所有设备的配置信息223

4.2.5.2 显示设备01C0的状态信息223

4.2.6 DISPLAY OPDATA显示操作员信息223

4.2.7 DISPLAY ASM显示系统中的PAGE数据集的信息224

4.2.8 DISPLAY U显示直接存取设备的信息224

4.2.9 DISPLAY DUMP显示DUMP数据集的信息224

4.2.10 DISPLAY GRS监测资源争用状况225

4.2.10.1 显示资源争用(Contention)信息225

4.2.10.2 显示等待某资源的作业225

4.2.10.3 显示某一特定资源的使用情况225

4.2.10.4 DEVSERV查看NON-SMS管理的卷226

COBOL程序设计导论228

第5章 COBOL语言简介228

5.1 COBOL特性228

5.2 标识部(Identification Division)229

5.3 环境部(Environment Division)229

5.4 数据部(Data Division)230

5.5 过程部(Procedure Division)230

5.5.1 节(Section)230

5.5.2 段(Paragraph)230

5.5.3 语句和句子231

5.6 完整的COBOL程序231

5.7 最精致的COBOL程序231

5.8 普通COBOL程序编译流程图及样板作业流232

5.9 COBOL编码规则235

5.10 名字的结构236

5.11 数据描述和数据传送(Move)语句236

5.11.1 COBOL数据类型及模式(Picture)短语237

5.11.2 级别号表达数据的层次238

5.11.3 特殊级别号数据项238

5.11.4 组合项和基本项239

5.11.5 数据用法(USAGE)短语240

5.11.6 数字编辑(EDITED)格式242

5.11.7 数据传送(MOVE)语句244

5.11.8 程序例子(MOVE)语句245

5.11.9 运行结果(MOVE)语句250

第6章 COBOL语言数据处理252

6.1 DISPLAY语句252

6.2 ACCEPT语句252

6.3 DISPLAY和ACCEPT语句的程序例子254

6.3.1 使用ACCEPT和DISPLAY的完整程序254

6.3.2 运行ACCEPT和DISPLAY的程序的作业流255

6.3.3 使用ACCEPT和DISPLAY的程序的输出结果255

6.4 PERFORM语句255

6.4.1 程序例子(PERFORM语句)258

6.4.2 程序执行结果(PERFORM语句)262

6.5 IF语句262

6.6 SET语句264

6.7 EVALUATE语句264

6.8 CONTINUE和NEXT SENTENCE语句266

6.8.1 程序例子(CONTINUE和NEXT SENTENCE语句)267

6.8.2 运行结果报表(CONTINUE和NEXT SENTENCE语句)267

6.9 算术运算语句268

6.9.1 四舍五入(ROUNDED)选项268

6.9.2 数据溢出(ON SIZE ERROR)选项268

6.9.3 带有余数(REMAINDER)选项的DIVIDE语句268

6.9.4 综合运算(COMPUTE)语句269

6.9.5 程序例子(算术运算)269

6.9.6 程序运行结果(算术运算)276

6.10 STRING命令276

6.10.1 程序例子(STRING命令)277

6.10.2 程序运行结果(STRING命令)281

6.11 UNSTRING命令281

6.11.1 程序例子(UNSTRING命令)282

6.11.2 程序运行结果(UNSTRING命令)285

6.12 INSPECT语句286

6.12.1 程序例子(INSPECT命令)288

6.12.2 程序运行结果(INSPECT命令)290

6.13 COPY语句290

6.13.1 程序例子(COPY命令)291

6.13.2 程序编译清单(COPY命令)292

第7章 向COBOL专家迈进296

7.1 主程序和子程序296

7.1.1 主程序的CALL语句296

7.1.2 子程序298

7.1.3 主程序例子1(MAIN1)299

7.1.4 子程序例子1(MYSUB1)301

7.1.5 程序运行结果(MAIN1)301

7.1.6 主程序例子2(MAIN2)302

7.1.7 程序运行结果(MAIN2)303

7.1.8 子程序例子2(MYSUB2)304

7.1.9 JCL调用例子(MYSUB2)304

7.1.10 程序运行结果(MYSUB2)305

7.2 表处理305

7.2.1 表的定义305

7.2.2 下标、索引和SET索引语句306

7.2.3 SEARCH动词307

7.2.4 表的初始化310

7.2.5 二维表311

7.2.6 表初始化程序例子(TABLE8)313

7.2.7 表初始化作业流315

7.2.8 表初始输入数据315

7.2.9 表初始化运行结果316

7.2.10 二维表初始化程序例子(TABLE6)317

7.2.11 二维表初始化作业流319

7.2.12 二维表初始输入数据319

7.2.13 二维表初始化运行结果321

7.2.14 顺序和折半检索程序例子(TABLE3)322

7.2.15 运行作业流(TABLE3)324

7.2.16 运行结果(TABLE3)324

7.3 提要325

第8章 顺序文件的维护326

8.1 COBOL的扩充326

8.1.1 SELECT语句326

8.1.2 在COBOL程序中使用ddname329

8.1.3 FD项目329

8.1.4 OPEN和CLOSE语句331

8.2 平衡线算法332

8.3 银行主文件维护平衡线程序(BKUPD1)334

8.4 交易文件的格式339

8.5 主文件的格式340

8.6 运行银行主文件维护平衡线程序的作业流(GOBKUPD1)341

8.7 交易文件(BKTRAN)341

8.8 按照账户分类以后的交易文件(BKTRAN-SORT)343

8.9 旧主文件(BKMASTO)345

8.10 新主文件(BKMASTN)346

8.11 银行主文件维护的运行结果346

8.12 银行主文件维护平衡线程序的扩充(BKUPD2)348

8.13 运行银行主文件维护平衡线扩充程序的作业流(GOBKUPD2)356

8.14 银行主文件维护平衡线扩充程序的运行结果357

8.15 交易日报表359

8.16 提要362

第9章 索引文件363

9.1 概要363

9.2 文件组织的概念363

9.3 COBOL要求364

9.3.1 环境部364

9.3.2 过程部366

9.4 文件状态关键字概述367

9.5 非顺序文件维护369

9.6 平衡线算法的索引文件版程序(BKUPD3)371

9.7 平衡线算法的索引文件版程序运行作业流(GOBKUPD3)379

9.8 运行结果清单382

9.9 与顺序文件输出结果的比较384

9.10 提要384

第10章 结构程序设计及源程序级查错385

10.1 历史回顾385

10.2 定义385

10.3 基本结构的充分性386

10.4 COBOL中的实现387

10.5 结构程序设计的优点387

10.6 结构理论的扩充387

10.7 GO TO论战388

10.8 源程序级查错389

10.9 常见运行错误389

10.9.1 未能初始化(再初始化)计数器389

10.9.2 计数器定义得太小389

10.9.3 循环内的错误389

10.9.4 SEARCH动词的错误使用390

10.9.5 不正确使用MOVE语句390

10.9.6 与带符号数字打交道要特别小心390

10.9.7 不适当使用嵌套IF语句390

10.9.8 遗漏或多余句号391

10.9.9 WRITE后存取FD区域391

10.9.10 从被PERFORM模块中不适当地跳出391

10.9.11 未能设置或重新设置开关391

10.9.12 不适当调用子程序391

10.9.13 文件开始或结束条件错误391

10.9.14 索引或下标非法391

10.9.15 不适当使用注解392

10.10 查找运行时错误产生的原因392

10.10.1 确定导致程序异常终止的指令的位移393

10.10.2 生成带有程序指令位移的COBOL程序编译清单393

10.10.3 确定导致程序异常结束的COBOL源程序语句411

10.10.4 确定导致程序异常结束的原因412

10.11 提要413

第11章 程序设计风格的探讨414

11.1 保持动词的层次关系414

11.2 选择有意义的名字415

11.3 格式化数据部分416

11.4 有吸引力的空白行417

11.5 将句号(.)单独写在一行417

11.6 避免使用逗号(,)417

11.7 使用第73~80列417

11.8 限制开关和下标于单个用途417

11.9 避免使用常数418

11.10 放置模块使得能找到它们419

11.11 使用适当的注解419

11.12 PERFORM段而不是节419

11.13 避免使用MOVE CORRESPONDING420

11.14 去掉77级项目421

11.15 使用88级项目以减少复合条件421

11.16 对复合算术运算使用COMPUTE动词422

11.17 避免使用文字常数422

11.18 动态初始化表423

11.19 使用READ INTO、WRITE FROM和WS BEGINS HERE423

11.20 传送单个01级到子程序424

11.21 避免“聪明的代码”424

11.22 不要过于看重效率,但仔细地选择算法425

11.23 预防式地编码426

11.24 首先考虑,然后编码427

11.25 提要427

DB2实用程序设计430

第12章 DB2的概念430

12.1 DB2目标层次结构430

12.2 数据库的连接431

12.3 SQL语言类型431

12.4 数据定义语言(DDL)431

12.4.1 DB2存储组431

12.4.2 数据库(Database)432

12.4.3 数据库表空间(Tablespace)433

12.4.4 数据库的表(Table)435

12.4.5 引用完整性(Referential Integrity)440

12.4.6 索引(Index)441

12.4.7 视图(View)444

12.4.7.1 视图之上的视图446

12.4.7.2 视图上的SELECT、插入、修改和删除446

12.4.7.3 UNION/UNION ALL视图447

12.4.7.4 CHECK OPTION引起视图中的行消失448

12.4.7.5 WITH CHECK OPTION的例子449

12.4.8 同义词(SYNONYM)449

12.4.9 别名(ALIAS)449

12.4.10 数据库目标的删除(DROP)450

12.4.11 DDL语句的应用实例451

12.5 数据控制语言(Data Control Language——DCL)454

12.5.1 赋予(GRANT)和废除(REVOKE)语句454

12.5.2 赋予及废除权限457

12.6 数据操作语言(Data Manipulation Language——DML)463

12.6.1 数据检索464

12.6.1.1 检索整个表465

12.6.1.2 从表中挑选特定的列465

12.6.1.3 改变列的排序466

12.6.1.4 从表中挑选特定的行466

12.6.1.5 使用多个条件挑选特定的行466

12.6.1.6 从多个表中选择要求的列467

12.6.1.7 使用关系名468

12.6.1.8 查询结果排序468

12.6.1.9 计算出的列469

12.6.1.10 为计算出的列命名470

12.6.1.11 函数(Functions)470

12.6.1.12 分组合计(Grouping Values)472

12.6.1.13 约束一组数据的使用472

12.6.1.14 去掉重复的记录473

12.6.1.15 字符串模式查找474

12.6.1.16 按数据范围搜索474

12.6.1.17 搜索空值(Null Values)475

12.6.1.18 按否定的条件查询475

12.6.1.19 检索一组值476

12.6.2 数据更新476

12.6.2.1 插入数据记录476

12.6.2.2 插入一组值477

12.6.2.3 插入大量数据478

12.6.2.4 修改数据记录478

12.6.2.5 修改大量的数据479

12.6.2.6 删除数据479

12.6.2.7 删除表中的所有行481

12.6.3 存储过程481

12.6.3.1 建立或修改存储过程482

12.6.3.2 模式限定符483

12.6.3.3 删除存储过程483

12.6.4 用户定义函数483

12.6.4.1 外部用户定义函数(External UDFs)483

12.6.4.2 有源用户定义函数(Sourced UDFs)484

12.6.4.3 表函数(Table Functions)484

12.6.4.4 执行用户定义函数485

12.6.5 触发器485

12.7 DB2I工具487

12.7.1 DB2I工具概要487

12.7.2 SPUFI487

第13章 DB2程序准备489

13.1 DB2程序编译流程图及样板作业流489

13.2 预编译和绑定491

13.2.1 预编译491

13.2.1.1 预编译器492

13.2.1.2 修改过的源程序代码493

13.2.1.3 DBRM493

13.2.2 绑定494

13.2.2.1 绑定到包和直接绑定方案的区别495

13.2.2.2 方案、包和集合496

13.2.2.3 运行时COBOL装载模块调用DBRM497

13.3 绑定与再绑定497

13.3.1 自动再绑定498

13.3.2 绑定与再绑定选项498

13.3.3 让绑定决定存取的目标501

13.3.4 绑定的其他考虑因素502

13.4 删除包或方案502

第14章 DB2程序结构503

14.1 分隔符503

14.2 主变量和主变量组合项504

14.2.1 主变量的用法505

14.2.2 主变量组合项的用法506

14.2.3 主变量——接收单行数据507

14.2.4 主变量——接收多行数据507

14.2.5 主变量——插入记录行507

14.2.6 主变量——修改数据508

14.2.7 主变量——各种语言的定义508

14.3 DCLGEN510

14.3.1 从DB2I主菜单进入DCLGEN选项510

14.3.2 DCLGEN输出例子511

14.4 处理空数据512

14.5 SQLCA——SQL通信区515

14.6 SQL INCLUDE语句517

14.7 查询客户资料程序518

14.7.1 查询DB2客户资料源程序(BKINQ)519

14.7.2 数据库表CUSTINFO的记录格式及DCLGEN输出520

14.7.3 数据库表通信区SQLCA的记录格式521

14.7.4 运行客户资料查询程序的JCL522

14.7.5 程序运行结果522

14.8 修改客户资料程序(BKUPDT)523

14.8.1 修改客户资料源程序523

14.8.2 程序运行前客户资料表中的记录525

14.8.3 运行客户资料修改程序的JCL526

14.8.4 客户资料修改的输入文件526

14.8.5 客户资料修改后表中的内容527

14.9 修改明细客户资料程序——空值和变长记录处理527

14.9.1 修改明细客户资料源程序528

14.9.2 客户明细资料表CUSTINF1的记录格式及DCLGEN输出结果531

14.9.3 计算字符串长度子程序532

14.9.4 明细客户资料表中原来的内容533

14.9.5 输入文件CUSTINFO534

14.9.6 运行明细客户资料程序的JCL534

14.9.7 修改后的明细客户资料表534

14.10 使用游标535

14.10.1 定义游标535

14.10.2 打开游标536

14.10.3 执行SQL语句537

14.10.3.1 取数据(FETCH)537

14.10.3.2 定位修改(Positioned UPDATE)537

14.10.3.3 定位删除(Positioned DELETE)538

14.10.3.4 游标定位修改或删除的一些限制538

14.10.4 关闭游标539

14.10.5 保持游标(Cursor WITH HOLD)539

14.10.6 游标的重新定位539

14.11 浏览客户资料表(BKNMINQ)——使用游标处理多个记录541

14.11.1 浏览客户资料表源程序542

14.11.2 运行浏览客户资料表程序的JCL544

14.11.3 程序运行前客户资料表的内容545

14.11.4 浏览客户资料表程序的查询结果545

第15章 DB2恢复和锁定的概念546

15.1 可恢复单元(Unit of Recovery)546

15.2 提交(COMMIT)和回滚(ROLLBACK)547

15.3 保存点(SAVEPOINT)548

15.4 数据恢复550

15.4.1 日志550

15.4.2 日志数据集550

15.4.3 引导数据集BSDS551

15.4.4 SYSIBM.SYSLGRNX551

15.4.5 数据库恢复三部曲551

15.5 数据锁552

15.5.1 锁的属性553

15.5.2 锁的大小(Lock Sizes)553

15.5.2.1 表锁(Lock Table)语句554

15.5.2.2 锁定选定的分区554

15.5.2.3 大对象(LOB)锁554

15.5.3 锁模式(Lock Modes)555

15.5.3.1 表或表空间锁556

15.5.3.2 页锁或行锁557

15.5.4 表空间和表锁的持续时间(Lock Durations)557

15.5.5 页锁或行锁的持续时间——隔离级别558

15.5.5.1 可重复读559

15.5.5.2 读稳定性559

15.5.5.3 游标稳定性559

15.5.5.4 未提交读560

15.5.6 WITH RR/RS/CS/UR短语的使用560

15.5.7 锁的覆盖与避免560

15.5.8 悲观锁定与乐观锁定562

第16章 动态SQL介绍563

16.1 使用动态SQL563

16.2 在应用程序中嵌套动态SQL563

16.3 完整的非SELECT语句564

16.3.1 完整的非SELECT语句源程序(BKDYNA1)564

16.3.2 完整的非SELECT语句——程序运行前表中的内容566

16.3.3 完整的非SELECT语句——运行程序的作业流567

16.3.4 完整的非SELECT语句——程序运行后的显示信息及表中的记录567

16.4 参数化的非SELECT语句568

16.4.1 参数化的非SELECT语句源程序(BKDYNA2)568

16.4.2 参数化的非SELECT语句——程序运行前表中的内容570

16.4.3 参数化的非SELECT语句——运行程序的作业流570

16.4.4 参数化的非SELECT语句——程序运行后的显示信息及表中的记录571

16.5 固定列表的SELECT语句571

16.5.1 固定列表的SELECT语句源程序(BKDYNA3)571

16.5.2 固定列表的SELECT语句——运行程序的作业流574

16.5.3 固定列表的SELECT语句——程序运行结果575

第17章 管理DB2测试数据576

17.1 数据移动例程576

17.1.1 装载(Load)例程576

17.1.2 装载的完整作业流577

17.1.2.1 增加或覆盖579

17.1.2.2 装载排好序的行580

17.1.2.3 装载分区表580

17.1.2.4 数据类型转换581

17.1.2.5 引用完整性(Referential Integrity)581

17.1.2.6 不强制执行(ENFORCE NO)582

17.1.3 数据卸载(Unload)例程582

17.1.4 使用DSNTIAUL程序卸载数据585

17.2 数据统计587

17.2.1 数据统计概述588

17.2.2 统计(RUNSTATS)例程588

17.2.2.1 输出报告并修改DB2编目表589

17.2.2.2 运行统计例程时存取数据库589

17.2.2.3 样本数据589

17.2.2.4 在DB2编目表上运行统计例程589

17.2.2.5 统计例程完整作业流589

17.3 重组(REORG)590

17.3.1 重组表空间590

17.3.2 重组表空间的完整作业流591

17.3.3 重组索引592

第18章 DB2性能调优的理论及实践593

18.1 存取路径及优化593

18.2 DB2解释(EXPLAIN)工具594

18.3 收集解释数据594

18.4 分析解释数据596

18.5 存取路径评估599

18.5.1 索引存取599

18.5.2 表存取600

18.5.3 预取601

18.6 存取路径提示(优化提示)601

18.7 使用解释表输出的指引601

18.8 改善性能的索引设计602

18.8.1 匹配索引扫描(MATCHCOLS>0)602

18.8.2 索引筛选603

18.8.3 不匹配索引扫描(ACCESSTYPE=I而且MATCHCOLS=0)603

18.8.4 IN列表索引扫描(ACCESSTYPE=N)603

18.8.5 多索引存取(ACCESSTYPE为M、MX、MI或MU)603

18.8.6 一次获取存取(ACCESSTYPE=I1)604

18.8.7 只存取索引(INDEXONLY=Y)604

18.8.8 相等唯一索引(MATCHCOLS=索引列数)604

18.9 使用索引以避免分类604

18.10 避免死锁604

18.11 DB2索引、谓词和DB2运行架构606

18.11.1 DB2索引回顾606

18.11.2 DB2谓词分析606

18.11.3 索引管理器607

18.11.4 常见问题及解答609

18.12 大型银行核心系统DB2调优实践610

18.12.1 性能调优工作流程610

18.12.2 典型案例1:公共转睡眠户-CBF0070J610

18.12.3 典型案例2:活期主档扫描-SDD0011J612

CICS程序设计导论616

第19章 CICS应用程序环境616

19.1 CICS基本概念回顾616

19.2 CICS联机交易618

19.3 CICS模块组成620

19.3.1 CICS管理功能620

19.3.2 CICS基本组成620

19.3.3 CICS管理模块621

19.3.4 CICS系统控制表622

19.3.5 CICS数据区域623

19.4 CICS交易工作流程625

19.5 CICS程序并行工作原理625

第20章 CICS应用系统设计627

20.1 对话与伪对话627

20.2 通信区(COMMAREA)629

20.3 伪对话程序的实现方法630

第21章 CICS命令概述632

21.1 编写CICS命令632

21.2 程序准备634

21.3 基本界面支持(Basic Mapping Support)637

21.3.1 3270字段基本概念637

21.3.2 界面定义样本638

21.3.2.1 如何编写BMS宏命令638

21.3.2.2 如何编写汇编语言语句638

21.3.2.3 如何使用DFHMSD宏命令定义界面集(Mapset)640

21.3.2.4 如何使用DFHMDI宏命令定义界面集中的界面(Map)643

21.3.2.5 如何使用DFHMDF宏命令定义界面中的字段643

21.3.2.6 BMS字段定义模板645

21.3.3 银行柜员签到程序的界面格式及界面集完整代码647

21.4 界面准备649

21.5 符号界面及符号界面格式652

21.6 界面的输出654

21.7 界面的输入655

21.8 常用标识键描述(DFHAID)656

21.9 界面显示属性常量(DFHBMSCA)658

21.10 异常状态660

第22章 CICS程序对程序的控制662

22.1 CICS程序对程序的控制概述662

22.2 LINK命令662

22.3 XCTL命令663

22.4 通信区长度不匹配的讨论664

22.5 COBOL CALL与LINK或XCTL的比较665

22.6 用户表的装载(LOAD)和释放(RELEASE)666

22.7 启动新交易(START)并接收(RETRIEVE)所传递的数据668

22.8 RETURN命令669

第23章 CICS数据处理670

23.1 CICS存取VSAM的方法670

23.2 VSAM基本概念回顾671

23.2.1 VSAM文件的组织形式和存取方法672

23.2.1.1 键顺序数据组织672

23.2.1.2 进入顺序数据组织672

23.2.1.3 相对顺序数据组织673

23.2.1.4 三种数据组织形式的比较673

23.2.2 VSAM的物理结构与逻辑结构673

23.3 VSAM文件独占控制675

23.4 交易死锁676

23.5 工作单元的资源保护676

23.6 联机程序的组织结构677

23.7 CICS中访问VSAM文件的常用命令677

23.7.1 READ命令678

23.7.2 WRITE命令679

23.7.3 REWRITE命令680

23.7.4 DELETE命令681

23.7.5 UNLOCK命令682

23.8 CICS中浏览VSAM文件的常用命令682

23.8.1 STARTBR命令683

23.8.2 READNEXT命令684

23.8.3 READPREV命令685

23.8.4 ENDBR命令687

23.8.5 RESETBR命令688

23.8.6 CICS中按照次索引浏览VSAM文件689

23.9 银行交易浏览程序例子690

23.9.1 联机交易文件的格式690

23.9.2 定义交易文件新格式和次索引的作业流691

23.9.3 浏览交易界面源代码693

23.9.4 浏览交易简化的符号界面695

23.9.5 浏览交易COBOL程序完整源代码696

23.9.6 银行浏览交易联机CICS资源定义706

23.9.7 银行浏览交易联机运行结果演示709

23.10 CICS存取DB2的方法712

23.11 CICS访问DB2的程序结构712

23.12 CICS访问DB2程序的编译步骤713

23.13 CICS应用程序访问DB2的准备工作715

23.13.1 定义CICS与DB2之间的连接(DB2CONN)715

23.13.2 定义进入线程(DB2ENTRY)717

23.13.3 定义DB2交易(DB2TRAN)718

23.14 其他CICS常用命令719

23.14.1 任务控制命令(ENQ和DEQ)719

23.14.2 获取系统日期和时间信息721

23.14.2.1 ASKTIME命令721

23.14.2.2 FORMATTIME命令721

23.14.3 存取CICS系统公共信息(ADDRESS命令)722

23.14.4 内存管理命令(GETMAIN和FREEMAIN)723

23.14.4.1 GETMAIN命令723

23.14.4.2 FREEMAIN命令724

23.14.5 DELAY命令725

23.14.6 CANCEL命令726

23.14.7 ASSIGN命令727

23.14.8 ALLOCATE(APPC)命令728

23.14.9 CONNECT PROCESS命令729

23.14.10 SEND(APPC)命令731

23.14.11 RECEIVE(APPC)命令732

23.14.12 DEFINE COUNTER命令733

23.14.13 SUSPEND命令734

第24章 CICS队列735

24.1 CICS队列设备735

24.2 分区内过渡队列735

24.3 分区外过渡队列736

24.3.1 定长记录文件737

24.3.2 变长记录文件738

24.3.3 结尾记录文件738

24.4 间接目的地738

24.5 过渡队列服务739

24.5.1 输出数据到过渡队列739

24.5.2 从过渡队列中读出数据739

24.5.3 从过渡队列中删除数据740

24.6 触发交易启动740

24.7 临时存储队列概述741

24.8 临时存储队列服务741

24.8.1 写数据到临时存储队列742

24.8.2 修改临时存储队列中的数据743

24.8.3 从临时存储队列中读取数据743

24.8.4 删除临时存储队列中的数据744

24.9 临时存储队列的典型用法744

24.10 临时存储队列命名745

24.11 删除临时存储队列746

24.12 临时数据的存放位置746

24.13 队列的老化746

24.14 队列属性746

24.15 过渡数据队列和临时存储队列的比较746

24.16 CEBR747

24.16.1 默认TS队列747

24.16.2 CEBR的帮助748

24.16.3 队列显示748

24.16.4 获取TD队列749

第25章 银行系统实例750

25.1 银行系统流程图750

25.2 柜员签到模块752

25.2.1 程序(EMLOGON)752

25.2.2 交易(EMPL)757

25.2.3 界面(EMPSET1)757

25.2.4 柜员信息表(EMPLINFO)758

25.3 账户维护菜单模块759

25.3.1 程序(EMMENU)759

25.3.2 交易(EMME)762

25.3.3 界面(EMESET1)763

25.4 建立新账户模块764

25.4.1 程序(CREATE)765

25.4.2 子程序(AUTOPE)772

25.4.3 子程序(STRLEN)773

25.4.4 子程序(NUMEDIT)774

25.4.5 交易(CREA)776

25.4.6 界面(CRESET1)777

25.4.7 文件(AUTOPE)780

25.4.8 客户账户资料表(CUSTINFO)781

25.4.9 交易流水表(OPERATIN)782

第26章 CICS提供的交易及调试CICS应用程序784

26.1 CICS系统的启动和关闭784

26.2 CICS提供的交易785

26.3 CICS签到交易CESN786

26.4 CICS签退交易CESF786

26.5 查看终端状态交易CEOT787

26.6 信息查找CMAC交易788

26.7 命令层的解释程序CECI和CECS交易788

26.8 CEMT(MASTER TERMINAL)交易791

26.8.1 移除资源(DISC)791

26.8.2 查询CICS资源状态792

26.8.2.1 查看CICS定义的文件状态792

26.8.2.2 查看CICS定义的程序状态792

26.8.2.3 查看CICS定义的终端状态793

26.8.2.4 查看CICS定义的转存文件状态793

26.8.2.5 查看CICS运行的任务状态793

26.8.2.6 查看CICS定义的交易状态794

26.8.2.7 查看CICS定义的外部连接状态794

26.8.3 修改CICS资源状态795

26.8.3.1 更新联机程序的新版本795

26.8.3.2 更改文件状态796

26.8.3.3 切换当前使用的转存(DUMP)文件796

26.8.3.4 停止正在运行的任务(TASK)797

26.8.3.5 更改交易的状态797

26.8.3.6 更改终端的状态798

26.8.4 执行特殊的CICS功能798

26.9 联机资源定义交易(CEDA)799

26.9.1 CEDA命令的子命令800

26.9.2 CEDA DELETE命令和CEDA REMOVE命令的异同点801

26.9.3 添加资源到成员清单的步骤801

26.9.4 CEDA常用命令的使用方法802

26.9.4.1 定义程序802

26.9.4.2 定义界面集802

26.9.4.3 定义文件803

26.9.4.4 查看交易清单及交易详细定义804

26.9.4.5 查看程序清单及程序详细定义804

26.9.4.6 查看界面清单及界面定义805

26.9.4.7 查看DB2进入线程清单及详细定义805

26.9.4.8 查看DB2交易清单及详细定义805

26.9.4.9 安装资源到CICS中806

26.10 CICS联机交易诊断工具807

26.10.1 CEDF交易807

26.10.1.1 开始EDF跟踪(单终端模式)808

26.10.1.2 PF7/PF8滚动显示808

26.10.1.3 覆盖参数(Argument)的值809

26.10.1.4 覆盖返回码(Response)810

26.10.1.5 显示翻译器中的源程序行数811

26.10.1.6 PF6显示用户界面818

26.10.1.7 PF2以十六进制格式显示屏幕上的内容818

26.10.1.8 PF5显示工作存储区818

26.10.1.9 在存储区界面用PF4显示EIB819

26.10.1.10 在存储区界面使用PF2调用CEBR交易819

26.10.1.11 在存储区界面使用PF5调用CECI交易820

26.10.1.12 设定停止显示的条件821

26.10.1.13 显示以前的命令821

26.10.1.14 伪对话的继续821

26.10.1.15 程序终止822

26.10.1.16 任务终止822

26.10.1.17 申请异常中断822

26.10.1.18 开始EDF跟踪(双终端模式)822

26.10.2 CEDX交易824

26.10.3 设置用户跟踪入口点825

第27章 COBOL函数及编译选项827

27.1 COBOL提供的内部函数827

27.1.1 内部函数的类型828

27.1.2 嵌套函数828

27.1.3 函数对数组项目的处理828

27.2 数据项目转换内部函数829

27.2.1 转换大小写(UPPER-CASE,LOWER-CASE)829

27.2.2 转换字符串的排列次序(REVERSE)830

27.2.3 转换成数字(NUMVAL,NUMVAL-C)830

27.2.4 数字去编辑(DE-EDITING)831

27.2.5 代码页(Code page)转换(DISPLAY-OF和NATIONAL-OF)832

27.3 求数据项的值835

27.3.1 求单个字符在代码集中的序号(ORD)835

27.3.2 按代码集中的序号返回对应的字符(CHAR)836

27.3.3 求数据项的最大值和最小值836

27.3.4 返回最大和最小序号值ORD-MAX和ORD-MIN837

27.3.5 找出数据项的长度837

27.3.6 字母数字(alphanumeric)函数返回变长结果838

27.4 找出程序编译日期838

27.5 EBCDIC和ASCⅡ排列次序839

27.5.1 EBCDIC排列次序(collating sequence)839

27.5.2 美国英语ASCⅡ代码页(code page)842

27.6 货币符号的使用845

27.7 日期相关的函数846

27.7.1 获取系统当前日期和时间(CURRENT-DATE)847

27.7.2 获取整数日子(INTEGER-OF-DATE)847

27.7.3 获取整数日期(DATE-OF-INTEGER)848

27.7.4 转换儒略日到整数日子(INTEGER-OF-DAY)848

27.7.5 转换整数日子到儒略日(DAY-OF-INTEGER)848

27.8 数据统计849

27.9 IBM企业级COBOL编译选项851

27.9.1 满足COBOL 85标准的编译选项853

27.9.2 互相排斥的编译选项853

27.9.3 编译选项说明854

27.9.3.1 ADATA854

27.9.3.2 ADV855

27.9.3.3 ARITH855

27.9.3.4 AWO855

27.9.3.5 BUFSIZE856

27.9.3.6 CICS856

27.9.3.7 CODEPAGE856

27.9.3.8 COMPILE857

27.9.3.9 CURRENCY857

27.9.3.10 DATA858

27.9.3.11 DATEPROC858

27.9.3.12 DBCS859

27.9.3.13 DECK859

27.9.3.14 DIAGTRUNC859

27.9.3.15 DLL860

27.9.3.16 DUMP860

27.9.3.17 DYNAM860

27.9.3.18 EXIT861

27.9.3.19 EXPORTALL861

27.9.3.20 FASTSRT862

27.9.3.21 FLAG862

27.9.3.22 FLAGSTD862

27.9.3.23 INTDATE863

27.9.3.24 LANGUAGE864

27.9.3.25 LIB864

27.9.3.26 LINECOUNT864

27.9.3.27 LIST865

27.9.3.28 MAP865

27.9.3.29 NAME866

27.9.3.30 NSYMBOL866

27.9.3.31 NUMBER866

27.9.3.32 NUMPROC867

27.9.3.33 OBJECT867

27.9.3.34 OFFSET868

27.9.3.35 OPTIMIZE868

27.9.3.36 OUTDD868

27.9.3.37 PGMNAME869

27.9.3.38 QUOTE/APOST871

27.9.3.39 RENT871

27.9.3.40 RMODE871

27.9.3.41 SEQUENCE872

27.9.3.42 SIZE872

27.9.3.43 SOURCE872

27.9.3.44 SPACE873

27.9.3.45 SQL873

27.9.3.46 SSRANGE873

27.9.3.47 TERMINAL874

27.9.3.48 TEST874

27.9.3.49 THREAD875

27.9.3.50 TRUNC875

27.9.3.51 VBREF878

27.9.3.52 WORD878

27.9.3.53 XREF878

27.9.3.54 YEARWINDOW879

27.9.3.55 ZWB879

提要880

第28章 CICS交易Dump分析及查错881

28.1 CICS/ESA概览881

28.2 解决CICS问题的一般方法887

28.2.1 确定问题前的初步检查887

28.2.2 确定问题的方法888

28.3 解决CICS问题的主要资源888

28.3.1 编译输出888

28.3.2 编译选项889

28.3.3 CICS Log输出890

28.3.4 CICS信息格式890

28.3.5 CICS的Abend代码891

28.3.6 CMAC交易891

28.3.7 信息处置方法891

28.3.8 交易轨迹(Traces)的类型892

28.3.9 统计输出(Statistics Output)892

28.3.10 基本手册(Essential Manuals)893

28.4 CICS提供的交易893

28.4.1 CEOT交易的执行894

28.4.2 CEMT交易执行894

28.4.3 CEMT查询功能894

28.4.4 CEMT查询交易状态895

28.4.5 CEMT查询交易的类别895

28.4.6 CEMT查询程序的状态896

28.4.7 CEMT交易查询文件状态896

28.4.8 CEMT查询数据集(Dataset)的状态897

28.4.9 CEMT交易查询TD Queue状态897

28.4.10 CEMT查询TS Queue状态897

28.4.11 CEMT查询任务(Task)状态898

28.4.12 CEMT查询VTAM通信状态899

28.4.13 CEMT查询IRC的状态899

28.4.14 CEMT查询连接状态900

28.4.15 从主控台执行CICS提供的交易900

28.4.16 CRTE——执行远程交易901

28.4.17 CMSG交易传递信息901

28.4.18 CEDF互动式查错902

28.5 使用Trace Tabel帮助查错902

28.6 读懂CICS Trace记录906

28.7 使用CETR交易控制Trace记录内容907

28.8 使用交易Dump帮助查错910

28.8.1 Dump中的十六进制计数910

28.8.2 症状(Symptom)字符串和寄存器组911

28.8.3 任务控制区的用户区(Task Control Area-User Area)912

28.8.4 任务控制区的系统区(Task Control Area-System Area)913

28.8.5 从CICSDump中找到TCAPCHS913

28.8.6 从CICS DUMP中找到EIB和EIS的内容914

28.8.7 Dump中的交易内存区915

28.8.8 TCTTE(Terminal Control Table Terminal Entry)数据区916

28.8.9 Dump中的程序内存区917

28.8.10 Dump的结尾918

28.8.11 不经常访问的Dump数据区域919

28.8.12 CICS Command Level程序编码919

28.8.13 CICS程序初始化920

28.8.14 CICS程序的执行920

28.8.15 定位应用程序的RSA920

28.8.16 从CICS Dump找到寄存器14的三种方法921

28.8.17 从CICS Dump中找到COBOL程序出错的EXEC CICS语句922

28.8.18 从CICS Dump中找到COBOL程序出错的其他EXEC CICS语句923

28.8.19 COBOL数据区域924

28.8.20 COBOL内存映像(Memory Map)924

28.8.21 从CICS Dump中定位Working Storage字段的方法925

28.8.22 快速访问被Link程序927

28.8.23 设置Dump表交易929

28.8.24 Dump处理930

28.8.25 Abends的源头931

28.8.26 程序检查(Program Checks)932

28.8.27 程序状态字(Program Status Word,PSW)934

28.8.28 交易Abend控制块(Transaction Abend Cobtrol Block-TACB)935

28.9 使用交易Dump解决ASRA Abend的实例936

28.9.1 解决ASRA Abend问题的通用方法936

28.9.2 解决ASRA问题第1步936

28.9.3 解决ASRA问题第2步937

28.9.4 解决ASRA问题第3步937

28.9.5 解决ASRA问题第4步938

28.9.6 解决ASRA问题第5步939

28.9.7 解决ASRA问题第6步939

28.9.8 解决ASRA问题的一些提示941

28.9.9 从CICS/ESA V3.2 开始引入的新Abend941

28.10 使用交易Dump解决AEYD Abend的方法942

28.10.1 从CICS/ESA V4开始引入的新Abend(AEYD)942

28.10.2 解决AEYD Abend的方法942

28.11 使用交易Dump解决死循环(Loop)的方法943

28.11.1 紧凑循环和执着循环(Tight and Non-Yielding Loops)944

28.11.2 柔软的循环(Yielding Loop)944

28.11.3 Trace Table的用法944

28.11.4 解决循环的通用方法945

28.11.5 其他的选项945

28.12 使用交易Dump解决错误输出的方法946

28.13 使用交易Dump解决ASRA的真实案例948

28.14 使用交易Dump解决AEYD的真实案例960

28.15 使用交易Dump解决循环(Loop)的提示967

提要968

第29章 CICS通道容器(Channel Container)969

29.1 通道容器引入的背景969

29.2 绕开32KB限制的非标准方法970

29.3 通道容器的概念971

29.3.1 当前通道(The Current Channel)972

29.3.2 通道的范围(Scope of a Channel)974

29.3.3 通道的生命周期(Lifetime of a Channel)975

29.4 通道容器相关的API命令975

29.4.1 容器(Container)命令975

29.4.2 程序调用/转移命令975

29.4.3 交易调用/转移命令976

29.4.4 查询命令976

29.4.5 容器浏览命令976

29.5 数据转换(Data Conversion)976

29.6 应用场景977

29.6.1 使用通道的基本应用场景977

29.6.2 应用场景,多组件978

29.6.3 应用场景,松耦合978

29.7 迁移到通道容器979

29.7.1 使用LINK程序的迁移979

29.7.2 使用START程序的迁移979

29.8 程序例子981

29.9 最佳实践983

29.9.1 定义接口984

29.9.2 DPL性能984

提要985

第30章 排序/合并及软件质量控制986

30.1 排序的概念986

30.2 实现排序的步骤987

30.3 COBOL中与排序有关的成分988

30.4 SORT语句的第一种形式990

30.5 SORT语句的第二种形式994

30.6 MERGE(合并)语句1001

30.7 软件质量控制的一些思考1003

30.7.1 软件行业的最高指导原则——KISS原则1003

30.7.2 COBOL程序现状1003

30.7.3 COBOL程序质量低劣体现在哪里1005

30.7.4 如何鉴定程序质量的好坏1006

30.7.5 如何做高质量的COBOL程序1007

30.7.6 为何需要编程规范1008

30.7.7 实际软件开发规范细则1008

30.7.8 让COBOL全程自动监控I-O操作的“DECLARATIVES”1015

30.7.9 让CICS全程自动监控CICS命令的“HANDLE”1016

30.7.10 联机CICS程序中用户功能键的处理1018

30.7.11 程序段(节)名前缀与位置布局1019

30.7.12 COBOL程序例子1(排序程序改进版)1022

30.7.13 COBOL程序例子2(报表文件双页合并)1026

30.7.14 文件对碰(MATCH)的定式写法1029

提要1035

附录A 参考资料1037

热门推荐