IBM主機技術一本通(第2版)

IBM主機技術一本通(第2版)
定價:1128
NT $ 1,128
  • 作者:呂新民
  • 出版社:電子工業出版社
  • 出版日期:2017-01-01
  • 語言:簡體中文
  • ISBN10:712130547X
  • ISBN13:9787121305474
  • 裝訂:1035頁 / 普通級 / 2-1
 

內容簡介

本書由淺入深地講述了IBM主機技術的各個方面,共分30章,包括:TSO、ISPF、JCL、VSAM、COBOL、DB2、CICS和常用的MVS控制台命令,通過演示報表(Magic Report)的方法,從實戰出發,通過大量的源程序例子講解了在應用開發過程中需要使用的IBM主機方面的技術,書中的例子都是作者親自編寫並運行成功 的,可以作為讀者學習的參考。

因為本書在系統地介紹所需的基本技術的同時,也為具備多年開發經驗的讀者提供了某些高級的議題,所以本書既可以作為從事 IBM主機開發的初學者學習,也可以作為已有幾年甚至多年IBM主機開發經驗的人士參考。
 

目錄

MVS操作系統導論
第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設定功能——選項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 數據集記錄的篩選——
跳過第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 世代數據集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
第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
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實用程序設計
第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 SPUFI 487
第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 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
第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 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
第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 引導數據集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
第16章 動態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
第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:公共轉睡眠戶
-CBF0070J 610
18.12.3 典型案例2:活期主檔掃描
-SDD0011J 612
CICS程序設計導論
第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 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問題第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開始引入的
新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
網路書店 類別 折扣 價格
  1. 新書
    $1128