版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、COBOL for Mainframe Fundamentals COBOL主機(jī)應(yīng)用開發(fā)架構(gòu)基礎(chǔ)編輯課件本節(jié)內(nèi)容COBOL與傳統(tǒng)系統(tǒng)COBOL應(yīng)用開發(fā)架構(gòu)COBOL與CICSCOBOL與DB2COBOL與IMS更詳盡的內(nèi)容將在相關(guān)課程中講述。編輯課件COBOL與傳統(tǒng)系統(tǒng)傳統(tǒng)程序是用上一代技術(shù)開發(fā)的可操作計(jì)算機(jī)程序或程序組,多數(shù)已經(jīng)運(yùn)行多年,并且仍然能勝任所負(fù)責(zé)的工作的可行系統(tǒng);上世紀(jì)70年代80年代,COBOL大量用于建設(shè)大型、復(fù)雜的商業(yè)系統(tǒng),因此用COBOL編寫的數(shù)據(jù)處理程序構(gòu)成了傳統(tǒng)程序的主體;傳統(tǒng)系統(tǒng)通常是公司進(jìn)行關(guān)鍵商業(yè)活動時(shí)所依賴的核心程序,當(dāng)系統(tǒng)需要更新時(shí)不能中斷,從頭改寫往往是下
2、策,其代碼的修改和改進(jìn)為現(xiàn)代的COBOL編程人員帶來了機(jī)遇和挑戰(zhàn)。編輯課件COBOL應(yīng)用開發(fā)架構(gòu)大部分傳統(tǒng)COBOL系統(tǒng)都是用IBM硬件、操作系統(tǒng)和編譯器開發(fā)的;近代的S/390、Z900、AS/400乃至最新的iSeries、zSeries等服務(wù)器上仍然保持了對COBOL的支持;COBOL應(yīng)用程序的數(shù)據(jù)可以放在文件中,也可以放在DBMS(數(shù)據(jù)庫管理系統(tǒng))中;主機(jī)上COBOL應(yīng)用程序后臺的DBMS通常使用IMS(層次數(shù)據(jù)庫)或DB2(RDBMS),事務(wù)管理的實(shí)現(xiàn)則使用CICS或者IMS TM。編輯課件COBOL與CICSCICS簡介CICSCOBOL編輯課件 CICS簡介CICS是IBM的客戶
3、信息控制系統(tǒng),是運(yùn)行終端(聯(lián)機(jī))系統(tǒng)的環(huán)境;CICS特別適合事務(wù)性系統(tǒng),如處理機(jī)票購買和銀行存取款等;40多年來,CICS一直活躍在全球一流公司的商業(yè)系統(tǒng)中:當(dāng)今全球一共有大約50000個(gè)CICS站點(diǎn);在500個(gè)最大的IBM客戶中,490個(gè)都是用CICS;大約有100萬編程人員編寫和維護(hù)CICS程序,主要是COBOL程序。編輯課件CICS事務(wù)CICS事務(wù)由一個(gè)或多個(gè)CICS程序組成,通常是用COBOL編寫,一般是用SQL命令讀寫關(guān)系數(shù)據(jù)庫或用DL/I讀寫IMS數(shù)據(jù)庫,并負(fù)責(zé)與終端上的最終用戶交流信息;CICS保證事務(wù)或者完全成功,或者根本不執(zhí)行,它與COBOL配合協(xié)調(diào),能高效地使用系統(tǒng)資源;C
4、OBOL程序的性質(zhì)是不可再入(reentrant)的,即一次只能有一個(gè)終端用戶執(zhí)行內(nèi)存中的COBOL程序,但CICS用偽再入(pseudo-reentrant)或準(zhǔn)再入(quasi-reentrant)技術(shù)解決了這個(gè)問題,它對COBOL程序的每個(gè)實(shí)例保存一份工作存儲節(jié),但允許程序的所有實(shí)例使用過程部。編輯課件CICS程序?qū)嵗?編輯課件CICS程序?qū)嵗?編輯課件CICS程序?qū)嵗?編輯課件CICS程序?qū)嵗?編輯課件COBOL與CICS CICS的許多特性使程序員不必考慮CICS終端的結(jié)構(gòu)和它們的位置以及如何與網(wǎng)絡(luò)聯(lián)接就能編寫出高級的事務(wù)處理應(yīng)用程序;CICSCOBOL程序是COBOL語句與
5、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)CICSCOBOL程序通過EXEC CICS SEND和RECEIVE語句與最終用戶通信,就像其它程序使用DISPLAY和ACCEPT一樣,不過在CICSCOBOL程序中,通常是全屏顯示而不是
6、一行顯示。編輯課件COBOL中的CICS命令通用格式 command option(arg).在COBOL中用EXEC CICS啟動CICS 命令,用END EXEC.終止。編輯課件CICS命令一覽終端控制SEND, SEND CONTROL, SEND MAP, RECEIVE, RECEIVE MAP異常處理HANDLE CONDITION, IGNORE CONDITION文件控制READ, WRITE, REWRITE, WRITE, UNLOCK, STARTBR, READNEXT, READPREV, ENDBR, RESETBR程序控制LINK, XCTL, RETURNQue
7、ue 控制WRITEQ TS|TD, READQ TS|TD, DELETEQ TS|TD編輯課件終端控制對終端進(jìn)行 I/O命令:SENDRECEIVE基本的mapping支持編輯課件基本的mapping支持字符屏幕顯示( mapping )基于應(yīng)用程序生成mapping從終端接受數(shù)據(jù)或向終端發(fā)送數(shù)據(jù)編輯課件SEND命令語法格式 EXEC CICSSENDFROM(data-area)LENGTH(data-value)END-EXEC.編輯課件SEND樣例WORKING-STORAGE SECTION.01MSG-LENGTHPIC S9(4)COMP.01OUTPUT-MESSAGE.05
8、MSG-IDPIC X(4).05FILLERPIC X.05MSG-TXTPIC 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-MESSAGE)LENGTH (MSG-LENGTH)ERASEEND-EXEC.編輯課件SEND CONTROL命令語法格式EXEC CICSSEND CONTROLCURSOR(data-value)ERASE|ERASEUPFREEKBE
9、ND-EXEC.編輯課件SEND MAP命令語法格式EXEC CICS SEND MAP (name) MAPSET(name) FROM(data-area) LENGTH(data-value) DATAONLY|MAPONLY ALARM CURSOR(data-value) ERASE|ERASEUP FREEKBEND-EXEC.Exception condition:MAPFAIL編輯課件符號MapWORKING-STORAGE SECTION.COPY symbolic-map-member-namePROCEDURE DIVISION.MOVE xxx TO xxxO.EXEC
10、 CICSSEND MAPEND-EXEC.編輯課件物理Map在CICS里用CEDA定義CEDA DEF MAPSET編輯課件RECEIVE MAP命令語法格式EXEC CICS RECEIVE MAP(name) MAPSET(name) LENGTH(data-area) INTO(data-area)END-EXEC.Exception condition:MAPFAIL編輯課件符號MapWORKING-STORAGE SECTION.COPY symbolic-map-member-namePROCEDURE DIVISION.EXEC CICSRECEIVE MAPEND-EXEC.
11、MOVE xxI TO xxx.編輯課件CICSCOBOL程序的限制環(huán)境部中與數(shù)據(jù)管理服務(wù)有關(guān)的項(xiàng)目不能使用;數(shù)據(jù)部的文件節(jié)(file section)不能使用;REPORT-WRITER, SEGMENTATION, SORT 和TRACE 等不能使用;COBOL READ, WRITE, OPEN 和 CLOSE 等語句不能使用;ACCEPT, CURRENT-DATE, DATE, DAY, DISPLAY, EXHIBIT, INSPECT, SIGN IS SEPARATE, STOP RUN, TIME, UNSTRING等動詞不能使用。編輯課件CICSCOBOL程序的結(jié)束語法 E
12、XEC CICSRETURNEND-EXEC.編輯課件COBOL與DB2DB2是大型主機(jī)上支持的大型關(guān)系數(shù)據(jù)庫管理系統(tǒng),COBOL應(yīng)用程序通過執(zhí)行SQL語句來操作和訪問DB2數(shù)據(jù)庫;在COBOL中,使用SQL有所不同:SQL查詢必須以EXEC SQL開始,以END-EXEC結(jié)束;SQL查詢通常使用COBOL宿主變量。編輯課件宿主變量(host variable)宿主變量(host variable)在SQL語句前面帶冒號(:);宿主變量應(yīng)該在COBOL中正確定義,對應(yīng)于列屬性;DELETE語句不需要宿主變量;SELECT語句需要宿主變量;INSERT語句通常需要宿主變量,但也可以使用VALUE
13、S從句;UPDATE語句也需要宿主變量,但只對要改變數(shù)據(jù)的列。編輯課件例子:查詢員工1并改變其性別MOVE FEMALE TO SEX OF DCLEMPLOYEEEXEC SQL UPDATE EMPLOYEE SET SEX=:DCLEMPLOYEE.SEX WHERE EMP_ID=1 END-EXEC.注意在COBOL語法中的SEX OF DCLEMPLOYEE在SQL中變成DCLEMPLOYEE.SEX編輯課件COBOL+CICS+DB2樣本程序詳見TESTMENU編輯課件COBOL與IMSIMS是大型機(jī)上的層次數(shù)據(jù)庫,已經(jīng)出現(xiàn)大約45年;IMS是要求高性能、高可用性、高可靠性和高可
14、管理性的公司的應(yīng)用程序的首選;全球很多行業(yè)的商業(yè)運(yùn)行都依賴于IMS,1000家最大公司的90%都使用IMS;IMS支持Java、PL/1、C/C+等多種應(yīng)用開發(fā)語言,對COBOL的支持更是歷史悠久。編輯課件數(shù)據(jù)操作語言(DML)DML提供宿主編程語言(比如COBOL)和數(shù)據(jù)庫間的接口。宿主編程語言database編輯課件數(shù)據(jù)語言DL/IDL/I是IMS使用的DML,它不是獨(dú)立的語言,而是一組過程性代碼和數(shù)值;COBOL可以作為DL/I的宿主編程語言,通過普通子程序調(diào)用的方式調(diào)用DL/I;數(shù)據(jù)庫對于COBOL來說是個(gè)黑盒子,不能直接訪問,COBOL用DL/I提供的API訪問數(shù)據(jù)庫;COBOLDL/IIMS database編輯課件Entry語句COBOL程序中的第一條語句是ENTRY語句 ,說明本COBOL程序使用的PCB掩模,從而建立與相應(yīng)數(shù)據(jù)庫的連接。PROCEDURE DIVISl0NA000-MAIN-PROCESSENTRY DLITCBL USING EMPLOYEE-DB-PCB-MASKDLITCBL是“DL/I to COBOL”的縮寫。 編輯課件COBOL中調(diào)用DL/I函數(shù)C
溫馨提示
- 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年高職動漫設(shè)計(jì)(動畫制作技術(shù))試題及答案
- 2025年高職(大數(shù)據(jù)與會計(jì))稅務(wù)籌劃實(shí)務(wù)階段測試題及答案
- 新聞傳媒行業(yè)就業(yè)趨勢
- 人工智能年會精彩回顧
- 基層安全督查制度講解
- 2025年12月華僑大學(xué)化工學(xué)院藍(lán)志元教授團(tuán)隊(duì)招聘科研助理4人備考題庫(福建)及一套參考答案詳解
- 2026江蘇中國人壽股份有限公司招聘備考題庫及一套答案詳解
- 2025年漯河市自然資源和規(guī)劃局所屬事業(yè)單位人才引進(jìn)1名備考題庫及參考答案詳解1套
- 2025上海市同濟(jì)口腔醫(yī)院(同濟(jì)大學(xué)附屬口腔醫(yī)院)實(shí)驗(yàn)技術(shù)員招聘1人備考題庫及答案詳解1套
- 2026中共中央對外聯(lián)絡(luò)部事業(yè)單位招聘5人備考題庫及參考答案詳解
- 小學(xué)六年級英語2026年上學(xué)期語法填空綜合題集
- 海洋電子信息產(chǎn)業(yè)現(xiàn)狀與發(fā)展路徑研究
- 草原管護(hù)考試題及答案
- Unit 8 Let's Communicate!Section B 1a-1e 課件 2025-2026學(xué)年人教版八年級英語上冊
- 2026年四川單招職高語文基礎(chǔ)知識練習(xí)與考點(diǎn)分析含答案
- 2026年交管12123駕照學(xué)法減分題庫100道【基礎(chǔ)題】
- 寒假女生安全教育課件
- 2026年孝昌縣供水有限公司公開招聘正式員工備考題庫及1套參考答案詳解
- 2024-2025學(xué)年蘇教版四年級數(shù)學(xué)上冊 第二單元專練:經(jīng)濟(jì)問題和促銷問題(買幾送幾)原卷版+解析
- 6.2 中位數(shù)與箱線圖 教學(xué)設(shè)計(jì)(2課時(shí))2025-2026學(xué)年數(shù)學(xué)北師大版八年級上冊
- 2024年常州工業(yè)職業(yè)技術(shù)學(xué)院單招職業(yè)適應(yīng)性測試題庫附答案解析
評論
0/150
提交評論