內容提要
《IBM主機技術一本通(第2版)》由淺入深地講述了IBM主機技術的各個方面,共分30章,包括:TSO、ISPF、JCL、VSAM、COBOL、DB2、CICS和常用的MVS主控台命令,通過演示報表(Magic Report)的方法,從實戰出發,通過大量的源程式例子講解了在套用開發過程中需要使用的IBM主機方面的技術,《IBM主機技術一本通(第2版)》的例子都是作者親自編寫並運行成功的,可以作為讀者學習的參考。
因為《IBM主機技術一本通(第2版)》在系統地介紹所需的基本技術的同時,也為具備多年開發經驗的讀者提供了某些高級的議題,所以《IBM主機技術一本通(第2版)》既可以作為從事IBM主機開發的初學者學習,也可以作為已有幾年甚至多年IBM主機開發經驗的人士參考。
目錄
MVS作業系統導論
第1章TSO、ISPF、ISPF/PDF介紹
1.1 什麼是TSO(Time Sharing Option)
1.2 TSO終端
1.3 TSO使用環境(與MVS/OS390/ZOS,ISPF之間的關係)
1.4 RMF概述
1.5 ISPF和ISPF/PDF概述
1.5.1 程式開發設備(PDF)
1.5.2 ISPF/PDF顯示板的通用結構
1.6 ISPF設定功能——選項0
1.7 z/OS數據集介紹
1.7.1 順序數據集
1.7.2 分區數據集
1.7.3 VSAM數據集類型
1.7.4 磁碟目錄表(VTOC)
1.7.5 數據集命名規則
1.7.5.1 分區數據集命名規則
1.7.5.2 數據集命名慣例
1.8 查看數據集——選項1
1.9 編輯數據集——選項2
1.9.1 常用的行命令
1.9.2 常用的行命令(COMMAND)的例子
1.9.3 基本命令及例子
1.9.3.1 FIND/F——檢索字元,功能鍵PF5/17=重新查找(REFIND)
1.9.3.2 CHANGE/C——改變指定字元串數據的內容
1.9.3.3 EXCLUDE/X——不顯示與檢索條件一致的行
1.9.3.4 COPY/MOVE——從其他檔案複製和移動數據到正在編輯的檔案
1.9.3.5 CUT/PASTE——剪下(CUT)和貼上(PASTE)數據
1.9.3.6 CREATE/REPLACE——數據檔案的建立和替換
1.9.3.7 RESET——重置(RESET)編輯界面中的各種數據顯示
1.9.3.8 HEX——十六進制數顯示
1.9.3.9 SORT——數據排序
1.9.3.10 SUBMIT——使用TSO SUBMIT命令執行JOB
1.9.3.11 EDIT——編輯其他的數據檔案
1.9.3.12 START——建立新的會話
1.9.3.13 終止編輯會話
1.9.3.14 附加的基本命令
1.9.4 TSO編輯配置檔案(PROFILE)的控制和顯示
1.10 系統例程功能——選項3
1.10.1 庫維護選項(3.1)
1.10.1.1 BLANK——顯示分區數據集中的成員清單
1.10.1.2 C——壓縮數據集
1.10.1.3 E——編輯數據集成員
1.10.1.4 V——查看數據集成員內容
1.10.1.5 R——為數據集成員改名
1.10.1.6 D——刪除數據集成員
1.10.1.7 P——列印數據集成員內容
1.10.1.8 X——列印數據集索引
1.10.1.9 L——列印整個數據集
1.10.1.10 I——顯示數據集信息
1.10.1.11 S——顯示數據集簡要信息
1.10.2 數據集例程選項(3.2)
1.10.2.1 分配新數據集
1.10.2.2 為數據集改名
1.10.2.3 刪除數據集
1.10.2.4 將未登目數據集登目(Catalog)
1.10.2.5 將數據集從目錄中移除(Uncatalog)
1.10.2.6 顯示數據集簡簡訊息
1.10.2.7 VSAM例程
1.10.3 數據集移動和複製選項(3.3)
1.10.4 數據集清單列表選項(3.4)
1.10.4.1 數據集成員顯示、列印和操作
1.10.4.2 VTOC信息的顯示和列印
1.10.5 重置(RESET)統計信息選項(3.5)
1.10.6 數據集列印選項(3.6)
1.10.7 作業輸出清單選項(3.8)
1.10.8 TSO命令選項(3.9)
1.10.9 顯示格式設定選項(3.11)
1.10.10 數據集比較選項標準版(3.12)和擴展版(3.13)
1.10.11 字元串檢索選項標準版(3.14)和擴展版(3.15)
1.11 TSO命令
1.11.1 離開ISPF/PDF
1.11.2 輸入TSO命令
1.11.2.1 ISPF/PDF選項6——TSO COMMAND
1.11.2.2 使用TSO前綴
1.11.3 TSO HELP
1.11.4 LISTCAT命令
1.11.5 LISTDS命令
1.11.6 LISTALC命令
1.11.7 DELETE命令
1.11.8 RENAME命令
第2章作業控制語言(Job Control Language——JCL)
2.1 作業控制語言JCL的基本結構
2.2 JOB語句
2.2.1 JOB語句中的位置參數
2.2.1.1 賬戶信息
2.2.1.2 程式設計師名
2.2.2 JOB語句中的關鍵字參數
2.2.2.1 MSGLEVEL
2.2.2.2 MSGCLASS
2.2.2.3 COND
2.2.2.4 ADDRSPC
2.2.2.5 CLASS
2.2.2.6 NOTIFY
2.2.2.7 PRTY
2.2.2.8 REGION
2.2.2.9 TIME
2.2.2.10 TYPRUN
2.2.2.11 USER參數
2.2.2.12 PASSWORD
2.2.2.13 多個關鍵字參數一起使用
2.3 EXEC語句
2.3.1 EXEC語句的位置參數
2.3.1.1 PGM=位置參數
2.3.1.2 PROC=位置參數
2.3.1.3 省略PROC=關鍵字
2.3.2 關鍵字參數
2.3.2.1 PARM參數
2.3.2.2 COND參數
2.3.2.3 程式庫
2.4 DD語句
2.4.1 DD語句參數
2.4.2 DD語句的位置參數
2.4.2.1 流內數據
2.4.2.2 啞(Dummy)數據集
2.4.3 DD語句的關鍵字參數
2.4.3.1 DSN
2.4.3.2 DISP
2.4.3.3 UNIT
2.4.3.4 VOLUME
2.4.3.5 SPACE
2.4.3.6 LABEL
2.4.3.7 DCB
2.4.3.8 SYSOUT
2.4.3.9 數據集串聯(Concatenation)
2.4.3.10 存儲管理子系統(SMS)
2.5 向後引用(Backward Reference)
2.6 條件JCL
2.7 INCLUDE 組
2.8 從JCL向PROGRAM傳遞參數
2.9 JOB 提交
2.10 JES2——作業處理步驟
2.11 JES3——作業處理步驟
2.12 系統顯示和查詢功能(SDSF)
2.12.1 輸出佇列的顯示及操作
2.12.2 掛起佇列的顯示及操作
2.12.3 顯示活動的作業清單及操作
2.12.4 顯示所有作業清單及操作
2.12.5 輸入佇列清單及其操作
2.12.6 初始器(INIT)的顯示及操作
2.12.7 系統日誌(LOG)
2.12.8 用戶日誌(ULOG)
2.13 系統例程(Utility)及常用工具
2.13.1 選擇需要的例程
2.13.2 例程使用的ddname
2.13.3 例程控制語句
2.13.4 複製和列印順序數據集
2.13.5 編輯順序數據集
2.13.6 轉換順序數據集為分區數據集的成員
2.13.7 轉換順序數據集到分區數據集——增加新成員
2.13.8 IEBCOPY複製分區數據集或分區數據集成員
2.13.9 分區數據集的壓縮
2.13.10 維護源程式庫
2.13.11 列印分區數據集(PDS)目錄清單
2.13.12 IEBCOMPR比較分區數據集
2.13.13 比較順序數據集
2.13.14 比較分區數據集中的成員
2.13.15 IEFBR14順序檔案的建立和刪除
2.13.16 檔案的成批覆制和重命名
2.13.17 分類
2.13.17.1 數據集的排序
2.13.17.2 數據集的合併
2.13.17.3 數據集的複製
2.13.17.4 數據集記錄的篩選——包含滿足條件的記錄
2.13.17.5 數據集記錄的篩選——生成頭記錄
2.13.17.6 數據集記錄的篩選——跳過第1條記錄
2.13.17.7 交易合計
2.13.17.8 將輸入檔案分成兩個檔案
2.14 JCL過程的定義
2.15 JCL過程的調用
2.16 過程調用中COND參數的使用
2.17 JCL符號參數
2.18 JCL過程的測試
2.19 過程定義和調用的例子
2.19.1 定義和調用流內過程
2.19.2 調用定義在系統過程庫中的過程
2.19.3 調用定義在系統過程庫中的過程並覆蓋原過程中的參數
2.19.4 調用私有過程庫中的過程並覆蓋原過程中的參數
2.20 作業運行清單(JOB LOG)的閱讀和查錯
2.21 JCL過程參數置換和RESTART語句
第3章VSAM檔案處理
3.1 概念和設備
3.1.1 KSDS組成部分
3.1.2 ESDS組成部分
3.1.3 RRDS組成部分
3.1.4 控制間隔(CI)
3.1.5 控制區域(CA)
3.1.6 跨越記錄(Spanned)
3.1.7 KSDS檔案的物理實現
3.1.8 VSAM檔案共享選項(SHARE OPTIONS)
3.1.8.1 跨區域(Cross-Region)選項
3.1.8.2 跨系統(Cross-System)選項
3.1.9 VSAM目錄(VSAM Catalogs)
3.1.9.1 主目錄
3.1.9.2 用戶目錄
3.1.9.3 VSAM數據空間
3.1.9.4 VSAM族
3.1.9.5 非VSAM數據集(Non-VSAM Datasets)
3.2 存取方式服務設施(Access Method Services)
3.2.1 語句的語法
3.2.2 定義用戶目錄
3.2.3 定義數據空間
3.2.4 定義別名
3.2.5 定義VSAM檔案
3.2.6 裝載記錄到VSAM檔案中
3.2.6.1 使用REPRO備份檔案
3.2.6.2 從備份檔案中恢複數據
3.2.7 建立VSAM檔案的可移植備份
3.2.8 恢復VSAM檔案的可移植備份
3.2.9 維護可移植備份的次索引
3.2.10 備份和恢複目錄
3.2.11 刪除VSAM和非VSAM目標
3.2.12 顯示目錄清單
3.2.13 列印或顯示數據集內容
3.2.14 修改檔案屬性
3.2.15 輔助(次)索引
3.2.16 核實VSAM數據集
3.3 世代數據集GDG
3.3.1 GDG的定義及建立
3.3.2 GDG檔案的套用
第4章常用的MVS主控台命令
4.1 JES2命令
4.1.1 $D JOB顯示特定作業(JOB)的信息
4.1.1.1 顯示作業的輸出信息
4.1.1.2 顯示使用緩衝區(SPOOL1)超過1%的作業信息
4.1.1.3 $D STC查看已啟動任務的作業號和狀態
4.1.1.4 顯示系統中的TSU用戶及其作業號
4.1.2 $D SPOOL顯示緩衝區(Spool)的狀態
4.1.3 $DA顯示系統中所有活動的作業的狀態
4.1.3.1 顯示系統中所有活動作業的狀態
4.1.3.2 顯示特定設備上所有活動作業的狀態
4.1.4 $D U顯示JES2控制的設備的狀態
4.1.5 $D I顯示JES中初始器(Initiator)的狀態
4.1.5.1 顯示JES中所有的初始器(Initiator)所定義的分區和狀態
4.1.5.2 顯示Initiator 3的詳細信息
4.1.6 $D Q顯示系統中所有的佇列中的作業信息
4.1.6.1 顯示系統中所有的佇列中的作業信息
4.1.6.2 顯示緩衝區中所有掛起(Hold)作業的信息
4.1.7 $C JOB取消作業、TSO用戶和STC
4.1.8 $A A釋放系統中所有掛起的作業
4.1.9 $A JOB釋放掛起的作業
4.1.9.1 釋放作業34到40
4.1.9.2 釋放作業號為10到15的所有批處理作業、STC和TSU用戶
4.1.10 $H A暫停系統中的所有的作業
4.1.11 $H JOB暫停特定的作業
4.1.11.1 暫停作業10開始的所有作業
4.1.11.2 暫停作業STC00051
4.1.12 $S I啟動初始器(Initiator)
4.1.12.1 將初始器Initiator 5從DRAINED狀態變成INACTIVE狀態
4.1.12.2 啟動Initiator 8到10
4.1.13 $S XEQ讓JES2開始從QUEUE中選擇作業執行
4.1.14 $P JES2停止JES2的處理
4.1.15 $P I停止特定的初始器
4.1.16 $P O Job清除作業的輸出信息
4.1.16.1 刪除作業IBMUSERN的輸出信息
4.1.16.2 將class A和B中的所有作業輸出刪除掉
4.1.16.3 解決JES2緩衝區(SPOOL)滿的問題
4.1.17 $T JOB修改作業的類別和優先權
4.1.17.1 將作業45的運行CLASS改為X
4.1.17.2 將作業45的優先權加2
4.1.17.3 將執行佇列中用戶為IBMUSER的作業的運行CLASS改為Y
4.1.17.4 將執行佇列中運行CLASS為Y的作業的CLASS改為A
4.2 MVS命令
4.2.1 DISPLAY JOBS顯示當前正在運行的作業、TSO用戶和STC任務
4.2.1.1 顯示當前正在運行的作業、TSO用戶和STC任務
4.2.1.2 顯示TSO用戶IBMUSER的詳細信息
4.2.1.3 顯示所有IBMUSER用戶提交的交易
4.2.2 Display Request顯示控制台上沒有回答信息的總數
4.2.2.1 顯示控制台上沒有回答信息的總數
4.2.2.2 查詢未回答信息的作業名
4.2.2.3 顯示以IBM開頭的作業的未回答信息
4.2.3 DISPLAY SMF顯示系統中的SMF配置
4.2.3.1 顯示系統中的SMF配置、使用的檔案及每個檔案的使用百分比
4.2.3.2 顯示SMF的當前配置情況
4.2.4 DISPLAY CONSOLES顯示控制台MASTCONS上的詳細信息
4.2.4.1 顯示控制台MASTCONS上的詳細信息
4.2.4.2 查詢主控台未回答信息的個數及系統可容許的總數
4.2.5 DISPLAY M顯示當前系統設備的配置信息
4.2.5.1 顯示當前系統的所有設備的配置信息
4.2.5.2 顯示設備01C0的狀態信息
4.2.6 DISPLAY OPDATA顯示操作員信息
4.2.7 DISPLAY ASM顯示系統中的PAGE數據集的信息
4.2.8 DISPLAY U顯示直接存取設備的信息
4.2.9 DISPLAY DUMP顯示DUMP數據集的信息
4.2.10 DISPLAY GRS監測資源爭用狀況
4.2.10.1 顯示資源爭用(Contention)信息
4.2.10.2 顯示等待某資源的作業
4.2.10.3 顯示某一特定資源的使用情況
4.2.10.4 DEVSERV查看NON-SMS管理的卷
COBOL程式設計導論
第5章COBOL語言簡介
5.1 COBOL特性
5.2 標識部(Identification Division)
5.3 環境部(Environment Division)
5.4 數據部(Data Division)
5.5 過程部(Procedure Division)
5.5.1 節(Section)
5.5.2 段(Paragraph)
5.5.3 語句和句子
5.6 完整的COBOL程式
5.7 最精緻的COBOL程式
5.8 普通COBOL程式編譯流程圖及樣板作業流
5.9 COBOL編碼規則
5.10 名字的結構
5.11 數據描述和數據傳送(Move)語句
5.11.1 COBOL數據類型及模式(Picture)短語
5.11.2 級別號表達數據的層次
5.11.3 特殊級別號數據項
5.11.4 組合項和基本項
5.11.5 數據用法(USAGE)短語
5.11.6 數字編輯(EDITED)格式
5.11.7 數據傳送(MOVE)語句
5.11.8 程式例子(MOVE)語句
5.11.9 運行結果(MOVE)語句
第6章COBOL語言數據處理
6.1 DISPLAY語句
6.2 ACCEPT語句
6.3 DISPLAY和ACCEPT語句的程式例子
6.3.1 使用ACCEPT和DISPLAY的完整程式
6.3.2 運行ACCEPT和DISPLAY的程式的作業流
6.3.3 使用ACCEPT和DISPLAY的程式的輸出結果
6.4 PERFORM語句
6.4.1 程式例子(PERFORM語句)
6.4.2 程式執行結果(PERFORM語句)
6.5 IF語句
6.6 SET語句
6.7 EVALUATE語句
6.8 CONTINUE和NEXT SENTENCE語句
6.8.1 程式例子(CONTINUE和NEXT SENTENCE語句)
6.8.2 運行結果報表(CONTINUE和NEXT SENTENCE語句)
6.9 算術運算語句
6.9.1 四捨五入(ROUNDED)選項
6.9.2 數據溢出(ON SIZE ERROR)選項
6.9.3 帶有餘數(REMAINDER)選項的DIVIDE語句
6.9.4 綜合運算(COMPUTE)語句
6.9.5 程式例子(算術運算)
6.9.6 程式運行結果(算術運算)
6.10 STRING命令
6.10.1 程式例子(STRING命令)
6.10.2 程式運行結果(STRING命令)
6.11 UNSTRING命令
6.11.1 程式例子(UNSTRING命令)
6.11.2 程式運行結果(UNSTRING命令)
6.12 INSPECT語句
6.12.1 程式例子(INSPECT命令)
6.12.2 程式運行結果(INSPECT命令)
6.13 COPY語句
6.13.1 程式例子(COPY命令)
6.13.2 程式編譯清單(COPY命令)
第7章向COBOL專家邁進
7.1 主程式和子程式
7.1.1 主程式的CALL語句
7.1.2 子程式
7.1.3 主程式例子1(MAIN1)
7.1.4 子程式例子1(MYSUB1)
7.1.5 程式運行結果(MAIN1)
7.1.6 主程式例子2(MAIN2)
7.1.7 程式運行結果(MAIN2)
7.1.8 子程式例子2(MYSUB2)
7.1.9 JCL調用例子(MYSUB2)
7.1.10 程式運行結果(MYSUB2)
7.2 表處理
7.2.1 表的定義
7.2.2 下標、索引和SET索引語句
7.2.3 SEARCH動詞
7.2.4 表的初始化
7.2.5 二維表
7.2.6 表初始化程式例子(TABLE8)
7.2.7 表初始化作業流
7.2.8 表初始輸入數據
7.2.9 表初始化運行結果
7.2.10 二維表初始化程式例子(TABLE6)
7.2.11 二維表初始化作業流
7.2.12 二維表初始輸入數據
7.2.13 二維表初始化運行結果
7.2.14 順序和折半檢索程式例子(TABLE3)
7.2.15 運行作業流(TABLE3)
7.2.16 運行結果(TABLE3)
7.3 提要
第8章順序檔案的維護
8.1 COBOL的擴充
8.1.1 SELECT語句
8.1.2 在COBOL程式中使用ddname
8.1.3 FD項目
8.1.4 OPEN和CLOSE語句
8.2 平衡線算法
8.3 銀行主檔案維護平衡執行緒序(BKUPD1)
8.4 交易檔案的格式
8.5 主檔案的格式
8.6 運行銀行主檔案維護平衡執行緒序的作業流(GOBKUPD1)
8.7 交易檔案(BKTRAN)
8.8 按照賬戶分類以後的交易檔案(BKTRAN-SORT)
8.9 舊主檔案(BKMASTO)
8.10 新主檔案(BKMASTN)
8.11 銀行主檔案維護的運行結果
8.12 銀行主檔案維護平衡執行緒序的擴充(BKUPD2)
8.13 運行銀行主檔案維護平衡線擴充程式的作業流(GOBKUPD2)
8.14 銀行主檔案維護平衡線擴充程式的運行結果
8.15 交易日報表
8.16 提要
第9章索引檔案
9.1 概要
9.2 檔案組織的概念
9.3 COBOL要求
9.3.1 環境部
9.3.2 過程部
9.4 檔案狀態關鍵字概述
9.5 非順序檔案維護
9.6 平衡線算法的索引檔案版程式(BKUPD3)
9.7 平衡線算法的索引檔案版程式運行作業流(GOBKUPD3)
9.8 運行結果清單
9.9 與順序檔案輸出結果的比較
9.10 提要
第10章結構程式設計及源程式級查錯
10.1 歷史回顧
10.2 定義
10.3 基本結構的充分性
10.4 COBOL中的實現
10.5 結構程式設計的優點
10.6 結構理論的擴充
10.7 GO TO論戰
10.8 源程式級查錯
10.9 常見運行錯誤
10.9.1 未能初始化(再初始化)計數器
10.9.2 計數器定義得太小
10.9.3 循環內的錯誤
10.9.4 SEARCH動詞的錯誤使用
10.9.5 不正確使用MOVE語句
10.9.6 與帶符號數字打交道要特別小心
10.9.7 不適當使用嵌套IF語句
10.9.8 遺漏或多餘句號
10.9.9 WRITE後存取FD區域
10.9.10 從被PERFORM模組中不適當地跳出
10.9.11 未能設定或重新設定開關
10.9.12 不適當調用子程式
10.9.13 檔案開始或結束條件錯誤
10.9.14 索引或下標非法
10.9.15 不適當使用註解
10.10 查找運行時錯誤產生的原因
10.10.1 確定導致程式異常終止的指令的位移
10.10.2 生成帶有程式指令位移的COBOL程式編譯清單
10.10.3 確定導致程式異常結束的COBOL源程式語句
10.10.4 確定導致程式異常結束的原因
10.11 提要
第11章程式設計風格的探討
11.1 保持動詞的層次關係
11.2 選擇有意義的名字
11.3 格式化數據部分
11.4 有吸引力的空白行
11.5 將句號(.)單獨寫在一行
11.6 避免使用逗號(,)
11.7 使用第73~80列
11.8 限制開關和下標於單個用途
11.9 避免使用常數
11.10 放置模組使得能找到它們
11.11 使用適當的註解
11.12 PERFORM 段而不是節
11.13 避免使用MOVE CORRESPONDING
11.14 去掉77級項目
11.15 使用88級項目以減少複合條件
11.16 對複合算術運算使用COMPUTE動詞
11.17 避免使用文字常數
11.18 動態初始化表
11.19 使用READ INTO、WRITE FROM和WS BEGINS HERE
11.20 傳送單個01級到子程式
11.21 避免“聰明的代碼”
11.22 不要過於看重效率,但仔細地選擇算法
11.23 預防式地編碼
11.24 首先考慮,然後編碼
11.25 提要
DB2實用程式設計
第12章DB2的概念
12.1 DB2目標層次結構
12.2 資料庫的連線
12.3 SQL語言類型
12.4 數據定義語言(DDL)
12.4.1 DB2存儲組
12.4.2 資料庫(Database)
12.4.3 資料庫表空間(Tablespace)
12.4.4 資料庫的表(Table)
12.4.5 引用完整性(Referential Integrity)
12.4.6 索引(Index)
12.4.7 視圖(View)
12.4.7.1 視圖之上的視圖
12.4.7.2 視圖上的SELECT、插入、修改和刪除
12.4.7.3 UNION/UNION ALL 視圖
12.4.7.4 CHECK OPTION引起視圖中的行消失
12.4.7.5 WITH CHECK OPTION的例子
12.4.8 同義詞(SYNONYM)
12.4.9 別名(ALIAS)
12.4.10 資料庫目標的刪除(DROP)
12.4.11 DDL語句的套用實例
12.5 數據控制語言(Data Control Language——DCL)
12.5.1 賦予(GRANT)和廢除(REVOKE)語句
12.5.2 賦予及廢除許可權
12.6 數據操作語言(Data Manipulation Language——DML)
12.6.1 數據檢索
12.6.1.1 檢索整個表
12.6.1.2 從表中挑選特定的列
12.6.1.3 改變列的排序
12.6.1.4 從表中挑選特定的行
12.6.1.5 使用多個條件挑選特定的行
12.6.1.6 從多個表中選擇要求的列
12.6.1.7 使用關係名
12.6.1.8 查詢結果排序
12.6.1.9 計算出的列
12.6.1.10 為計算出的列命名
12.6.1.11 函式(Functions)
12.6.1.12 分組合計(Grouping Values)
12.6.1.13 約束一組數據的使用
12.6.1.14 去掉重複的記錄
12.6.1.15 字元串模式查找
12.6.1.16 按數據範圍搜尋
12.6.1.17 搜尋空值(Null Values)
12.6.1.18 按否定的條件查詢
12.6.1.19 檢索一組值
12.6.2 數據更新
12.6.2.1 插入數據記錄
12.6.2.2 插入一組值
12.6.2.3 插入大量數據
12.6.2.4 修改數據記錄
12.6.2.5 修改大量的數據
12.6.2.6 刪除數據
12.6.2.7 刪除表中的所有行
12.6.3 存儲過程
12.6.3.1 建立或修改存儲過程
12.6.3.2 模式限定符
12.6.3.3 刪除存儲過程
12.6.4 用戶定義函式
12.6.4.1 外部用戶定義函式(External UDFs)
12.6.4.2 有源用戶定義函式(Sourced UDFs)
12.6.4.3 表函式(Table Functions)
12.6.4.4 執行用戶定義函式
12.6.5 觸發器
12.7 DB2I工具
12.7.1 DB2I工具概要
12.7.2 SPUFI
第13章DB2程式準備
13.1 DB2程式編譯流程圖及樣板作業流
13.2 預編譯和綁定
13.2.1 預編譯
13.2.1.1 預編譯器
13.2.1.2 修改過的源程式代碼
13.2.1.3 DBRM
13.2.2 綁定
13.2.2.1 綁定到包和直接綁定方案的區別
13.2.2.2 方案、包和集合
13.2.2.3 運行時COBOL裝載模組調用DBRM
13.3 綁定與再綁定
13.3.1 自動再綁定
13.3.2 綁定與再綁定選項
13.3.3 讓綁定決定存取的目標
13.3.4 綁定的其他考慮因素
13.4 刪除包或方案
第14章DB2程式結構
14.1 分隔設定
14.2 主變數和主變數組合項
14.2.1 主變數的用法
14.2.2 主變數組合項的用法
14.2.3 主變數——接收單行數據
14.2.4 主變數——接收多行數據
14.2.5 主變數——插入記錄行
14.2.6 主變數——修改數據
14.2.7 主變數——各種語言的定義
14.3 DCLGEN
14.3.1 從DB2I主選單進入DCLGEN選項
14.3.2 DCLGEN輸出例子
14.4 處理空數據
14.5 SQLCA——SQL通信區
14.6 SQL INCLUDE 語句
14.7 查詢客戶資料程式
14.7.1 查詢DB2客戶資料源程式(BKINQ)
14.7.2 資料庫表CUSTINFO的記錄格式及DCLGEN輸出
14.7.3 資料庫表通信區SQLCA的記錄格式
14.7.4 運行客戶資料查詢程式的JCL
14.7.5 程式運行結果
14.8 修改客戶資料程式(BKUPDT)
14.8.1 修改客戶資料源程式
14.8.2 程式運行前客戶資料表中的記錄
14.8.3 運行客戶資料修改程式的JCL
14.8.4 客戶資料修改的輸入檔案
14.8.5 客戶資料修改後表中的內容
14.9 修改明細客戶資料程式——空值和變長記錄處理
14.9.1 修改明細客戶資料源程式
14.9.2 客戶明細資料表CUSTINF1的記錄格式及DCLGEN輸出結果
14.9.3 計算字元串長度子程式
14.9.4 明細客戶資料表中原來的內容
14.9.5 輸入檔案CUSTINFO
14.9.6 運行明細客戶資料程式的JCL
14.9.7 修改後的明細客戶資料表
14.10 使用游標
14.10.1 定義游標
14.10.2 打開游標
14.10.3 執行SQL語句
14.10.3.1 取數據(FETCH)
14.10.3.2 定位修改(Positioned UPDATE)
14.10.3.3 定位刪除(Positioned DELETE)
14.10.3.4 游標定位修改或刪除的一些限制
14.10.4 關閉游標
14.10.5 保持游標(Cursor WITH HOLD)
14.10.6 游標的重新定位
14.11 瀏覽客戶資料表(BKNMINQ)——使用游標處理多個記錄
14.11.1 瀏覽客戶資料表源程式
14.11.2 運行瀏覽客戶資料表程式的JCL
14.11.3 程式運行前客戶資料表的內容
14.11.4 瀏覽客戶資料表程式的查詢結果
第15章DB2恢復和鎖定的概念
15.1 可恢復單元(Unit of Recovery)
15.2 提交(COMMIT)和回滾(ROLLBACK)
15.3 保存點(SAVEPOINT)
15.4 數據恢復
15.4.1 日誌
15.4.2 日誌數據集
15.4.3 引導數據集BSDS
15.4.4 SYSIBM.SYSLGRNX
15.4.5 資料庫恢復三部曲
15.5 數據鎖
15.5.1 鎖的屬性
15.5.2 鎖的大小(Lock Sizes)
15.5.2.1 表鎖(Lock Table)語句
15.5.2.2 鎖定選定的分區
15.5.2.3 大對象(LOB)鎖
15.5.3 鎖模式(Lock Modes)
15.5.3.1 表或表空間鎖
15.5.3.2 頁鎖或行鎖
15.5.4 表空間和表鎖的持續時間(Lock Durations)
15.5.5 頁鎖或行鎖的持續時間——隔離級別
15.5.5.1 可重複讀
15.5.5.2 讀穩定性
15.5.5.3 游標穩定性
15.5.5.4 未提交讀
15.5.6 WITH RR/RS/CS/UR短語的使用
15.5.7 鎖的覆蓋與避免
15.5.8 悲觀鎖定與樂觀鎖定
第16章動態SQL介紹
16.1 使用動態SQL
16.2 在應用程式中嵌套動態SQL
16.3 完整的非SELECT語句
16.3.1 完整的非SELECT語句源程式(BKDYNA1)
16.3.2 完整的非SELECT語句——程式運行前表中的內容
16.3.3 完整的非SELECT語句——運行程式的作業流
16.3.4 完整的非SELECT語句——程式運行後的顯示信息及表中的記錄
16.4 參數化的非SELECT語句
16.4.1 參數化的非SELECT語句源程式(BKDYNA2)
16.4.2 參數化的非SELECT語句——程式運行前表中的內容
16.4.3 參數化的非SELECT語句——運行程式的作業流
16.4.4 參數化的非SELECT語句——程式運行後的顯示信息及表中的記錄
16.5 固定列表的SELECT語句
16.5.1 固定列表的SELECT語句源程式(BKDYNA3)
16.5.2 固定列表的SELECT語句——運行程式的作業流
16.5.3 固定列表的SELECT語句——程式運行結果
第17章管理DB2測試數據
17.1 數據移動例程
17.1.1 裝載(Load)例程
17.1.2 裝載的完整作業流
17.1.2.1 增加或覆蓋
17.1.2.2 裝載排好序的行
17.1.2.3 裝載分區表
17.1.2.4 數據類型轉換
17.1.2.5 引用完整性(Referential Integrity)
17.1.2.6 不強制執行(ENFORCE NO)
17.1.3 數據卸載(Unload)例程
17.1.4 使用DSNTIAUL程式卸載數據
17.2 數據統計
17.2.1 數據統計概述
17.2.2 統計(RUNSTATS)例程
17.2.2.1 輸出報告並修改DB2編目表
17.2.2.2 運行統計例程時存取資料庫
17.2.2.3 樣本數據
17.2.2.4 在DB2編目表上運行統計例程
17.2.2.5 統計例程完整作業流
17.3 重組(REORG)
17.3.1 重組表空間
17.3.2 重組表空間的完整作業流
17.3.3 重組索引
第18章DB2性能調優的理論及實踐
18.1 存取路徑及最佳化
18.2 DB2解釋(EXPLAIN)工具
18.3 收集解釋數據
18.4 分析解釋數據
18.5 存取路徑評估
18.5.1 索引存取
18.5.2 表存取
18.5.3 預取
18.6 存取路徑提示(最佳化提示)
18.7 使用解釋表輸出的指引
18.8 改善性能的索引設計
18.8.1 匹配索引掃描(MATCHCOLS > 0)
18.8.2 索引篩選
18.8.3 不匹配索引掃描(ACCESSTYPE = I而且MATCHCOLS = 0)
18.8.4 IN列表索引掃描(ACCESSTYPE = N)
18.8.5 多索引存取(ACCESSTYPE為M、MX、MI或MU)
18.8.6 一次獲取存取(ACCESSTYPE = I1)
18.8.7 只存取索引(INDEXONLY = Y)
18.8.8 相等唯一索引(MATCHCOLS = 索引列數)
18.9 使用索引以避免分類
18.10 避免死鎖
18.11 DB2索引、謂詞和DB2運行架構
18.11.1 DB2索引回顧
18.11.2 DB2謂詞分析
18.11.3 索引管理器
18.11.4 常見問題及解答
18.12 大型銀行核心繫統DB2調優實踐
18.12.1 性能調優工作流程
18.12.2 典型案例1:公共轉睡眠戶-CBF0070J
18.12.3 典型案例2:活期主檔掃描-SDD0011J
CICS程式設計導論
第19章CICS應用程式環境
19.1 CICS 基本概念回顧
19.2 CICS在線上交易
19.3 CICS模組組成
19.3.1 CICS管理功能
19.3.2 CICS基本組成
19.3.3 CICS管理模組
19.3.4 CICS系統控制表
19.3.5 CICS數據區域
19.4 CICS交易工作流程
19.5 CICS程式並行工作原理
第20章CICS套用系統設計
20.1 對話與偽對話
20.2 通信區(COMMAREA)
20.3 偽對話程式的實現方法
第21章CICS命令概述
21.1 編寫CICS命令
21.2 程式準備
21.3 基本界面支持(Basic Mapping Support)
21.3.1 3270欄位基本概念
21.3.2 界面定義樣本
21.3.2.1 如何編寫BMS宏命令
21.3.2.2 如何編寫彙編語言語句
21.3.2.3 如何使用DFHMSD宏命令定義界面集(Mapset)
21.3.2.4 如何使用DFHMDI宏命令定義界面集中的界面(Map)
21.3.2.5 如何使用DFHMDF宏命令定義界面中的欄位
21.3.2.6 BMS欄位定義模板
21.3.3 銀行櫃員簽到程式的界面格式及界面集完整代碼
21.4 界面準備
21.5 符號界面及符號界面格式
21.6 界面的輸出
21.7 界面的輸入
21.8 常用標識鍵描述(DFHAID)
21.9 界面顯示屬性常量(DFHBMSCA)
21.10 異常狀態
第22章CICS程式對程式的控制
22.1 CICS程式對程式的控制概述
22.2 LINK命令
22.3 XCTL命令
22.4 通信區長度不匹配的討論
22.5 COBOL CALL與LINK或XCTL的比較
22.6 用戶表的裝載(LOAD)和釋放(RELEASE)
22.7 啟動新交易(START)並接收(RETRIEVE)所傳遞的數據
22.8 RETURN命令
第23章CICS數據處理
23.1 CICS存取VSAM的方法
23.2 VSAM基本概念回顧
23.2.1 VSAM檔案的組織形式和存取方法
23.2.1.1 鍵順序數據組織
23.2.1.2 進入順序數據組織
23.2.1.3 相對順序數據組織
23.2.1.4 三種數據組織形式的比較
23.2.2 VSAM的物理結構與邏輯結構
23.3 VSAM檔案獨占控制
23.4 交易死鎖
23.5 工作單元的資源保護
23.6 在線上程式的組織結構
23.7 CICS中訪問VSAM檔案的常用命令
23.7.1 READ命令
23.7.2 WRITE命令
23.7.3 REWRITE命令
23.7.4 DELETE命令
23.7.5 UNLOCK命令
23.8 CICS中瀏覽VSAM檔案的常用命令
23.8.1 STARTBR命令
23.8.2 READNEXT命令
23.8.3 READPREV命令
23.8.4 ENDBR命令
23.8.5 RESETBR命令
23.8.6 CICS中按照次索引瀏覽VSAM檔案
23.9 銀行交易瀏覽程式例子
23.9.1 在線上交易檔案的格式
23.9.2 定義交易檔案新格式和次索引的作業流
23.9.3 瀏覽交易界面原始碼
23.9.4 瀏覽交易簡化的符號界面
23.9.5 瀏覽交易COBOL程式完整原始碼
23.9.6 銀行瀏覽交易在線上CICS資源定義
23.9.7 銀行瀏覽交易在線上運行結果演示
23.10 CICS存取DB2的方法
23.11 CICS訪問DB2的程式結構
23.12 CICS訪問DB2程式的編譯步驟
23.13 CICS應用程式訪問DB2的準備工作
23.13.1 定義CICS與DB2之間的連線(DB2CONN)
23.13.2 定義進入執行緒(DB2ENTRY)
23.13.3 定義DB2交易(DB2TRAN)
23.14 其他CICS常用命令
23.14.1 任務控制命令(ENQ和DEQ)
23.14.2 獲取系統日期和時間信息
23.14.2.1 ASKTIME命令
23.14.2.2 FORMATTIME命令
23.14.3 存取CICS系統公共信息(ADDRESS命令)
23.14.4 記憶體管理命令(GETMAIN和FREEMAIN)
23.14.4.1 GETMAIN命令
23.14.4.2 FREEMAIN命令
23.14.5 DELAY命令
23.14.6 CANCEL命令
23.14.7 ASSIGN命令
23.14.8 ALLOCATE(APPC)命令
23.14.9 CONNECT PROCESS命令
23.14.10 SEND(APPC)命令
23.14.11 RECEIVE(APPC)命令
23.14.12 DEFINE COUNTER命令
23.14.13 SUSPEND命令
第24章CICS佇列
24.1 CICS佇列設備
24.2 分區內過渡佇列
24.3 分區外過渡佇列
24.3.1 定長記錄檔案
24.3.2 變長記錄檔案
24.3.3 結尾記錄檔案
24.4 間接目的地
24.5 過渡佇列服務
24.5.1 輸出數據到過渡佇列
24.5.2 從過渡佇列中讀出數據
24.5.3 從過渡佇列中刪除數據
24.6 觸發交易啟動
24.7 臨時存儲佇列概述
24.8 臨時存儲佇列服務
24.8.1 寫數據到臨時存儲佇列
24.8.2 修改臨時存儲佇列中的數據
24.8.3 從臨時存儲佇列中讀取數據
24.8.4 刪除臨時存儲佇列中的數據
24.9 臨時存儲佇列的典型用法
24.10 臨時存儲佇列命名
24.11 刪除臨時存儲佇列
24.12 臨時數據的存放位置
24.13 佇列的老化
24.14 佇列屬性
24.15 過渡數據佇列和臨時存儲佇列的比較
24.16 CEBR
24.16.1 默認TS佇列
24.16.2 CEBR的幫助
24.16.3 佇列顯示
24.16.4 獲取TD佇列
第25章銀行系統實例
25.1 銀行系統流程圖
25.2 櫃員簽到模組
25.2.1 程式(EMLOGON)
25.2.2 交易(EMPL)
25.2.3 界面(EMPSET1)
25.2.4 櫃員信息表(EMPLINFO)
25.3 賬戶維護選單模組
25.3.1 程式(EMMENU)
25.3.2 交易(EMME)
25.3.3 界面(EMESET1)
25.4 建立新賬戶模組
25.4.1 程式(CREATE)
25.4.2 子程式(AUTOPE)
25.4.3 子程式(STRLEN)
25.4.4 子程式(NUMEDIT)
25.4.5 交易(CREA)
25.4.6 界面(CRESET1)
25.4.7 檔案(AUTOPE)
25.4.8 客戶賬戶資料表(CUSTINFO)
25.4.9 交易流水錶(OPERATIN)
第26章CICS提供的交易及調試CICS應用程式
26.1 CICS系統的啟動和關閉
26.2 CICS提供的交易
26.3 CICS簽到交易CESN
26.4 CICS簽退交易CESF
26.5 查看終端狀態交易CEOT
26.6 信息查找CMAC交易
26.7 命令層的解釋程式CECI和CECS交易
26.8 CEMT(MASTER TERMINAL)交易
26.8.1 移除資源(DISC)
26.8.2 查詢CICS資源狀態
26.8.2.1 查看CICS定義的檔案狀態
26.8.2.2 查看CICS定義的程式狀態
26.8.2.3 查看CICS定義的終端狀態
26.8.2.4 查看CICS定義的轉存檔案狀態
26.8.2.5 查看CICS運行的任務狀態
26.8.2.6 查看CICS定義的交易狀態
26.8.2.7 查看CICS定義的外部連線狀態
26.8.3 修改CICS資源狀態
26.8.3.1 更新在線上程式的新版本
26.8.3.2 更改檔案狀態
26.8.3.3 切換當前使用的轉存(DUMP)檔案
26.8.3.4 停止正在運行的任務(TASK)
26.8.3.5 更改交易的狀態
26.8.3.6 更改終端的狀態
26.8.4 執行特殊的CICS功能
26.9 在線上資源定義交易(CEDA)
26.9.1 CEDA命令的子命令
26.9.2 CEDA DELETE命令和CEDA REMOVE命令的異同點
26.9.3 添加資源到成員清單的步驟
26.9.4 CEDA常用命令的使用方法
26.9.4.1 定義程式
26.9.4.2 定義界面集
26.9.4.3 定義檔案
26.9.4.4 查看交易清單及交易詳細定義
26.9.4.5 查看程式清單及程式詳細定義
26.9.4.6 查看界面清單及界面定義
26.9.4.7 查看DB2進入執行緒清單及詳細定義
26.9.4.8 查看DB2交易清單及詳細定義
26.9.4.9 安裝資源到CICS中
26.10 CICS在線上交易診斷工具
26.10.1 CEDF交易
26.10.1.1 開始EDF跟蹤(單終端模式)
26.10.1.2 PF7/PF8滾動顯示
26.10.1.3 覆蓋參數(Argument)的值
26.10.1.4 覆蓋返回碼(Response)
26.10.1.5 顯示翻譯器中的源程式行數
26.10.1.6 PF6顯示用戶界面
26.10.1.7 PF2以十六進制格式顯示螢幕上的內容
26.10.1.8 PF5顯示工作存儲區
26.10.1.9 在存儲區界面用PF4顯示EIB
26.10.1.10 在存儲區界面使用PF2調用CEBR交易
26.10.1.11 在存儲區界面使用PF5調用CECI交易
26.10.1.12 設定停止顯示的條件
26.10.1.13 顯示以前的命令
26.10.1.14 偽對話的繼續
26.10.1.15 程式終止
26.10.1.16 任務終止
26.10.1.17 申請異常中斷
26.10.1.18 開始EDF跟蹤(雙終端模式)
26.10.2 CEDX交易
26.10.3 設定用戶跟蹤入口點
第27章COBOL函式及編譯選項
27.1 COBOL提供的內部函式
27.1.1 內部函式的類型
27.1.2 嵌套函式
27.1.3 函式對數組項目的處理
27.2 數據項目轉換內部函式
27.2.1 轉換大小寫(UPPER-CASE,LOWER-CASE)
27.2.2 轉換字元串的排列次序(REVERSE)
27.2.3 轉換成數字(NUMVAL,NUMVAL-C)
27.2.4 數字去編輯(DE-EDITING)
27.2.5 代碼頁(Code page)轉換(DISPLAY-OF和NATIONAL-OF)
27.3 求數據項的值
27.3.1 求單個字元在代碼集中的序號(ORD)
27.3.2 按代碼集中的序號返回對應的字元(CHAR)
27.3.3 求數據項的最大值和最小值
27.3.4 返回最大和最小序號值ORD-MAX和ORD-MIN
27.3.5 找出數據項的長度
27.3.6 字母數字(alphanumeric)函式返回變長結果
27.4 找出程式編譯日期
27.5 EBCDIC和ASCII排列次序
27.5.1 EBCDIC排列次序(collating sequence)
27.5.2 美國英語ASCII代碼頁(code page)
27.6 貨幣符號的使用
27.7 日期相關的函式
27.7.1 獲取系統當前日期和時間(CURRENT-DATE)
27.7.2 獲取整數日子(INTEGER-OF-DATE)
27.7.3 獲取整數日期(DATE-OF-INTEGER)
27.7.4 轉換儒略日到整數日子(INTEGER-OF-DAY)
27.7.5 轉換整數日子到儒略日(DAY-OF-INTEGER)
27.8 數據統計
27.9 IBM企業級COBOL編譯選項
27.9.1 滿足COBOL 85標準的編譯選項
27.9.2 互相排斥的編譯選項
27.9.3 編譯選項說明
27.9.3.1 ADATA
27.9.3.2 ADV
27.9.3.3 ARITH
27.9.3.4 AWO
27.9.3.5 BUFSIZE
27.9.3.6 CICS
27.9.3.7 CODEPAGE
27.9.3.8 COMPILE
27.9.3.9 CURRENCY
27.9.3.10 DATA
27.9.3.11 DATEPROC
27.9.3.12 DBCS
27.9.3.13 DECK
27.9.3.14 DIAGTRUNC
27.9.3.15 DLL
27.9.3.16 DUMP
27.9.3.17 DYNAM
27.9.3.18 EXIT
27.9.3.19 EXPORTALL
27.9.3.20 FASTSRT
27.9.3.21 FLAG
27.9.3.22 FLAGSTD
27.9.3.23 INTDATE
27.9.3.24 LANGUAGE
27.9.3.25 LIB
27.9.3.26 LINECOUNT
27.9.3.27 LIST
27.9.3.28 MAP
27.9.3.29 NAME
27.9.3.30 NSYMBOL
27.9.3.31 NUMBER
27.9.3.32 NUMPROC
27.9.3.33 OBJECT
27.9.3.34 OFFSET
27.9.3.35 OPTIMIZE
27.9.3.36 OUTDD
27.9.3.37 PGMNAME
27.9.3.38 QUOTE/APOST
27.9.3.39 RENT
27.9.3.40 RMODE
27.9.3.41 SEQUENCE
27.9.3.42 SIZE
27.9.3.43 SOURCE
27.9.3.44 SPACE
27.9.3.45 SQL
27.9.3.46 SSRANGE
27.9.3.47 TERMINAL
27.9.3.48 TEST
27.9.3.49 THREAD
27.9.3.50 TRUNC
27.9.3.51 VBREF
27.9.3.52 WORD
27.9.3.53 XREF
27.9.3.54 YEARWINDOW
27.9.3.55 ZWB
提要
第28章CICS交易Dump分析及查錯
28.1 CICS/ESA概覽
28.2 解決CICS問題的一般方法
28.2.1 確定問題前的初步檢查
28.2.2 確定問題的方法
28.3 解決CICS問題的主要資源
28.3.1 編譯輸出
28.3.2 編譯選項
28.3.3 CICS Log輸出
28.3.4 CICS信息格式
28.3.5 CICS的Abend代碼
28.3.6 CMAC交易
28.3.7 信息處置方法
28.3.8 交易軌跡(Traces)的類型
28.3.9 統計輸出(Statistics Output)
28.3.10 基本手冊(Essential Manuals)
28.4 CICS提供的交易
28.4.1 CEOT交易的執行
28.4.2 CEMT交易執行
28.4.3 CEMT查詢功能
28.4.4 CEMT查詢交易狀態
28.4.5 CEMT查詢交易的類別
28.4.6 CEMT查詢程式的狀態
28.4.7 CEMT交易查詢檔案狀態
28.4.8 CEMT查詢數據集(Dataset)的狀態
28.4.9 CEMT交易查詢TD Queue狀態
28.4.10 CEMT查詢TS Queue狀態
28.4.11 CEMT查詢任務(Task)狀態
28.4.12 CEMT查詢VTAM通信狀態
28.4.13 CEMT查詢IRC的狀態
28.4.14 CEMT查詢連線狀態
28.4.15 從主控台執行CICS提供的交易
28.4.16 CRTE——執行遠程交易
28.4.17 CMSG交易傳遞信息
28.4.18 CEDF互動式查錯
28.5 使用Trace Tabel幫助查錯
28.6 讀懂CICS Trace記錄
28.7 使用CETR交易控制Trace記錄內容
28.8 使用交易Dump幫助查錯
28.8.1 Dump中的十六進制計數
28.8.2 症狀(Symptom)字元串和暫存器組
28.8.3 任務控制區的用戶區(Task Control Area - User Area)
28.8.4 任務控制區的系統區(Task Control Area - System Area)
28.8.5 從CICSDump中找到TCAPCHS
28.8.6 從CICS DUMP中找到EIB和EIS的內容
28.8.7 Dump中的交易記憶體區
28.8.8 TCTTE(Terminal Control Table Terminal Entry)數據區
28.8.9 Dump中的程式記憶體區
28.8.10 Dump的結尾
28.8.11 不經常訪問的Dump數據區域
28.8.12 CICS Command Level程式編碼
28.8.13 CICS程式初始化
28.8.14 CICS程式的執行
28.8.15 定位應用程式的RSA
28.8.16 從CICS Dump找到暫存器14的三種方法
28.8.17 從CICS Dump中找到COBOL程式出錯的EXEC CICS語句
28.8.18 從CICS Dump中找到COBOL程式出錯的其他EXEC CICS語句
28.8.19 COBOL數據區域
28.8.20 COBOL記憶體映像(Memory Map)
28.8.21 從CICS Dump中定位Working Storage欄位的方法
28.8.22 快速訪問被Link程式
28.8.23 設定Dump表交易
28.8.24 Dump處理
28.8.25 Abends的源頭
28.8.26 程式檢查(Program Checks)
28.8.27 程式狀態字(Program Status Word,PSW)
28.8.28 交易Abend控制塊(Transaction Abend Cobtrol Block – TACB)
28.9 使用交易Dump解決ASRA Abend的實例
28.9.1 解決ASRA Abend問題的通用方法
28.9.2 解決ASRA問題第1步
28.9.3 解決ASRA問題第2步
28.9.4 解決ASRA問題第3步
28.9.5 解決ASRA問題第4步
28.9.6 解決ASRA問題第5步
28.9.7 解決ASRA問題第6步
28.9.8 解決ASRA問題的一些提示
28.9.9 從CICS/ESA V3.2開始引入的新Abend
28.10 使用交易Dump解決AEYD Abend的方法
28.10.1 從CICS/ESA V4開始引入的新Abend(AEYD)
28.10.2 解決AEYD Abend的方法
28.11 使用交易Dump解決死循環(Loop)的方法
28.11.1 緊湊循環和執著循環(Tight and Non-Yielding Loops)
28.11.2 柔軟的循環(Yielding Loop)
28.11.3 Trace Table的用法
28.11.4 解決循環的通用方法
28.11.5 其他的選項
28.12 使用交易Dump解決錯誤輸出的方法
28.13 使用交易Dump解決ASRA的真實案例
28.14 使用交易Dump解決AEYD的真實案例
28.15 使用交易Dump解決循環(Loop)的提示
提要
第29章CICS通道容器(Channel Container)
29.1 通道容器引入的背景
29.2 繞開32KB限制的非標準方法
29.3 通道容器的概念
29.3.1 當前通道(The Current Channel)
29.3.2 通道的範圍(Scope of a Channel)
29.3.3 通道的生命周期(Lifetime of a Channel)
29.4 通道容器相關的API命令
29.4.1 容器(Container)命令
29.4.2 程式調用/轉移命令
29.4.3 交易調用/轉移命令
29.4.4 查詢命令
29.4.5 容器瀏覽命令
29.5 數據轉換(Data Conversion)
29.6 套用場景
29.6.1 使用通道的基本套用場景
29.6.2 套用場景,多組件
29.6.3 套用場景,松耦合
29.7 遷移到通道容器
29.7.1 使用LINK程式的遷移
29.7.2 使用START程式的遷移
29.8 程式例子
29.9 最佳實踐
29.9.1 定義接口
29.9.2 DPL性能
提要
第30章排序/合併及軟體質量控制
30.1 排序的概念
30.2 實現排序的步驟
30.3 COBOL中與排序有關的成分
30.4 SORT語句的第一種形式
30.5 SORT語句的第二種形式
30.6 MERGE(合併)語句
30.7 軟體質量控制的一些思考
30.7.1 軟體行業的最高指導原則——KISS原則
30.7.2 COBOL程式現狀
30.7.3 COBOL程式質量低劣體現在哪裡
30.7.4 如何鑑定程式質量的好壞
30.7.5 如何做高質量的COBOL程式
30.7.6 為何需要編程規範
30.7.7 實際軟體開發規範細則
30.7.8 讓COBOL全程自動監控I-O操作的“DECLARATIVES”
30.7.9 讓CICS全程自動監控CICS命令的“HANDLE”
30.7.10 在線上CICS程式中用戶功能鍵的處理
30.7.11 程式段(節)名前綴與位置布局
30.7.12 COBOL程式例子1(排序程式改進版)
30.7.13 COBOL程式例子2(報表檔案雙頁合併)
30.7.14 檔案對碰(MATCH)的定式寫法
提要
附錄A參考資料