IBM主機技術一本通

IBM主機技術一本通

《IBM主機技術一本通 》是2011年5月人民郵電出版社出版的圖書,作者是呂新民。該書在系統地介紹所需的基本技術的同時,也為具備多年開發經驗的讀者提供了某些高級的議題,所以本書既可以作為從事IBM主機開發的初學者學習,也可以作為已有幾年甚至多年IBM主機開發經驗的人士參考。

基本信息

內容簡介

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

前言

這是一本寫了20多年的書,一本讓你學習IBM主機技術不求人的書!

開始萌發寫書的想法要追溯到20多年前,大學畢業分配到青島的一家國有銀行工作的時候。那時工作不是很忙,年輕的時候精力過剩,總想找點事情做做,但畢竟水平有限,能寫的東西不多,成不了型,也就放下了。後來有機會去香港工作幾年,然後又輾轉到深圳的一家比較知名的做銀行項目的民營公司,最後又到一家著名的外企,雖然這段時間的工作經歷為本書提供了豐富的素材,使得讀者對書中的講述有感同身受的親切感,但這段經歷繁忙到根本沒有時間和精力提筆寫書。

從2008年開始轉行做培訓方面的工作,就又有了寫書的念頭。因為有一件事,讓我感觸很深,某個培訓班的學生中,有一批學日語的學生,他們幾乎完全不會英語,而我們的教材通常是英文的,根本沒有這方面技術的中文書,使得有的學生實在學不下去,只好中途退學了。這件事,讓我決定儘快寫出一本通用的IBM主機技術方面的書,既能了卻20多年前的夙願,又能對從事主機工作的同行們儘自己的微薄之力。經過幾年的努力,這本書終於面世了。

本書的定位是一本IBM主機技術方面專家級的參考書,既適合該行業的初學者入門的需要,也能滿足有多年相關工作經驗的行業高手進一步提高的要求。

本書有下面幾個鮮明的特點,特此提出來與讀者分享。

1.IBM主機技術的完整性

作者有多年的IBM主機技術套用的實踐經驗,非常清楚哪些技術是必須詳細講述的,哪些技術是可以一筆帶過的,因此對於重要的知識點和在實際工作中經常用到的內容,以及有一定難度,平常也有可能用到的內容,本書都做了詳細的講述,以滿足各種水平讀者的需要;對於那些過於晦澀,使用不多的內容,本書只是簡單講述,並提供相關的參考線索,為讀者進一步學習提供幫助。總之,本書希望能夠讓讀者有一本在手、別無它求的滿足感。

2.初學者入門的好幫手

多年的IBM主機技術培訓和銀行項目實訓的教學經驗,使得作者非常了解初學者對於學習IBM主機技術的需求,因此本書採用由淺入深、由易到難的編排順序,將IBM主機技術的相關內容串聯起來,使得讀者只要按照本書的順序閱讀,就可以快速入門,並隨著閱讀內容的增加和對每個章節後面高級議題的深入理解,由初學者變成行業高手。

3.IBM主機技術高手們的增值器

由於行業的分工越來越細,即使從事IBM主機開發工作多年的人,所能接觸的內容也是有限的,比方,有的人做在線上方面比較多,對CICS方面的內容就比較熟悉;有的人做批處理方面的工作比較多,相應地,對作業流(JCL)方面的內容了解就要多些。由於本書充分考慮了IBM主機技術的完整性,因此,讀者很容易通過本書,學到自己相對欠缺或不熟悉的知識,從而達到全面提高的目的。

此外,本書中有些議題,是目前國內書籍中很少討論的,是作者查閱了大量的國外相關論文後匯總到本書中的,比如,處理多檔案交易合併的平衡線算法及在銀行套用系統中的套用、常用的MVS主控台命令和程式設計風格方面的一些內容等。

4.大量的程式例子

