IBM主機技術一本通

所属分类:計算機理論、基礎知識  
出版时间:2011-5   出版时间:電子工業出版社   作者:呂新民 編   页数:828  

前言

  這是一本寫了20多年的書,一本讓你學習IBM主機技術不求人的書!  開始萌發寫書的想法要追溯到20多年前,大學畢業分配到青島的一家國有銀行工作的時候。那時工作不是很忙,年輕的時候精力過剩,總想找點事情做做,但畢竟水平有限,能寫的東西不多,成不了型,也就放下了。後來有機會去香港工作幾年,然後又輾轉到深圳的一家比較知名的做銀行項目的民營公司,最後又到一家著名的外企,雖然這段時間的工作經歷為本書提供了豐富的素材,使得讀者對書中的講述有感同身受的親切感,但這段經歷繁忙到根本沒有時間和精力提筆寫書。  從2008年開始轉行做培訓方面的工作,就又有了寫書的念頭。因為有一件事,讓我感觸很深,某個培訓班的學生中,有一批學日語的學生,他們幾乎完全不會英語,而我們的教材通常是英文的,根本沒有這方面技術的中文書,使得有的學生實在學不下去,只好中途退學了。這件事,讓我決定盡快寫出一本通用的IBM主機技術方面的書,既能了卻20多年前的夙願,又能對從事主機工作的同行們盡自己的微薄之力。經過幾年的努力,這本書終于面世了。  本書的定位是一本IBM主機技術方面專家級的參考書,既適合該行業的初學者入門的需要,也能滿足有多年相關工作經驗的行業高手進一步提高的要求。  本書有下面幾個鮮明的特點,特此提出來與讀者分享。  1.IBM主機技術的完整性  作者有多年的IBM主機技術應用的實踐經驗,非常清楚哪些技術是必須詳細講述的,哪些技術是可以一筆帶過的,因此對于重要的知識點和在實際工作中經常用到的內容,以及有一定難度,平常也有可能用到的內容,本書都做了詳細的講述,以滿足各種水平讀者的需要;對于那些過于晦澀,使用不多的內容,本書只是簡單講述,並提供相關的參考線索,為讀者進一步學習提供幫助。總之,本書希望能夠讓讀者有一本在手、別無所求的滿足感。  2.初學者入門的好幫手  多年的IBM主機技術培訓和銀行項目實訓的教學經驗,使得作者非常了解初學者對于學習IBM主機技術的需求,因此本書采用由淺入深、由易到難的編排順序,將IBM主機技術的相關內容串聯起來,使得讀者只要按照本書的順序閱讀,就可以快速入門,並隨著閱讀內容的增加和對每個章節後面高級議題的深入理解,由初學者變成行業高手。  3.IBM主機技術高手們的增值器  由于行業的分工越來越細,即使從事IBM主機開發工作多年的人,所能接觸的內容也是有限的,比方,有的人做聯機方面比較多,對CICS方面的內容就比較熟悉;有的人做批處理方面的工作比較多,相應地,對作業流(JCL)方面的內容了解就要多些。由于本書充分考慮了IBM主機技術的完整性,因此,讀者很容易通過本書,學到自己相對欠缺或不熟悉的知識,從而達到全面提高的目的。  此外,本書中有些議題,是目前國內書籍中很少討論的,是作者查閱了大量的國外相關論文後匯總到本書中的,比如,處理多文件交易合並的平衡線算法及在銀行應用系統中的應用、常用的MVS主控台命令和程序設計風格方面的一些內容等。  4.大量的程序例子  本書避免空洞的概念陳述,而是通過鮮活的程序實例來介紹IBM主機技術的各種元素,讓讀者能夠從程序例子中了解技術元素的實際含義、在現實中的應用及使用過程中需要注意的地方。通過各種技術元素(程序、作業流、參數)的實際運用,讓讀者了解各種不同的技術元素是如何相互協作、相互配合、共同完成項目的。每個技術元素運行後的結果,都通過演示報表(MagicReport)的方法,清晰地呈現在讀者的面前,加深讀者對這些技術元素的理解。  5.查錯和糾錯技術的研討  根據實際開發中的經驗,作者深切地體會到,查錯和糾錯技術對于項目開發團隊是多麼重要,而這一點正好又是很多新手甚至工作多年的高手所欠缺的。寫一個程序容易,但讓程序正確完成指定的任務卻不那麼容易,這樣的例子太多了。當程序員完成了一個程序後,運行出來的結果卻是牛頭不對馬嘴,或運行中途異常結束的時候,很多讀者都是一臉茫然,不知所措。  為了解決這個問題,本書提供了兩種解決途徑。  一是所謂的源程序級查錯,即通過閱讀源程序來辨別出錯的原因。根據作者多年的實踐經驗,本書為各種類型的常見問題給出了幾種可能出錯的原因,比如,當你的程序出現死循環的時候,本書就為你提供了幾種可能的原因,幫助讀者通過閱讀源程序盡快找到問題的根源。  另一種是根據運行時系統提供的信息,比如,系統的返回碼或出錯的程序代碼的位移等,幫你順藤摸瓜,一步一步地確定出錯原因,從而找到解決辦法。  這本書能夠面世,要感謝的人很多。對于以前在銀行或公司一起工作的同事們,正是跟他們一起工作的時光,使作者能夠博采他們出色的技術特長,汲取他們橫溢的技術精華,才能使本書的內容如此多姿多彩。限于篇幅,這里就不一一列出他們的名字了。  參與本書編寫的還有王青萍女士,她提供了本書中全部的精美繪圖並提供了與圖相關的文字描述。本書由于時間跨度長,信息容量大,加上作者水平有限,一定有許多疏漏的地方,敬請廣大讀者批評指正。

