版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、COBOL for Mainframe Fundamentals COBOL主機應(yīng)用開發(fā)架構(gòu)基礎(chǔ)第1頁/共37頁本節(jié)內(nèi)容nCOBOL與傳統(tǒng)系統(tǒng)nCOBOL應(yīng)用開發(fā)架構(gòu)nCOBOL與CICSnCOBOL與DB2nCOBOL與IMSn更詳盡的內(nèi)容將在相關(guān)課程中講述。第2頁/共37頁COBOL與傳統(tǒng)系統(tǒng)n傳統(tǒng)程序是用上一代技術(shù)開發(fā)的可操作計算機程序或程序組,多數(shù)已經(jīng)運行多年,并且仍然能勝任所負責的工作的可行系統(tǒng);n上世紀70年代80年代,COBOL大量用于建設(shè)大型、復(fù)雜的商業(yè)系統(tǒng),因此用COBOL編寫的數(shù)據(jù)處理程序構(gòu)成了傳統(tǒng)程序的主體;n傳統(tǒng)系統(tǒng)通常是公司進行關(guān)鍵商業(yè)活動時所依賴的核心程序,當系統(tǒng)需
2、要更新時不能中斷,從頭改寫往往是下策,其代碼的修改和改進為現(xiàn)代的COBOL編程人員帶來了機遇和挑戰(zhàn)。第3頁/共37頁COBOL應(yīng)用開發(fā)架構(gòu)n大部分傳統(tǒng)COBOL系統(tǒng)都是用IBM硬件、操作系統(tǒng)和編譯器開發(fā)的;n近代的S/390、Z900、AS/400乃至最新的iSeries、zSeries等服務(wù)器上仍然保持了對COBOL的支持;nCOBOL應(yīng)用程序的數(shù)據(jù)可以放在文件中,也可以放在DBMS(數(shù)據(jù)庫管理系統(tǒng))中;n主機上COBOL應(yīng)用程序后臺的DBMS通常使用IMS(層次數(shù)據(jù)庫)或DB2(RDBMS),事務(wù)管理的實現(xiàn)則使用CICS或者IMS TM。第4頁/共37頁COBOL與CICSnCICS簡介n
3、CICSCOBOL第5頁/共37頁 CICS簡介nCICS是IBM的客戶信息控制系統(tǒng),是運行終端(聯(lián)機)系統(tǒng)的環(huán)境;nCICS特別適合事務(wù)性系統(tǒng),如處理機票購買和銀行存取款等;n40多年來,CICS一直活躍在全球一流公司的商業(yè)系統(tǒng)中:當今全球一共有大約50000個CICS站點;在500個最大的IBM客戶中,490個都是用CICS;大約有100萬編程人員編寫和維護CICS程序,主要是COBOL程序。第6頁/共37頁CICS事務(wù)nCICS事務(wù)由一個或多個CICS程序組成,通常是用COBOL編寫,一般是用SQL命令讀寫關(guān)系數(shù)據(jù)庫或用DL/I讀寫IMS數(shù)據(jù)庫,并負責與終端上的最終用戶交流信息;nCIC
4、S保證事務(wù)或者完全成功,或者根本不執(zhí)行,它與COBOL配合協(xié)調(diào),能高效地使用系統(tǒng)資源;nCOBOL程序的性質(zhì)是不可再入(reentrant)的,即一次只能有一個終端用戶執(zhí)行內(nèi)存中的COBOL程序,但CICS用偽再入(pseudo-reentrant)或準再入(quasi-reentrant)技術(shù)解決了這個問題,它對COBOL程序的每個實例保存一份工作存儲節(jié),但允許程序的所有實例使用過程部。第7頁/共37頁CICS程序?qū)嵗?第8頁/共37頁CICS程序?qū)嵗?第9頁/共37頁CICS程序?qū)嵗?第10頁/共37頁CICS程序?qū)嵗?第11頁/共37頁COBOL與CICS nCICS的許多特性使
5、程序員不必考慮CICS終端的結(jié)構(gòu)和它們的位置以及如何與網(wǎng)絡(luò)聯(lián)接就能編寫出高級的事務(wù)處理應(yīng)用程序;nCICSCOBOL程序是COBOL語句與EXEC CICS語句的組合,能與CICS通信,程序中的每一行是下列語句之一:COBOL行(例如MOVE WS-TEMP TO WS-PERMANENT)EXEC CICS語句(例如EXEC CICS RETURN END-EXEC)數(shù)據(jù)庫訪問語句(例如EXEC SQL SELECT NAME INTO:WS-NAME FROM EMPLOYEE WHERE EMP_ID=:WS-ID END-EXEC)nCICSCOBOL程序通過EXEC CICS SEN
6、D和RECEIVE語句與最終用戶通信,就像其它程序使用DISPLAY和ACCEPT一樣,不過在CICSCOBOL程序中,通常是全屏顯示而不是一行顯示。第12頁/共37頁COBOL中的CICS命令n通用格式 command option(arg).n在COBOL中用EXEC CICS啟動CICS 命令,用END EXEC.終止。第13頁/共37頁CICS命令一覽n終端控制SEND, SEND CONTROL, SEND MAP, RECEIVE, RECEIVE MAPn異常處理HANDLE CONDITION, IGNORE CONDITIONn文件控制READ, WRITE, REWRITE
7、, WRITE, UNLOCK, STARTBR, READNEXT, READPREV, ENDBR, RESETBRn程序控制LINK, XCTL, RETURNnQueue 控制WRITEQ TS|TD, READQ TS|TD, DELETEQ TS|TD第14頁/共37頁終端控制n對終端進行 I/On命令:SENDRECEIVEn基本的mapping支持第15頁/共37頁基本的mapping支持n字符屏幕顯示( mapping )n基于應(yīng)用程序生成mappingn從終端接受數(shù)據(jù)或向終端發(fā)送數(shù)據(jù)第16頁/共37頁SEND命令n語法格式 EXEC CICSSENDFROM(data-ar
8、ea)LENGTH(data-value)END-EXEC.第17頁/共37頁SEND樣例WORKING-STORAGE SECTION.01MSG-LENGTHPIC S9(4) COMP.01OUTPUT-MESSAGE.05MSG-IDPIC X(4).05FILLERPIC X.05MSG-TXT PIC X(35).PROCEDURE DIVISION.MOVE 40 TO MSG-LENGTH.MOVE INV1 TO MSG-ID.MOVE INVOICE NOW BEING PRINTED TO MSG-TXT.EXEC CICS SENDFROM (OUTPUT-MESSAG
9、E)LENGTH (MSG-LENGTH)ERASEEND-EXEC.第18頁/共37頁SEND CONTROL命令n語法格式EXEC CICSSEND CONTROLCURSOR(data-value)ERASE|ERASEUPFREEKBEND-EXEC.第19頁/共37頁SEND MAP命令n語法格式EXEC CICS SEND MAP (name) MAPSET(name) FROM(data-area) LENGTH(data-value) DATAONLY|MAPONLY ALARM CURSOR(data-value) ERASE|ERASEUP FREEKBEND-EXEC.E
10、xception condition:MAPFAIL第20頁/共37頁符號MapnWORKING-STORAGE SECTION.COPY symbolic-map-member-namenPROCEDURE DIVISION.MOVE xxx TO xxxO.EXEC CICSSEND MAPEND-EXEC.第21頁/共37頁物理Mapn在CICS里用CEDA定義nCEDA DEF MAPSET第22頁/共37頁RECEIVE MAP命令n語法格式EXEC CICS RECEIVE MAP(name) MAPSET(name) LENGTH(data-area) INTO(data-are
11、a)END-EXEC.Exception condition:MAPFAIL第23頁/共37頁符號MapnWORKING-STORAGE SECTION.COPY symbolic-map-member-namenPROCEDURE DIVISION.EXEC CICSRECEIVE MAPEND-EXEC.MOVE xxI TO xxx.第24頁/共37頁CICSCOBOL程序的限制n環(huán)境部中與數(shù)據(jù)管理服務(wù)有關(guān)的項目不能使用;n數(shù)據(jù)部的文件節(jié)(file section)不能使用;nREPORT-WRITER, SEGMENTATION, SORT 和TRACE 等不能使用;nCOBOL RE
12、AD, WRITE, OPEN 和 CLOSE 等語句不能使用;nACCEPT, CURRENT-DATE, DATE, DAY, DISPLAY, EXHIBIT, INSPECT, SIGN IS SEPARATE, STOP RUN, TIME, UNSTRING等動詞不能使用。第25頁/共37頁CICSCOBOL程序的結(jié)束n語法 EXEC CICSRETURNEND-EXEC.第26頁/共37頁COBOL與DB2nDB2是大型主機上支持的大型關(guān)系數(shù)據(jù)庫管理系統(tǒng),COBOL應(yīng)用程序通過執(zhí)行SQL語句來操作和訪問DB2數(shù)據(jù)庫;n在COBOL中,使用SQL有所不同:SQL查詢必須以EXEC
13、SQL開始,以END-EXEC結(jié)束;SQL查詢通常使用COBOL宿主變量。第27頁/共37頁宿主變量(host variable)n宿主變量(host variable)在SQL語句前面帶冒號(:);n宿主變量應(yīng)該在COBOL中正確定義,對應(yīng)于列屬性;nDELETE語句不需要宿主變量;nSELECT語句需要宿主變量;nINSERT語句通常需要宿主變量,但也可以使用VALUES從句;nUPDATE語句也需要宿主變量,但只對要改變數(shù)據(jù)的列。第28頁/共37頁例子:查詢員工1并改變其性別MOVE FEMALE TO SEX OF DCLEMPLOYEEEXEC SQL UPDATE EMPLOYEE
14、 WHERE EMP_ID=1 END-EXEC.注意在COBOL語法中的SEX OF DCLEMPLOYEE在SQL中變成第29頁/共37頁COBOL+CICS+DB2樣本程序詳見TESTMENU第30頁/共37頁COBOL與IMSnIMS是大型機上的層次數(shù)據(jù)庫,已經(jīng)出現(xiàn)大約45年;nIMS是要求高性能、高可用性、高可靠性和高可管理性的公司的應(yīng)用程序的首選;n全球很多行業(yè)的商業(yè)運行都依賴于IMS,1000家最大公司的90%都使用IMS;nIMS支持Java、PL/1、C/C+等多種應(yīng)用開發(fā)語言,對COBOL的支持更是歷史悠久。第31頁/共37頁數(shù)據(jù)操作語言(DML)nDML提供宿主編程語言(
15、比如COBOL)和數(shù)據(jù)庫間的接口。宿主編程語言database第32頁/共37頁數(shù)據(jù)語言DL/InDL/I是IMS使用的DML,它不是獨立的語言,而是一組過程性代碼和數(shù)值;nCOBOL可以作為DL/I的宿主編程語言,通過普通子程序調(diào)用的方式調(diào)用DL/I;n數(shù)據(jù)庫對于COBOL來說是個黑盒子,不能直接訪問,COBOL用DL/I提供的API訪問數(shù)據(jù)庫;COBOLDL/IIMS database第33頁/共37頁Entry語句nCOBOL程序中的第一條語句是ENTRY語句 ,說明本COBOL程序使用的PCB掩模,從而建立與相應(yīng)數(shù)據(jù)庫的連接。PROCEDURE DIVISl0NA000-MAIN-PROCESSENTRY DLITCBL USING EMPLOYEE-DB-PCB-MASKDLITCBL是“DL/I to COBOL”的縮寫。 第34頁/共37頁COBOL中調(diào)用DL/I函數(shù)
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 季節(jié)性主題活動設(shè)置方案計劃
- 錨桿轉(zhuǎn)載機組、掘錨機、錨桿鉆車擴建技術(shù)改造建設(shè)項目可行性研究報告寫作模板-拿地備案
- 十年回顧:2010年以來那些重大的網(wǎng)絡(luò)安全事件盤點
- 2025-2030全球車用拉力缸行業(yè)調(diào)研及趨勢分析報告
- 2025-2030全球生物過程深層流過濾行業(yè)調(diào)研及趨勢分析報告
- 2025-2030全球模擬拉線延長位置探頭行業(yè)調(diào)研及趨勢分析報告
- 2025-2030全球LPWAN物聯(lián)網(wǎng)模塊行業(yè)調(diào)研及趨勢分析報告
- 2025年全球及中國電動汽車轉(zhuǎn)子鐵芯行業(yè)頭部企業(yè)市場占有率及排名調(diào)研報告
- 2025年全球及中國翻新電池行業(yè)頭部企業(yè)市場占有率及排名調(diào)研報告
- 2025-2030全球汽車MIMO智能天線行業(yè)調(diào)研及趨勢分析報告
- 2024年公安機關(guān)理論考試題庫附答案【考試直接用】
- 課題申報參考:共同富裕進程中基本生活保障的內(nèi)涵及標準研究
- 2025中國聯(lián)通北京市分公司春季校園招聘高頻重點提升(共500題)附帶答案詳解
- 康復(fù)醫(yī)學科患者隱私保護制度
- 環(huán)保工程信息化施工方案
- 紅色中國風2025蛇年介紹
- 2024年安徽省高考地理試卷真題(含答案逐題解析)
- 高中學校開學典禮方案
- 2024年度中國郵政集團公司縣分公司工作總結(jié)
- DL∕T 1844-2018 濕式靜電除塵器用導(dǎo)電玻璃鋼陽極檢驗規(guī)范
- JTG D62-2004 公路鋼筋混凝土及預(yù)應(yīng)力混凝土橋涵設(shè)計規(guī)范
評論
0/150
提交評論