本書避免空洞的概念陳述,而是通過鮮活的程式實例來介紹IBM主機技術的各種元素,讓讀者能夠從程式例子中了解技術元素的實際含義、在現實中的套用及使用過程中需要注意的地方。通過各種技術元素(程式、作業流、參數)的實際運用,讓讀者了解各種不同的技術元素是如何相互協作、相互配合、共同完成項目的。每個技術元素運行後的結果,都通過演示報表(Magic Report)的方法,清晰地呈現在讀者的面前,加深讀者對這些技術元素的理解。

5.查錯和糾錯技術的研討

根據實際開發中的經驗,作者深切地體會到,查錯和糾錯技術對於項目開發團隊是多么重要,而這一點正好又是很多新手甚至工作多年的高手所欠缺的。寫一個程式容易,但讓程式正確完成指定的任務卻不那么容易,這樣的例子太多了。當程式設計師完成了一個程式後,運行出來的結果卻是牛頭不對馬嘴,或運行中途異常結束的時候,很多讀者都是一臉茫然,不知所措。

為了解決這個問題,本書提供了兩種解決途徑。

一是所謂的源程式級查錯,即通過閱讀源程式來辨別出錯的原因。根據作者多年的實踐經驗,本書為各種類型的常見問題給出了幾種可能出錯的原因,比如,當你的程式出現死循環的時候,本書就為你提供了幾種可能的原因,幫助讀者通過閱讀源程式儘快找到問題的根源。

另一種是根據運行時系統提供的信息,比如,系統的返回碼或出錯的程式代碼的位移等,幫你順藤摸瓜,一步一步地確定出錯原因,從而找到解決辦法。

這本書能夠面世,要感謝的人很多。對於以前在銀行或公司一起工作的同事們,正是跟他們一起工作的時光,使作者能夠博採他們出色的技術特長,汲取他們橫溢的技術精華,才能使本書的內容如此多姿多彩。限於篇幅,這裡就不一一列出他們的名字了。

參與本書編寫的還有王青萍女士,她提供了本書中全部的精美繪圖並提供了與圖相關的文字描述。本書由於時間跨度長,信息容量大,加上作者水平有限,一定有許多疏漏的地方,敬請廣大讀者批評指正。

目錄

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 複製分區數據集或分區

數據集成員 144

2.13.9 分區數據集的壓縮 145

2.13.10 維護源程式庫 146

2.13.11 列印分區數據集(PDS)

目錄清單 148

2.13.12 比較分區數據集 149

2.13.13 比較順序數據集 150

2.13.14 比較分區數據集中的成員 150

2.13.15 順序檔案的建立和刪除 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 控制間隔 177

3.1.5 控制區域 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

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 數據描述和數據傳送

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.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) 434

12.4.5 引用完整性(Referential Integrity) 440

12.4.6 索引(Index) 441

12.4.7 視圖(View) 444

12.4.8 資料庫目標的刪除(DROP) 446

12.4.9 DDL語句的套用實例 446

12.5 數據控制語言(Data Control

Language——DCL) 449

12.5.1 賦予(GRANT)和廢除

(REVOKE)語句 449

12.5.2 賦予及廢除許可權 452

12.6 數據操作語言(Data Manipulation Language——DML) 459

12.6.1 數據檢索 460

12.6.1.1 檢索整個表 461

12.6.1.2 從表中挑選特定的列 461

12.6.1.3 改變列的排序 462

12.6.1.4 從表中挑選特定的行 462

12.6.1.5 使用多個條件挑選

特定的行 462

12.6.1.6 從多個表中選擇

要求的列 463

12.6.1.7 使用關係名 464

12.6.1.8 查詢結果排序 465

12.6.1.9 計算出的列 465

12.6.1.10 為計算出的列命名 466

12.6.1.11 函式(Functions) 466

12.6.1.12 分組合計

(Grouping Values) 468

12.6.1.13 約束一組數據的使用 468

12.6.1.14 去掉重複的記錄 469

12.6.1.15 字元串模式查找 470

12.6.1.16 按數據範圍搜尋 470

12.6.1.17 搜尋空值

(Null Values) 471

12.6.1.18 按否定的條件查詢 471

12.6.1.19 檢索一組值 472

12.6.2 數據更新 472

12.6.2.1 插入數據記錄 472

12.6.2.2 插入一組值 473