内容概要

  《IBM主機技術一本通》由淺入深地講述了IBM主機技術的各個方面,共分26章,包括︰TSO、ISPF、JCL、VSAM、COBOL、DB2、CICS和常用的MVS主控台命令,通過演示報表(Magic Report)的方法,從實戰出發,通過大量的源程序例子講解了在應用開發過程中需要使用的IBM主機方面的技術,書中的例子都是作者親自編寫並運行成功的,可以作為讀者學習的參考。  因為《IBM主機技術一本通》在系統地介紹所需的基本技術的同時,也為具備多年開發經驗的讀者提供了某些高級的議題,所以本書既可以作為從事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設定功能——選項01.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  查看數據集——選項11.9  編輯數據集——選項21.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——使用TSOSUBMIT命令執行JOB1.9.3.11  EDIT——編輯其他的數據文件1.9.3.12  START——建立新的會話1.9.3.13  終止編輯會話1.9.3.14  附加的基本命令1.9.4  TSO編輯配置文件(PROFILE)的控制和顯示1.10  系統例程功能——選項31.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/PDF1.11.2  輸入TSO命令1.11.2.1  ISPF/PDF選項6——TSO COMMAND1.11.2.2  使用TSO前綴1.11.3  TSO HELP1.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  MSGLEVEL2.2.2.2  MSGCLASS2.2.2.3  COND2.2.2.4  ADDRSPC2.2.2.5  CLASS2.2.2.6  NOTIFY2.2.2.7  PRTY2.2.2.8  REGION2.2.2.9  TIME2.2.2.10  TYPRUN2.2.2.11  USER參數2.2.2.12  PASSWORD2.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  DSN2.4.3.2  DISP2.4.3.3  UNIT2.4.3.4  VOLUME2.4.3.5  SPACE2.4.3.6  LABEL2.4.3.7  DCB2.4.3.8  SYSOUT2.4.3.9  數據集串聯(Concatenation)2.4.3.10  存儲管理子系統(SMS)2.5  向後引用(Backward Reference)2.6  條件JCL2.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  例程使用的ddname2.13.3  例程控制語句2.13.4  復制和打印順序數據集2.13.5  編輯順序數據集2.13.6  轉換順序數據集為分區數據集的成員2.13.7  轉換順序數據集到分區數據集——增加新成員2.13.8  復制分區數據集或分區數據集成員2.13.9  分區數據集的壓縮2.13.10  維護源程序庫2.13.11  打印分區數據集(PDS)目錄清單2.13.12  比較分區數據集2.13.13  比較順序數據集2.13.14  比較分區數據集中的成員2.13.15  順序文件的建立和刪除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  調用定義在系統過程庫中的過程   1652.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  控制間隔3.1.5  控制區域3.1.6  跨越記錄(Spanned)3.1.7  KSDS文件的物理實現3.1.8  VSAM文件共享選項(SHAREOPTIONS)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  世代數據集GDG3.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用戶和STC4.1.8  $A A釋放系統中所有掛起的作業4.1.9  $A JOB釋放掛起的作業4.1.9.1  釋放作業34到404.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  暫停作業STC000514.1.12  $S I啟動初始器(Initiator)4.1.12.1  將初始器Initiator 5從DRAINED狀態變成INACTIVE狀態4.1.12.2  啟動Initiator 8到104.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改為X4.1.17.2  將作業45的優先級加24.1.17.3  將執行隊列中用戶為IBMUSER的作業的運行CLASS改為Y4.1.17.4  將執行隊列中運行CLASS為Y的作業的CLASS改為A4.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和NEXTSENTENCE語句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.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程序中使用ddname8.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  避免使用MOVECORRESPONDING11.14  去掉77級項目11.15  使用88級項目以減少復合條件11.16  對復合算術運算使用COMPUTE動詞11.17  避免使用文字常數11.18  動態初始化表11.19  使用READ INTO、WRITE FROM和WS BEGINS HERE11.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.8  數據庫目標的刪除(DROP)12.4.9  DDL語句的應用實例12.5  數據控制語言(Data ControlLanguage——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  DBRM13.2.2  綁定13.2.2.1  綁定到包和直接綁定方案的區別13.2.2.2  方案、包和集合13.2.2.3  運行時COBOL裝載模塊調用DBRM13.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  DCLGEN14.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  運行客戶資料查詢程序的JCL14.7.5  程序運行結果14.8  修改客戶資料程序(BKUPDT)14.8.1  修改客戶資料源程序14.8.2  程序運行前客戶資料表中的記錄14.8.3  運行客戶資料修改程序的JCL14.8.4  客戶資料修改的輸入文件14.8.5  客戶資料修改後表中的內容14.9  修改明細客戶資料程序——空值和變長記錄處理14.9.1  修改明細客戶資料源程序14.9.2  客戶明細資料表CUSTINF1的記錄格式及DCLGEN輸出結果14.9.3  計算字符串長度子程序14.9.4  明細客戶資料表中原來的內容14.9.5  輸入文件CUSTINFO14.9.6  運行明細客戶資料程序的JCL14.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  運行瀏覽客戶資料表程序的JCL14.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  引導數據集BSDS15.4.4  SYSIBM.SYSLGRNX15.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  使用動態SQL16.2  在應用程序中嵌套動態SQL16.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  避免死鎖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.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命令第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  CEBR24.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簽到交易CESN26.4  CICS簽退交易CESF26.5  查看終端狀態交易CEOT26.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顯示EIB26.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  設置用戶跟蹤入口點

图书封面




    IBM主機技術一本通下載



用户评论 (总计5条)

 
 

  •     正版,幫老婆買的,實惠!
  •     一直盯著的一本書
  •     好厚一本書啊
  •     主機的書很少,這本書很不錯,內容比較全面
  •     路很漫長,現在開始
 

計算機與互聯網 PDF免费下载,計算機理論、基礎知識PDF免费下载。 计算机教程网 

计算机教程网 @ 2018