您好,欢迎来到聚文网。
登录
免费注册
网站首页
|
搜索
热搜:
磁力片
|
漫画
|
购物车
0
我的订单
商品分类
首页
幼儿
文学
社科
教辅
生活
销量榜
IBM主机技术一本通
字数: 1872千字
装帧: 简装
出版社: 电子工业出版社
作者: 吕新民 著
出版日期: 2017-01-01
商品条码: 9787121305474
版次: 1
开本: 其他
页数: 1092
出版年份: 2017
定价:
¥188
销售价:
登录后查看价格
¥{{selectedSku?.salePrice}}
库存:
{{selectedSku?.stock}}
库存充足
{{item.title}}:
{{its.name}}
加入购物车
立即购买
加入书单
收藏
精选
¥5.83
世界图书名著昆虫记绿野仙踪木偶奇遇记儿童书籍彩图注音版
¥5.39
正版世界名著文学小说名家名译中学生课外阅读书籍图书批发 70册
¥8.58
简笔画10000例加厚版2-6岁幼儿童涂色本涂鸦本绘画本填色书正版
¥5.83
世界文学名著全49册中小学生青少年课外书籍文学小说批发正版
¥4.95
全优冲刺100分测试卷一二三四五六年级上下册语文数学英语模拟卷
¥8.69
父与子彩图注音完整版小学生图书批发儿童课外阅读书籍正版1册
¥24.2
好玩的洞洞拉拉书0-3岁宝宝早教益智游戏书机关立体翻翻书4册
¥7.15
幼儿认字识字大王3000字幼儿园中班大班学前班宝宝早教启蒙书
¥11.55
用思维导图读懂儿童心理学培养情绪管理与性格培养故事指导书
¥19.8
少年读漫画鬼谷子全6册在漫画中学国学小学生课外阅读书籍正版
¥64
科学真好玩
¥12.7
一年级下4册·读读童谣和儿歌
¥38.4
原生态新生代(传统木版年画的当代传承国际研讨会论文集)
¥11.14
法国经典中篇小说
¥11.32
上海的狐步舞--穆时英(中国现代文学馆馆藏初版本经典)
¥21.56
猫的摇篮(精)
¥30.72
幼儿园特色课程实施方案/幼儿园生命成长启蒙教育课程丛书
¥24.94
旧时风物(精)
¥12.04
三希堂三帖/墨林珍赏
¥6.88
寒山子庞居士诗帖/墨林珍赏
¥6.88
苕溪帖/墨林珍赏
¥6.88
楷书王维诗卷/墨林珍赏
¥9.46
兰亭序/墨林珍赏
¥7.74
祭侄文稿/墨林珍赏
¥7.74
蜀素帖/墨林珍赏
¥12.04
真草千字文/墨林珍赏
¥114.4
进宴仪轨(精)/中国古代舞乐域外图书
¥24.94
舞蹈音乐的基础理论与应用
内容简介
本书由浅入深地讲述了IBM主机技术的各个方面,共分30章,包括:TSO、ISPF、JCL、VSAM、COBOL、DB2、CICS和常用的MVS主控台命令,通过演示报表(Magic Report)的方法,从实战出发,通过大量的源程序例子讲解了在应用开发过程中需要使用的IBM主机方面的技术,书中的例子都是作者亲自编写并运行成功的,可以作为读者学习的参考。因为本书在系统地介绍所需的基本技术的同时,也为具备多年开发经验的读者提供了某些不错的议题,所以本书既可以作为从事IBM主机开发的初学者学习,也可以作为已有几年甚至多年IBM主机开发经验的人士参考。
作者简介
吕新民,1979.9-1983.7 华中科技大学,计算机软件专业1983.8-1992.10 中国银行山东省分行电脑部,程序员、系统分析员1992.11-1998.5 中银集团香港电脑中心,程序员、系统分析员1998.6-2003.11 高阳科技(香港)有限公司,系统分析员、系统架构师2003.12-2010.12 IBM公司,不错项目经理、不错培训师2011.1-2014.12 天鸿志科技(北京)有限公司,咨询架构师、研发总监2015.1-现在 深圳育桥软件有限公司,首席科学家。
目录
MVS操作系统导论 章 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设定功能――选项0 7 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 查看数据集――选项1 11 1.9 编辑数据集――选项2 14 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命令执行JOB 34 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 系统例程功能――选项3 41 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.11) 77 1.10.10 数据集比较选项标准版(3.12) 和扩展版(3.13) 78 1.10.11 字符串检索选项标准版(3.14) 和扩展版(3.15) 79 1.11 TSO命令 80 1.11.1 离开ISPF/PDF 80 1.11.2 输入TSO命令 81 1.11.2.1 ISPF/PDF选项6―― TSO COMMAND 81 1.11.2.2 使用TSO前缀 82 1.11.3 TSO HELP 82 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 MSGLEVEL 94 2.2.2.2 MSGCLASS 94 2.2.2.3 COND 95 2.2.2.4 ADDRSPC 96 2.2.2.5 CLASS 96 2.2.2.6 NOTIFY 97 2.2.2.7 PRTY 97 2.2.2.8 REGION 97 2.2.2.9 TIME 97 2.2.2.10 TYPRUN 98 2.2.2.11 USER参数 98 2.2.2.12 PASSWORD 99 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 DSN 110 2.4.3.2 DISP 111 2.4.3.3 UNIT 112 2.4.3.4 VOLUME 112 2.4.3.5 SPACE 112 2.4.3.6 LABEL 112 2.4.3.7 DCB 113 2.4.3.8 SYSOUT 113 2.4.3.9 数据集串联 (Concatenation) 113 2.4.3.10 存储管理子系统 (SMS) 114 2.5 向后引用(Backward Reference) 114 2.6 条件JCL 117 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 例程使用的ddname 138 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 数据集记录的筛选―― 跳过条记录 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 世代数据集GDG 206 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 显示系统中所有的缓存区及使用 百分比和总的缓冲区 使用百分比 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用户 和STC 215 4.1.8 $A A释放系统中所有挂起的作业 215 4.1.9 $A JOB释放挂起的作业 216 4.1.9.1 释放作业34到40 216 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 暂停作业STC00051 217 4.1.12 $S I启动初始器(Initiator) 217 4.1.12.1 将初始器Initiator 5从DRAINED状态变成INACTIVE状态 217 4.1.12.2 启动Initiator 8到10 217 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 改为X 219 4.1.17.2 将作业45的优先级加2 219 4.1.17.3 将执行队列中用户为 IBMUSER的作业的运行 CLASS改为Y 219 4.1.17.4 将执行队列中运行 CLASS为Y的作业的 CLASS改为A 219 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程序设计导论 第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程序中使用ddname 329 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 0章 结构程序设计及源程序级查错 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 1章 程序设计风格的探讨 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 CORRESPONDING 420 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 HERE 423 11.20 传送单个01级到子程序 424 11.21 避免“聪明的代码” 424 11.22 不要过于看重效率,但仔细 地选择算法 425 11.23 预防式地编码 426 11.24 首先考虑,然后编码 427 11.25 提要 427 DB2实用程序设计 2章 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 SPUFI 487 3章 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 DBRM 493 13.2.2 绑定 494 13.2.2.1 绑定到包和直接绑定 方案的区别 495 13.2.2.2 方案、包和集合 496 13.2.2.3 运行时COBOL装载 模块调用DBRM 497 13.3 绑定与再绑定 497 13.3.1 自动再绑定 498 13.3.2 绑定与再绑定选项 498 13.3.3 让绑定决定存取的目标 501 13.3.4 绑定的其他考虑因素 502 13.4 删除包或方案 502 4章 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 DCLGEN 510 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 运行客户资料查询程序的JCL 522 14.7.5 程序运行结果 522 14.8 修改客户资料程序(BKUPDT) 523 14.8.1 修改客户资料源程序 523 14.8.2 程序运行前客户资料表中的记录 525 14.8.3 运行客户资料修改程序的JCL 526 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 输入文件CUSTINFO 534 14.9.6 运行明细客户资料程序的JCL 534 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 运行浏览客户资料表程序 的JCL 544 14.11.3 程序运行前客户资料表的内容 545 14.11.4 浏览客户资料表程序的 查询结果 545 5章 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 引导数据集BSDS 551 15.4.4 SYSIBM.SYSLGRNX 551 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 6章 动态SQL介绍 563 16.1 使用动态SQL 563 16.2 在应用程序中嵌套动态SQL 563 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 7章 管理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 8章 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:公共转睡眠户 -CBF0070J 610 18.12.3 典型案例2:活期主档扫描 -SDD0011J 612 CICS程序设计导论 9章 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 CEBR 747 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签到交易CESN 786 26.4 CICS签退交易CESF 786 26.5 查看终端状态交易CEOT 787 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 更改文件状态 795 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显示EIB 819 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-MIN 837 27.3.5 找出数据项的长度 837 27.3.6 字母数字(alphanumeric)函数 返回变长结果 838 27.4 找出程序编译日期 838 27.5 EBCDIC和ASCII排列次序 839 27.5.1 EBCDIC排列次序 (collating sequence) 839 27.5.2 美国英语ASCII代码页 (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 ADATA 854 27.9.3.2 ADV 855 27.9.3.3 ARITH 855 27.9.3.4 AWO 855 27.9.3.5 BUFSIZE 856 27.9.3.6 CICS 856 27.9.3.7 CODEPAGE 856 27.9.3.8 COMPILE 857 27.9.3.9 CURRENCY 857 27.9.3.10 DATA 858 27.9.3.11 DATEPROC 858 27.9.3.12 DBCS 859 27.9.3.13 DECK 859 27.9.3.14 DIAGTRUNC 859 27.9.3.15 DLL 860 27.9.3.16 DUMP 860 27.9.3.17 DYNAM 860 27.9.3.18 EXIT 861 27.9.3.19 EXPORTALL 861 27.9.3.20 FASTSRT 862 27.9.3.21 FLAG 862 27.9.3.22 FLAGSTD 862 27.9.3.23 INTDATE 863 27.9.3.24 LANGUAGE 864 27.9.3.25 LIB 864 27.9.3.26 LINECOUNT 864 27.9.3.27 LIST 865 27.9.3.28 MAP 865 27.9.3.29 NAME 866 27.9.3.30 NSYMBOL 866 27.9.3.31 NUMBER 866 27.9.3.32 NUMPROC 867 27.9.3.33 OBJECT 867 27.9.3.34 OFFSET 868 27.9.3.35 OPTIMIZE 868 27.9.3.36 OUTDD 868 27.9.3.37 PGMNAME 869 27.9.3.38 QUOTE/APOST 871 27.9.3.39 RENT 871 27.9.3.40 RMODE 871 27.9.3.41 SEQUENCE 872 27.9.3.42 SIZE 872 27.9.3.43 SOURCE 872 27.9.3.44 SPACE 873 27.9.3.45 SQL 873 27.9.3.46 SSRANGE 873 27.9.3.47 TERMINAL 874 27.9.3.48 TEST 874 27.9.3.49 THREAD 875 27.9.3.50 TRUNC 875 27.9.3.51 VBREF 878 27.9.3.52 WORD 878 27.9.3.53 XREF 878 27.9.3.54 YEARWINDOW 879 27.9.3.55 ZWB 879 提要 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查询交易的类别 (Tclass) 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查询连接(Connection) 状态 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中找到TCAPCHS 913 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 定位应用程序的RSA 920 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问题步 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开始引入的 新Abend 941 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 第31章 数字货币及背后的技术 1036 31.1 数字货币 1036 31.2 比特币 1037 31.3 区块链 1041 31.3.1 区块链是一种新的数据库―― 准备重写一切 1041 31.3.2 逐渐走向去中心的世界 1044 31.3.3 系统的网络效应 1045 31.3.4 比特币与“其他的”区块链 1046 31.4 数字货币多元化 1047 31.4.1 技术 1047 31.4.2 网络效应(Network Effects) 1048 31.4.3 网络效应和元货币(Metacoin) 1050 31.4.4 网络效应和侧链(Sidechains) 1050 31.4.5 修订的货币网络效应 1051 31.4.6 激励与心理观点 1052 31.4.7 新的策略 1053 31.5 以太坊 1054 31.5.1 为何需要新的平台 1054 31.5.2 彩色币 1055 31.5.3 元币 1055 31.5.4 哲学 1056 31.5.5 基础区块创建 1057 31.5.6 修改实施幽灵协议 1057 31.5.7 以太坊客户端P2P协议 1058 31.5.8 货币及其发行 1058 31.5.9 合约 1059 31.5.10 子货币 1059 31.5.11 未来应用 1059 31.5.12 以太坊小结 1060 31.6 应用案例和最新的进展 1060 31.6.1 国外应用情况 1060 31.6.2 国内应用情况 1062 提要 1063 附录A 参考资料 1064
×
Close
添加到书单
加载中...
点此新建书单
×
Close
新建书单
标题:
简介:
蜀ICP备2024047804号
Copyright 版权所有 © jvwen.com 聚文网