12.6.2.3 插入大量數據 474

12.6.2.4 修改數據記錄 474

12.6.2.5 修改大量的數據 475

12.6.2.6 刪除數據 476

12.6.2.7 刪除表中的所有行 477

12.6.3 存儲過程 477

12.6.3.1 建立或修改存儲過程 478

12.6.3.2 模式限定符 479

12.6.3.3 刪除存儲過程 479

12.6.4 用戶定義函式 479

12.6.4.1 外部用戶定義函式

(External UDFs) 479

12.6.4.2 有源用戶定義函式

(Sourced UDFs) 480

12.6.4.3 表函式

(Table Functions) 480

12.6.4.4 執行用戶定義函式 481

12.6.5 觸發器 481

12.7 DB2I工具 483

12.7.1 DB2I工具概要 483

12.7.2 SPUFI 483

第13章 DB2程式準備 485

13.1 DB2程式編譯流程圖及樣板作業流 485

13.2 預編譯和綁定 487

13.2.1 預編譯 487

13.2.1.1 預編譯器 488

13.2.1.2 修改過的源程式代碼 489

13.2.1.3 DBRM 489

13.2.2 綁定 490

13.2.2.1 綁定到包和直接綁定

方案的區別 491

13.2.2.2 方案、包和集合 492

13.2.2.3 運行時COBOL裝載

模組調用DBRM 493

13.3 綁定與再綁定 493

13.3.1 自動再綁定 494

13.3.2 綁定與再綁定選項 494

13.3.3 讓綁定決定存取的目標 497

13.3.4 綁定的其他考慮因素 498

13.4 刪除包或方案 498

第14章 DB2程式結構 499

14.1 分隔設定 499

14.2 主變數和主變數組合項 500

14.2.1 主變數的用法 501

14.2.2 主變數組合項的用法 502

14.2.3 主變數——接收單行數據 503

14.2.4 主變數——接收多行數據 503

14.2.5 主變數——插入記錄行 503

14.2.6 主變數——修改數據 504

14.2.7 主變數——各種語言的定義 504

14.3 DCLGEN 506

14.3.1 從DB2I主選單進入

DCLGEN選項 506

14.3.2 DCLGEN輸出例子 507

14.4 處理空數據 508

14.5 SQLCA——SQL通信區 511

14.6 SQL INCLUDE 語句 513

14.7 查詢客戶資料程式 514

14.7.1 查詢DB2客戶資料源程式

(BKINQ) 514

14.7.2 資料庫表CUSTINFO的記錄

格式及DCLGEN輸出 516

14.7.3 資料庫表通信區SQLCA

的記錄格式 517

14.7.4 運行客戶資料查詢程式的JCL 517

14.7.5 程式運行結果 518

14.8 修改客戶資料程式(BKUPDT) 519

14.8.1 修改客戶資料源程式 519

14.8.2 程式運行前客戶

資料表中的記錄 521

14.8.3 運行客戶資料修改程式的JCL 522

14.8.4 客戶資料修改的輸入檔案 522

14.8.5 客戶資料修改後表中的內容 523

14.9 修改明細客戶資料程式——

空值和變長記錄處理 523

14.9.1 修改明細客戶資料源程式 524

14.9.2 客戶明細資料表CUSTINF1的

記錄格式及DCLGEN輸出結果 527

14.9.3 計算字元串長度子程式 528

14.9.4 明細客戶資料表中原來的內容 529

14.9.5 輸入檔案CUSTINFO 530

14.9.6 運行明細客戶資料程式的JCL 530

14.9.7 修改後的明細客戶資料表 530

14.10 使用游標 531

14.10.1 定義游標 531

14.10.2 打開游標 532

14.10.3 執行SQL語句 533

14.10.3.1 取數據(FETCH) 533

14.10.3.2 定位修改(Positioned UPDATE) 533

14.10.3.3 定位刪除(Positioned DELETE) 534

14.10.3.4 游標定位修改或刪除

的一些限制 534

14.10.4 關閉游標 535

14.10.5 保持游標(Cursor WITH HOLD) 535

14.10.6 游標的重新定位 535

14.11 瀏覽客戶資料表(BKNMINQ)

——使用游標處理多個記錄 537

14.11.1 瀏覽客戶資料表源程式 537

14.11.2 運行瀏覽客戶資料表

程式的JCL 540

14.11.3 程式運行前客戶資料表的內容 541

14.11.4 瀏覽客戶資料表程式

的查詢結果 541

第15章 DB2恢復和鎖定的概念 542

15.1 可恢復單元(Unit of Recovery) 542

15.2 提交(COMMIT)和回滾

(ROLLBACK) 543

15.3 保存點(SAVEPOINT) 544

15.4 數據恢復 546

15.4.1 日誌 546

15.4.2 日誌數據集 546

15.4.3 引導數據集BSDS 547

15.4.4 SYSIBM.SYSLGRNX 547

15.4.5 資料庫恢復三部曲 547

15.5 數據鎖 548

15.5.1 鎖的屬性 549

15.5.2 鎖的大小(Lock Sizes) 549

15.5.2.1 表鎖(Lock Table)

語句 550

15.5.2.2 鎖定選定的分區 550

15.5.2.3 大對象(LOB)鎖 550

15.5.3 鎖模式(Lock Modes) 551

15.5.3.1 表或表空間鎖 552

15.5.3.2 頁鎖或行鎖 553

15.5.4 表空間和表鎖的持續時間

(Lock Durations) 553

15.5.5 頁鎖或行鎖的持續時間——

隔離級別 554

15.5.5.1 可重複讀 555

15.5.5.2 讀穩定性 555

15.5.5.3 游標穩定性 555

15.5.5.4 未提交讀 556

15.5.6 WITH RR/RS/CS/UR短語的使用 556

15.5.7 鎖的覆蓋與避免 556

15.5.8 悲觀鎖定與樂觀鎖定 558

第16章 動態SQL介紹 559

16.1 使用動態SQL 559

16.2 在應用程式中嵌套動態SQL 559

16.3 完整的非SELECT語句 560

16.3.1 完整的非SELECT語句源程式(BKDYNA1) 560

16.3.2 完整的非SELECT語句——

程式運行前表中的內容 562

16.3.3 完整的非SELECT語句——

運行程式的作業流 563

16.3.4 完整的非SELECT語句——程式

運行後的顯示信息及表中的記錄 563

16.4 參數化的非SELECT語句 564

16.4.1 參數化的非SELECT語句源程式(BKDYNA2) 564

16.4.2 參數化的非SELECT語句——

程式運行前表中的內容 566

16.4.3 參數化的非SELECT語句——

運行程式的作業流 566

16.4.4 參數化的非SELECT語句——程式

運行後的顯示信息及表中的記錄 567

16.5 固定列表的SELECT語句 567

16.5.1 固定列表的SELECT語句源程式(BKDYNA3) 567

16.5.2 固定列表的SELECT語句——

運行程式的作業流 570

16.5.3 固定列表的SELECT語句——

程式運行結果 571

第17章 管理DB2測試數據 572

17.1 數據移動例程 572

17.1.1 裝載(Load)例程 572

17.1.2 裝載的完整作業流 573

17.1.2.1 增加或覆蓋 575

17.1.2.2 裝載排好序的行 576

17.1.2.3 裝載分區表 576

17.1.2.4 數據類型轉換 577

17.1.2.5 引用完整性(Referential Integrity) 577

17.1.2.6 不強制執行

(ENFORCE NO) 578

17.1.3 數據卸載(Unload)例程 578

17.1.4 使用DSNTIAUL程式卸載數據 581

17.2 數據統計 583

17.2.1 數據統計概述 584

17.2.2 統計(RUNSTATS)例程 584

17.2.2.1 輸出報告並修改

DB2編目表 585

17.2.2.2 運行統計例程時

存取資料庫 585

17.2.2.3 樣本數據 585

17.2.2.4 在DB2編目表上

運行統計例程 585

17.2.2.5 統計例程完整作業流 585

17.3 重組(REORG) 586

17.3.1 重組表空間 586

17.3.2 重組表空間的完整作業流 587

17.3.3 重組索引 588

第18章 DB2性能方面的考慮 589

18.1 存取路徑及最佳化 589

18.2 DB2解釋(EXPLAIN)工具 590

18.3 收集解釋數據 590

18.4 分析解釋數據 592

18.5 存取路徑評估 595

18.5.1 索引存取 595

18.5.2 表存取 596

18.5.3 預取 597

18.6 存取路徑提示(最佳化提示) 597

18.7 使用解釋表輸出的指引 597

18.8 改善性能的索引設計 598

18.8.1 匹配索引掃描

(MATCHCOLS > 0) 598

18.8.2 索引篩選 599

18.8.3 不匹配索引掃描(ACCESSTYPE

= I而且MATCHCOLS = 0) 599

18.8.4 IN列表索引掃描(ACCESSTYPE

= N) 599

18.8.5 多索引存取(ACCESSTYPE為

M、MX、MI或MU) 599

18.8.6 一次獲取存取(ACCESSTYPE

= I1) 600

18.8.7 只存取索引(INDEXONLY

= Y) 600

18.8.8 相等唯一索引(MATCHCOLS =

索引列數) 600

18.9 使用索引以避免分類 600

18.10 避免死鎖 600

CICS程式設計導論

第19章 CICS應用程式環境 604

19.1 CICS 基本概念回顧 604

19.2 CICS 在線上交易 606

19.3 CICS模組組成 608

19.3.1 CICS管理功能 608

19.3.2 CICS基本組成 608

19.3.3 CICS管理模組 609

19.3.4 CICS系統控制表 610

19.3.5 CICS數據區域 611

19.4 CICS交易工作流程 613

19.5 CICS程式並行工作原理 613

第20章 CICS套用系統設計 615

20.1 對話與偽對話 615

20.2 通信區(COMMAREA) 617

20.3 偽對話程式的實現方法 618

第21章 CICS命令概述 620

21.1 編寫CICS命令 620

21.2 程式準備 622

21.3 基本界面支持

(Basic Mapping Support) 625

21.3.1 3270欄位基本概念 625

21.3.2 界面定義樣本 626

21.3.2.1 如何編寫BMS宏命令 626

21.3.2.2 如何編寫彙編語言語句 626

21.3.2.3 如何使用DFHMSD宏

21.3.2.4 命令定義界面集

21.3.2.3 (Mapset) 628

21.3.2.4 如何使用DFHMDI宏

21.3.2.4 命令定義界面集中

21.3.2.4 的界面(Map) 631

21.3.2.5 如何使用DFHMDF宏命令

定義界面中的欄位 631

21.3.2.6 BMS欄位定義模板 633

21.3.3 銀行櫃員簽到程式的界面格式

及界面集完整代碼 635

21.4 界面準備 637

21.5 符號界面及符號界面格式 640

21.6 界面的輸出 641

21.7 界面的輸入 643

21.8 常用標識鍵描述(DFHAID) 644

21.9 界面顯示屬性常量(DFHBMSCA) 646

21.10 異常狀態 648

第22章 CICS程式對程式的控制 650

22.1 CICS程式對程式的控制概述 650

22.2 LINK命令 650

22.3 XCTL命令 651

22.4 通信區長度不匹配的討論 652

22.5 COBOL CALL與LINK或XCTL

的比較 653

22.6 用戶表的裝載(LOAD)和釋放(RELEASE) 654

22.7 啟動新交易(START)並接收(RETRIEVE)所傳遞的數據 656

22.8 RETURN命令 657

第23章 CICS數據處理 658

23.1 CICS存取VSAM的方法 658

23.2 VSAM基本概念回顧 659

23.2.1 VSAM檔案的組織形式和

存取方法 660

23.2.1.1 鍵順序數據組織 660

23.2.1.2 進入順序數據組織 660

23.2.1.3 相對順序數據組織 661

23.2.1.4 三種數據組織

形式的比較 661

23.2.2 VSAM的物理結構與邏輯結構 661

23.3 VSAM檔案獨占控制 663

23.4 交易死鎖 664

23.5 工作單元的資源保護 664

23.6 在線上程式的組織結構 665

23.7 CICS中訪問VSAM檔案

的常用命令 665

23.7.1 READ命令 666

23.7.2 WRITE命令 667

23.7.3 REWRITE命令 668

23.7.4 DELETE命令 669

23.7.5 UNLOCK命令 670

23.8 CICS中瀏覽VSAM檔案

的常用命令 670

23.8.1 STARTBR命令 671

23.8.2 READNEXT命令 672

23.8.3 READPREV命令 673

23.8.4 ENDBR命令 675

23.8.5 RESETBR命令 675

23.9 銀行交易瀏覽程式例子 676

23.9.1 在線上交易檔案的格式 677

23.9.2 定義交易檔案新格式和

次索引的作業流 677

23.9.3 瀏覽交易界面原始碼 679

23.9.4 瀏覽交易簡化的符號界面 682

23.9.5 瀏覽交易COBOL程式

完整原始碼 683

23.9.6 銀行瀏覽交易在線上CICS

資源定義 693

23.9.7 銀行瀏覽交易在線上運行

結果演示 696

23.10 CICS存取DB2的方法 698

23.11 CICS訪問DB2的程式結構 699

23.12 CICS訪問DB2程式的編譯步驟 699

23.13 CICS應用程式訪問DB2

的準備工作 702

23.13.1 定義CICS與DB2之間的連線(DB2CONN) 702

23.13.2 定義進入執行緒

(DB2ENTRY) 703

23.13.3 定義DB2交易

(DB2TRAN) 705

23.14 其他CICS常用命令 706

23.14.1 任務控制命令(ENQ和DEQ) 706

23.14.2 獲取系統日期和時間信息 707

23.14.2.1 ASKTIME命令 707

23.14.2.2 FORMATTIME

命令 708

23.14.3 存取CICS系統公共信息

(ADDRESS命令) 709

23.14.4 記憶體管理命令(GETMAIN和

FREEMAIN) 710

23.14.4.1 GETMAIN命令 710

23.14.4.2 FREEMAIN命令 711

第24章 CICS佇列 713

24.1 CICS佇列設備 713

24.2 分區內過渡佇列 713

24.3 分區外過渡佇列 714

24.3.1 定長記錄檔案 715

24.3.2 變長記錄檔案 716

24.3.3 結尾記錄檔案 716

24.4 間接目的地 716

24.5 過渡佇列服務 717

24.5.1 輸出數據到過渡佇列 717

24.5.2 從過渡佇列中讀出數據 717

24.5.3 從過渡佇列中刪除數據 718

24.6 觸發交易啟動 718

24.7 臨時存儲佇列概述 719

24.8 臨時存儲佇列服務 719

24.8.1 寫數據到臨時存儲佇列 720

24.8.2 修改臨時存儲佇列中的數據 721

24.8.3 從臨時存儲佇列中讀取數據 721

24.8.4 刪除臨時存儲佇列中的數據 722

24.9 臨時存儲佇列的典型用法 722

24.10 臨時存儲佇列命名 723

24.11 刪除臨時存儲佇列 724

24.12 臨時數據的存放位置 724

24.13 佇列的老化 724

24.14 佇列屬性 724

24.15 過渡數據佇列和臨時

存儲佇列的比較 724

24.16 CEBR 725

24.16.1 默認TS佇列 725

24.16.2 CEBR的幫助 726

24.16.3 佇列顯示 726

24.16.4 獲取TD佇列 727

第25章 銀行系統實例 728

25.1 銀行系統流程圖 728

25.2 櫃員簽到模組 730

25.2.1 程式(EMLOGON) 730

25.2.2 交易(EMPL) 735

25.2.3 界面(EMPSET1) 735

25.2.4 櫃員信息表(EMPLINFO) 736

25.3 賬戶維護選單模組 737

25.3.1 程式(EMMENU) 737

25.3.2 交易(EMME) 740

25.3.3 界面(EMESET1) 741

25.4 建立新賬戶模組 742

25.4.1 程式(CREATE) 743

25.4.2 子程式(AUTOPE) 750

25.4.3 子程式(STRLEN) 751

25.4.4 子程式(NUMEDIT) 752

25.4.5 交易(CREA) 754

25.4.6 界面(CRESET1) 755

25.4.7 檔案(AUTOPE) 758

25.4.8 客戶賬戶資料表

(CUSTINFO) 759

25.4.9 交易流水錶(OPERATIN) 760

第26章 CICS提供的交易及調試CICS

應用程式 762

26.1 CICS系統的啟動和關閉 762

26.2 CICS提供的交易 763

26.3 CICS簽到交易CESN 764

26.4 CICS簽退交易CESF 764

26.5 查看終端狀態交易CEOT 765

26.6 信息查找CMAC交易 766

26.7 命令層的解釋程式CECI和

CECS交易 766

26.8 CEMT(MASTER TERMINAL)

交易 769

26.8.1 移除資源(DISC) 769

26.8.2 查詢CICS資源狀態 770

26.8.2.1 查看CICS定義的

檔案狀態 770

26.8.2.2 查看CICS定義的

程式狀態 770

26.8.2.3 查看CICS定義的

終端狀態 771

26.8.2.4 查看CICS定義的

轉存檔案狀態 771

26.8.2.5 查看CICS運行的

任務狀態 771

26.8.2.6 查看CICS定義的

交易狀態 772

26.8.2.7 查看CICS定義的

外部連線狀態 772

26.8.3 修改CICS資源狀態 773

26.8.3.1 更新在線上程式的新版本 773

26.8.3.2 更改檔案狀態 774

26.8.3.3 切換當前使用的轉存

(DUMP)檔案 774

26.8.3.4 停止正在運行的任務

(TASK) 775

26.8.3.5 更改交易的狀態 775

26.8.3.6 更改終端的狀態 776

26.8.4 執行特殊的CICS功能 777

26.9 在線上資源定義交易(CEDA) 777

26.9.1 CEDA命令的子命令 778

26.9.2 CEDA DELETE命令和CEDA REMOVE命令的異同點 779

26.9.3 添加資源到成員清單的步驟 780

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

26.9.4.1 定義程式 780

26.9.4.2 定義界面集 781

26.9.4.3 定義檔案 781

26.9.4.4 查看交易清單及交易

詳細定義 782

26.9.4.5 查看程式清單及程式

詳細定義 783

26.9.4.6 查看界面清單及

界面定義 783

26.9.4.7 查看DB2進入執行緒清單

及詳細定義 784

26.9.4.8 查看DB2交易清單及

詳細定義 784

26.9.4.9 安裝資源到CICS中 785

26.10 CICS在線上交易診斷工具 786

26.10.1 CEDF交易 786

26.10.1.1 開始EDF跟蹤

(單終端模式) 786

26.10.1.2 PF7/PF8滾動顯示 787

26.10.1.3 覆蓋參數(Argument)

的值 788

26.10.1.4 覆蓋返回碼

(Response) 789

26.10.1.5 顯示翻譯器中的

源程式行數 789

26.10.1.6 PF6顯示用戶界面 797

26.10.1.7 PF2以十六進制格式

顯示螢幕上的內容 797

26.10.1.8 PF5顯示

工作存儲區 797

26.10.1.9 在存儲區界面用

PF4顯示EIB 798

26.10.1.10 在存儲區界面

使用PF2調用

CEBR交易 798

26.10.1.11 在存儲區界面

使用PF5調用

CECI交易 799

26.10.1.12 設定停止顯示的條件 799

26.10.1.13 顯示以前的命令 800

26.10.1.14 偽對話的繼續 800

26.10.1.15 程式終止 800

26.10.1.16 任務終止 801

26.10.1.17 申請異常中斷 801

26.10.1.18 開始EDF跟蹤

(雙終端模式) 801

26.10.2 CEDX交易 803

26.10.3 設定用戶跟蹤入口點 804

附錄A 參考資料 806

相關詞條

相關搜尋

熱門詞條

聯絡我們