版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、JCL:1 簡(jiǎn)單描述一下DISP的使用,它有哪些參數(shù)?DISP 參數(shù)用來(lái)告訴系統(tǒng)要使用的數(shù)據(jù)集的狀態(tài)是什么并且告訴系統(tǒng)當(dāng)本作業(yè)步執(zhí)行完畢后如何處理這個(gè)數(shù)據(jù)集。你可以為作業(yè)步正常結(jié)束和非正常結(jié)束時(shí)分別指定不同的處理方法。DISP= ( NEW ,DELETE ,DELETE )為空時(shí)也表示這個(gè)。OLD ,KEEP ,KEEP SHR ,PASS ,CATLG MOD ,CATLG ,UNCATLG, ,UNCATLG2 什么是PROCEDURE,有哪幾種PROCEDURE,簡(jiǎn)述區(qū)別有2中PROCEDURE, 一種是CATALOG的PROCEDURE,是把過(guò)程的JCL語(yǔ)句寫(xiě)在一個(gè)編目的數(shù)據(jù)集里,該
2、數(shù)據(jù)集必須是PDS 或PDSE里的一個(gè)成員,能夠同時(shí)被多個(gè)JCL 調(diào)用。另一種是INSTREAM的PROCEDURE,流內(nèi)PROCEDURE,寫(xiě)在一個(gè)JCL里面,以PROC開(kāi)頭,以PEND字句結(jié)束。3.什么是GDG數(shù)據(jù)集,GDG數(shù)據(jù)集的每一代數(shù)據(jù)集是否可以是不同類型的? 定義GDG數(shù)據(jù)集有3個(gè)重要的參數(shù): LIMIT NOEMPTY SCRATCH 各表示什么含義? 定義GDG BASE之后要必須定義什么?答:GDG數(shù)據(jù)集是一組名字相似,時(shí)間和功能相關(guān)的數(shù)據(jù)集。GDG數(shù)據(jù)集是MVS中的世代數(shù)據(jù)集,通過(guò)IDCAMS來(lái)創(chuàng)建。 GDG數(shù)據(jù)集的每一代可以是不同類型的。 3個(gè)重要的參數(shù) LIMIT表示這
3、個(gè)世代數(shù)據(jù)集最多可以有多少代; NOEMPTY表示不清空, SCRATCH表示最老的一代是被刪除掉的。定義GDG BASE之后必須定義GDG DSCB才能生效。4. COND參數(shù)是什么意思? 如果我需要作業(yè)步3,只在作業(yè)步2返回碼是0或者4的時(shí)候才執(zhí)行,如何寫(xiě)COND參數(shù)? 答: COND參數(shù)是CONDITION參數(shù),表示什么情況下作業(yè)步被執(zhí)行/不被執(zhí)行。 COND=(4,LT,STEP2)5.IEBCOPY與IEBGENER有什么區(qū)別?IEFBR14是起什么作用的?IEBCOPY:對(duì)分區(qū)數(shù)據(jù)集進(jìn)行拷貝、壓縮或合并IEBGENER:拷貝順序數(shù)據(jù)集,或?qū)㈨樞驍?shù)據(jù)集轉(zhuǎn)為分區(qū)數(shù)據(jù)集IEFBR14實(shí)際
4、是一個(gè)空程序,什么也不做,只是返回返回碼0,但是使用它可以進(jìn)行JCL 語(yǔ)言的各種處理,如DD 語(yǔ)句中創(chuàng)建數(shù)據(jù)集等。6用哪一個(gè)UTILITY去定義VSAM文件,簡(jiǎn)介一個(gè)定義VSAM文件的一些參數(shù)DEFVSAM EXEC PGM=IDCAMSDEFINE CLUSTER(NAME(OCB4D4.EX0801.VKD44N) VOL(TSTCC2) - RECSZ(48 48) REC(1000 1000) KEYS(10 0) 7.定義VSAM的時(shí)候是否可以指定VSAM分配的大小,通過(guò)哪個(gè)參數(shù)指定? 答:通過(guò)用IDCAMS來(lái)定義VSAM文件,通過(guò)指定CYL參數(shù)來(lái)指定VSAM分配的大小,在定義VSA
5、M的DATA部件的時(shí)候指定的VSAM文件的大小8.定義VSAM的時(shí)候,參數(shù) KEYS(9 12) 表示什么意思? (6 0)答: KEYS(9,12)表示從記錄的12列開(kāi)始,數(shù)9個(gè)長(zhǎng)度作為VSAM文件的KEY. 比如 KEYS(6 0),就是指從文件開(kāi)始的6個(gè)長(zhǎng)度的字段作為KEY 9.SPACE參數(shù)如何使用? 比如你要建一個(gè)PDS數(shù)據(jù)集,SPACE=(TRK,(1,1,1),3個(gè)1各表示什么?第一個(gè) 首次分配;第二個(gè) 擴(kuò)展分配;第三個(gè) 目錄區(qū)大小10.要建立一個(gè)PDSE數(shù)據(jù)集,記錄格式是定長(zhǎng)不分塊,記錄長(zhǎng)度是120,塊大小系統(tǒng)選定,DCB參數(shù)如何寫(xiě),為了指明建立的是PDSE還要寫(xiě)哪個(gè)參數(shù)?答:
6、 DCB = ( RECFM = F, LRECL = 120, BLKSIZE = 0) ,還要指定 DSNTYPE = LIBRARY 參數(shù)才能表示是分配的是PDS-E數(shù)據(jù)集。11.如何讓系統(tǒng)指定BLKSIZE, 系統(tǒng)指定有什么好處?答:系統(tǒng)指定BLKSIZE的話,需要在有RECFM參數(shù),LRECL參數(shù)的情況下,指定BLKSIZE = 0, 或者不指定 BLKSIZE參數(shù),就是系統(tǒng)指定BLKSIZE參數(shù)。 系統(tǒng)指定BLKSIZE的話,可以最優(yōu)化塊大小的分配,節(jié)省系統(tǒng)空間。12.PDSE和PDS有什么區(qū)別?PDS刪除的成員空間不會(huì)自動(dòng)釋放,壓縮 才能使用該存儲(chǔ)空間。而PDSE的刪除后自動(dòng)釋放
7、,不可壓縮。PDS可能有目錄缺陷而PDSE沒(méi)有13.在一個(gè)JCL作業(yè)中有多個(gè)作業(yè)步,如何從其中的一個(gè)作業(yè)步開(kāi)始執(zhí)行作業(yè),用哪個(gè)參數(shù)指定?答: 可以通過(guò)在JOB語(yǔ)句里面指定RESTART = STEP5 參數(shù)是JCL直接從作業(yè)步 5 開(kāi)始執(zhí)行。14. SPACE參數(shù)中的RLSE參數(shù)是起到什么作用?答: RLSE參數(shù)表示RELEASE,表示系統(tǒng)自動(dòng)釋放掉分配給數(shù)據(jù)集的但是沒(méi)有被使用的空間。15.JCL中定義的記錄格式有哪些? 分別表示什么含義?FB定長(zhǎng)分塊 F定長(zhǎng)不分塊 VB變長(zhǎng)分塊 V變長(zhǎng)不分塊 和 U未定義,存放的是二進(jìn)制代碼。16. STEPLIB DD 語(yǔ)句, JOBLIB DD 語(yǔ)句,J
8、CLLIB DD 語(yǔ)句 分別起什么作用?答: JCLLIB用在PROCEDURE中,指定JCL中用到的PROCEDURE放在哪里; JOBLIB和STEPLIB都是用來(lái)自定JCL中用到的PROGRAM放在哪里, 如果單獨(dú)有JOBLIB或 STEPLIB的話就是去JOBLIB或STEPLIB后面指定的數(shù)據(jù)集去找PROGRAM。 如果JOBLIB和STEPLIB都有的話,那么JOBLIB會(huì)被忽略,去STEPLIB里面去找 如果JOBLIB和STEPLIB都不指定的話,就是去SYS1.LINKLIB里面去找。17. SORT UTILITY是用來(lái)做什么的, 如果我想對(duì)記錄中的第二個(gè)字段進(jìn)行字符升序排
9、序,這個(gè)字段的起始位置是4長(zhǎng)度是19,如何寫(xiě) SORT的控制語(yǔ)句?答: 主要是對(duì)文件中的記錄進(jìn)行排序,最常見(jiàn)的參數(shù)是SORT FIELDS,按照題目要求這樣的SORT語(yǔ)句應(yīng)該這樣寫(xiě): SORT FIELDS = (4,19,CH,A)DFSORT 是IBM 的Data Facility 家族的一員,用來(lái)對(duì)數(shù)據(jù)集進(jìn)行排序、拷貝和合并。控制選項(xiàng):SORT:指定對(duì)數(shù)據(jù)集進(jìn)行排序操作;MERGE:指定對(duì)數(shù)據(jù)集進(jìn)行合并操作;COPY:指定對(duì)數(shù)據(jù)集進(jìn)行拷貝操作;FIELDS:指定排序鍵值的信息,格式為FIELDS=(起始位置,長(zhǎng)度,升降序,起始位置,長(zhǎng)度,升降序),FORMAT=數(shù)據(jù)類型(起始位置,長(zhǎng)度,
10、數(shù)據(jù)格式,升降序,起始位置,長(zhǎng)度,數(shù)據(jù)格式,升降序)其中位置和長(zhǎng)度都是以字節(jié)為單位,順序可選的有A:升序,D:降序,E:使用用戶出口例程定序; FORMAT=指定鍵字的類型,可選項(xiàng)有CH:字符類型,PD:壓縮十進(jìn)制型,BI:二進(jìn)制型,AC:ASCII 碼型。18通過(guò)JCL怎么傳遞參數(shù)?PARM用于向本作業(yè)步執(zhí)行的程序傳遞變量信息。該程序必須有相應(yīng)的指令接收這些信息,并使用它們。格式:PARM.過(guò)程步名= 子參數(shù)PARM.過(guò)程步名=( 子參數(shù), 子參數(shù))PARM.過(guò)程步名=(子參數(shù), 子參數(shù))PARM.過(guò)程步名=子參數(shù), 子參數(shù)包括所有的逗號(hào)、撇號(hào)以及括號(hào)在內(nèi),所有子參數(shù)的總長(zhǎng)度不得超過(guò)100
11、個(gè)字符。當(dāng)某子參數(shù)中含有特殊字符或空格時(shí),可以將該子參數(shù)用撇號(hào)括起來(lái),在其它子參數(shù)一起用括號(hào)括起來(lái),或?qū)⑺性趨?shù)用撇號(hào)括起來(lái)。子參數(shù):包含傳遞給程序的變量信息。例1/RUN3 EXEC PGM=APG22,PARM=P1,123,P2=5在本例中,系統(tǒng)將參數(shù)P1、123 及P2=5 傳遞給程序APG22。例2/ STP6 EXEC PROC=ASFCLG,PARM.LKED=(MAP,LET)在本例中系統(tǒng)將MAP、LET 傳遞到過(guò)程ASFCLG 中名為L(zhǎng)KED 的過(guò)程步。19. 如何定義KSDS的次鍵(sub-index)?次鍵本身也是一個(gè)KSDS。它提供了另一種方法訪問(wèn)VSAM KSDS和
12、ESDS數(shù)據(jù)集。定義次鍵的步驟如下:1) 定義CLUSTER。2) 裝入數(shù)據(jù)。3) 用DEFINE ALTERNATEINDEX命令定義次鍵。4) 用DEFINE PATH命令將次鍵與CLUSTER相關(guān)聯(lián)。5) 用BLDINDEX命令建立次鍵。也就是在索引中裝入數(shù)據(jù)。 VSAM用3個(gè)編目項(xiàng)描述一個(gè)次鍵:-一個(gè)次鍵項(xiàng)描述次鍵是一個(gè)KSDS。-一個(gè)數(shù)據(jù)項(xiàng)描述次鍵的數(shù)據(jù)部件。-一個(gè)索引項(xiàng)描述次鍵的索引部件。 定義次鍵需要指定的信息與定義一個(gè)KSDS類似。如果次鍵允許許多不唯一的鍵,則RECORDSIZE必須足夠大。在定義次鍵時(shí),如指定了UPGRADE屬性,則VSAM數(shù)據(jù)集改變時(shí),次鍵自動(dòng)改變。 例
13、假定你有一個(gè)數(shù)據(jù)集叫PAYROLL.MASTER,其主鍵是雇員名字,你想建立一個(gè)次鍵。則:1) 定義次鍵:DEFINE ALTERNATEINDEX (NAME(PAYROLL.DEPT.AIX) RELATE(PAYROLL.MASTER) VOLUMES(AIX001) UPGRADE) DATA (NAME(PAYROLL.DEPT.AIX.DATA) TRACK (5 5) RECORDSIZE(200 2096) KEY (7 65) NONUNIQUEKEY) INDEX (NAME(PAYROLL.DEPT.AIX.INDEX) IMBED)2) 定義路徑:DEFINE PATH
14、(NAME(RAYROLL.DEPT.PATH) PATHENTRY(PAYROLL.DEPT.AIX) UPDATE)3) 在索引中裝入數(shù)據(jù):BLDINDEX INDATASET(RAYROLL.MASTER) OUTDATASET(PAYROLL.DEPT.AIX)以后你在使用這個(gè)數(shù)據(jù)集時(shí),如果你在JCL中的DD語(yǔ)句如下:/DD1 DD DSN=PAYROLL.MASTER,DISP=SHR則表示你使用主鍵訪問(wèn)該數(shù)據(jù)集。如果你在JCL中的DD語(yǔ)句如下:/DD1 DD DSN=PAYROLL.DEPT.AIX,DISP=SHR則表示你使用次鍵訪問(wèn)該數(shù)據(jù)集。20.為KSDS文件建立交替的索引?
15、/DS580416 EXEC PGM=IDCAMS,/PRMINDEX DD DSN=DS.DS580412.AGGR,DISP=SHR/ALTINDEX DD DSN=DS.DS580412.AGGR.AIX,DISP=SHR/IDCUT1 DD DSN=DS.DS580416.TEMP1,DISP=OLD,UNIT=IDMP,/ VOL=(,SER=(PDS001)/IDCUT2 DD DSN=DS.DS580416.TEMP2,DISP=OLD,UNIT=IDMP,/ VOL=(,SER=(PDS001)/SYSPRINT DD SYSOUT=*/SYSIN DD * BLDINDEX
16、INFILE(PRMINDEX) OUTFILE(ALTINDEX)/*COBOL:p型1-4個(gè)9占2位。5-9個(gè)9占4位 。10-18個(gè)9占8位。2.第66,77,88層是用來(lái)做什么的?66 重定義。77 無(wú)子層。88 條件判斷3.COBOL中有哪4個(gè)部? 都是必須的嗎? DATA DIVISION可以省略不寫(xiě)嗎? ENVIRONMENT DIVISON 可以省略不寫(xiě)么?標(biāo)識(shí)部 環(huán)境部 數(shù)據(jù)部 過(guò)程部4.批次程序如何引用文件?要在程序中加入哪些描述語(yǔ)句?ENVIRONMENT DIVISION. INPUT-OUTPUT SECTION. FILE-CONTROL. SELECT IN-FI
17、LE ASSIGN INDD ORGANIZATION IS SEQUENTIAL ACCESS MODE IS SEQUENTIAL FILE STATUS IS IN-FILE-STATUS. SELECT OUT-FILE ASSIGN OUTDD ORGANIZATION IS SEQUENTIAL ACCESS MODE IS SEQUENTIAL FILE STATUS IS OUT-FILE-STATUS. DATA DIVISION. FILE SECTION. FD IN-FILE. 01 IN-RECORD PIC X(80). FD OUT-FILE. 01 OUT-RE
18、CORD PIC X(80). 4.COMP和COMP-3,DISPLAY各表示什么意思? S9(4) COMP-3占多少字節(jié)? S9(7)V9(2) DISPLAY 占多少字節(jié)?COMP是二進(jìn)制,COMP-3是壓縮十進(jìn)制,DISPLAY是十進(jìn)制。S9(4) COMP-3占3個(gè)字節(jié)S9(7)V9(2) DISPLAY 占9個(gè)字節(jié)5.如果VSAM中的字段格式是 S9(7)V9(2) comp-3, 如何定義一個(gè)數(shù)據(jù)來(lái)接收這個(gè)數(shù)據(jù)并DISPLAY出來(lái)?答:通過(guò)定義 9(7).9(2) 來(lái)接收這個(gè)變量。6.S9(4) COMP-3在內(nèi)存中占多少字節(jié)? -1234在內(nèi)存中是如何存儲(chǔ)的?答: S9(4)
19、 COMP-3在內(nèi)存中占3個(gè)字節(jié), -1234在內(nèi)存中表示為 01 23 4D (16進(jìn)制表示) ( 00000001 00100011 01001101) (2進(jìn)制表示)7. S9(7) COMP在內(nèi)存中占多少字節(jié)? MOVE 1234 TO VAR, DIS PLAY 之后VAR1 顯示結(jié)果是 (VAR1的PIC字句是 S9(7) COMP-3)答:S9(7) COMP 在內(nèi)存中占4個(gè)字節(jié), MOVE 1234 TO VAR1之后, DISPLAY VAR1顯示為 0001234.8.COBOL程序讀取文件記錄,如何判斷已經(jīng)讀到最后一條記錄 100-READ.READ FILE1 INTO
20、 FILE-REC AT END. NOT AT END . GO TO 100-READ.9.COBOL中如何調(diào)用子程序?如何向子程序傳值?使用CALL,XTCL,LINK來(lái)調(diào)用子程序,其中call使用在batch程序中,XCTL,LINK使用在CICS中。使用call和LINK調(diào)用子程序后,子程序結(jié)束后仍回到主程序。而XTCL后,子程序結(jié)束后不返回。使用通訊區(qū)在子程序間傳值。10.舉例說(shuō)明如何使用 REDEFINES, 要注意什么?REDEFINES是用來(lái)重定義,數(shù)據(jù)長(zhǎng)度和類型都可以不同05 AAA PIC X(6)05 BBB REDEFINES AAA. 10 B-1 PIC X(4)
21、. 10 B-2 PIC X(2)11.文件打開(kāi)的方式有哪幾種?各表示什么?INPUT 輸入 從該文件中讀取數(shù)據(jù)OUTPUT 輸出 把數(shù)據(jù)輸出到文件中I/O 即可輸入又可輸出EXTENT 擴(kuò)展12.你是如何調(diào)試批次程序的?在SDSF里面看作業(yè)的返回碼,進(jìn)入JES的作業(yè)信息查看是哪一個(gè)作業(yè)步發(fā)生了錯(cuò)誤,返回碼是多少,然后去響應(yīng)的作業(yè)步里面查看出錯(cuò)信息如果可能是變量錯(cuò)誤的話,用DISPLAY 跟蹤13.S0C7是什么錯(cuò)誤,如何解決?S0C7-may be due to: 1. Numeric operation on non-numeric data; 2. Un-initialize worki
22、ng-storage; 3. Coding past the maximum allowed sub script.數(shù)據(jù)類型不匹配。通過(guò)OFFSET后面的十六進(jìn)制的數(shù)。14.在線程序與批次程序有何區(qū)別?根本區(qū)別:在線程序需要用到cics,而批次程序不需要15.COBOL讀取文件記錄的語(yǔ)句,分別描述一下順序和索引文件的讀取READ INTO AT END NOT AT END READ INTO KEY IS INVALID KEY NOT INVALID KEY16.如何定義一個(gè)數(shù)組?比如學(xué)生記錄里面課程有8門(mén)01 STUDENT. 05 NAME PIC X(10). 05 COURSE P
23、IC X(4) OCCURS 8 TIMES.OCCURS不能定義在01層。17. VSAM文件的組織形式有哪些? ESDS:Entry Sequential Data Set; 順序數(shù)據(jù)集;特點(diǎn)是:A,記錄只能增加在文件尾部;B,記錄可被修改但長(zhǎng)度不能被改變,記錄不能被刪除;C能根據(jù)相對(duì)尋址的方式進(jìn)行操作。RRDS:Relative Record Data Set; 相對(duì)記錄數(shù)據(jù)集;特點(diǎn)是:A,在數(shù)據(jù)集中包含許多小的數(shù)據(jù)塊,這些可能有數(shù)據(jù)或?yàn)榭?;B,記錄可能是固定的或可變的;C,肯順序或直接的存取,根據(jù)相對(duì)的記錄數(shù)方式操作。KSDS:Key Sequential Data Set; 索引數(shù)據(jù)
24、集;特別是:A,記錄能進(jìn)行順序或直接的讀寫(xiě);B,記錄能被新增、修改、刪除無(wú)限制,記錄由索引方式來(lái)組織;C,按鍵值的方式進(jìn)行操作。LDS 線性存儲(chǔ),數(shù)據(jù)沒(méi)有分界線。18.文件的訪問(wèn)方式有哪些? SEQUENTIAL 順序RANDOM 隨機(jī)DYNAMIC 動(dòng)態(tài)(有條件)19.REDEFINES的起什么作用,請(qǐng)簡(jiǎn)述REDEFINES使用時(shí)要注意的地方答: REDEFINES表示重定義,為同一個(gè)內(nèi)存重新定義一個(gè)變量的名字。 例如: 01 A PIC S9(7)V9(2) COMP-3. 我們用B 來(lái)REDEFINES A 就用如下語(yǔ)句: 01 B REDEFINES A PIC X(5). 例如: 0
25、1 A. 03 A1 PIC X(6). 03 B1 REDEFINES A1. 05 B11 PIC X(4). 05 B12 PIC 99. 03 C1 REDEFINES A1 PIC 9(6). 1.數(shù)據(jù)名2與數(shù)據(jù)名1的層號(hào)必須相同。REDEFINES子句不能用于88層和66層。2.用REDEFINES子句的描述體應(yīng)緊跟在被重新定義的數(shù)據(jù)項(xiàng)的描述之后,中間不能插入其他項(xiàng)的描述說(shuō)明。 3.可以多次重定義,但必須緊跟出現(xiàn),而且要求使用最初定義的數(shù)據(jù)名。4.REDEFINES子句不能用于文件節(jié)的01層中,因?yàn)槲募?jié)中01層描述的是記錄,但工作單元節(jié)中的01層是可以用REDEFINES子句重新
26、定義的,因?yàn)檫@里的01層不是指輸入輸出文件的記錄,而是指組合項(xiàng)。5.用REDEFINES子句可以改變數(shù)據(jù)的結(jié)構(gòu),但兩個(gè)數(shù)據(jù)名的長(zhǎng)度應(yīng)相同。6.內(nèi)存中的值為數(shù)據(jù)名1和數(shù)據(jù)名2共享。也就是說(shuō),重定義后兩個(gè)數(shù)據(jù)名的名稱和兩種數(shù)據(jù)結(jié)構(gòu)同時(shí)存在,都有效。程序中可使用其中任何一個(gè)。他們?cè)趦?nèi)存中為同一段存儲(chǔ)單元。如果改變了內(nèi)存內(nèi)容,則二者的值都因而改變。 7.重定義子句所在的數(shù)據(jù)描述體中不能使用初值子句賦初值20.如何定義和使用文件 ? 如何把COBOL程序中的文件關(guān)聯(lián)到實(shí)際的文件上?答:在COBOL程序的Environment division段里的INPUT-OUTPUT SECTION FILE-CO
27、NTROL進(jìn)行文件的定義,包括內(nèi)部文件名,外部文件名,文件的格式以及訪問(wèn)方式 在 Data Division里的 FILE SECTION里面進(jìn)行 FD 進(jìn)行文件記錄變量的描述 在 運(yùn)行程序的JCL里面通過(guò)指定PGM = 程序名, 和相同的外部文件名來(lái)關(guān)聯(lián)程序和實(shí)際的物理數(shù)據(jù)集。21. COBOL中如何做循環(huán),請(qǐng)描述下常用的循環(huán)語(yǔ)句答:COBOL中主要通過(guò) PERFORM做循環(huán);PERFORM有3種主要的格式:PERFORM 100-PROC X TIMES ;PERFORM 100-PROC UNTIL X 10;PERFORM 100-PROC VARYING X FROM 1 BY 1
28、UNTIL X 10; GO TO 語(yǔ)句。22.如何從VSAM中的一條記錄開(kāi)始順序讀取以下的記錄答: 通過(guò)指定KEY值來(lái)指定從文件的哪個(gè)KEY開(kāi)始讀記錄,用COBOL語(yǔ)句: START FILE1 KEY IS EQUAL TO 變量 END-START READ FIEL1 NEXT RECORD INTO 文件記錄變量 END-READ 從文件頭中間開(kāi)始CICS STARTBR, READNEXT or READPREV, then ENDBR.讀取首條記錄,給key值賦LOW-VELUE,STARTB-READNEXT;從文件尾讀取,給key值賦HIGH-VALUE,STARTB-REA
29、DPREV.23. INSPECT 語(yǔ)句,簡(jiǎn)單說(shuō)一下INSPECT TALLYING & INSPECT REPLACING答: INSPECT 變量 TALLYING N FOR ALL 表示統(tǒng)計(jì)變量中的空格數(shù),把統(tǒng)計(jì)結(jié)果給N. INSPECT 變量 REPLACING ALL SPACE BY . 表示把變量中的所有空格,用 . 替換掉。24. INITIALIZE 語(yǔ)句作用是什么,INITIALIZE VAR,如果VAR是字符型,那么DISPLAY VAR后是什么結(jié)果,如果VAR是數(shù)值型,那么DISPLAY VAR后是什么結(jié)果?答: INITIALIZE 語(yǔ)句是用來(lái)初始化變量?jī)?nèi)存的語(yǔ)句,
30、 如果變量是字符型/字母型就初始化為 空格, 如果是數(shù)值型就都初始化為 0 25. CORRESPONDING 是什么作用在COBOL中,如何使用?答:相應(yīng)變量傳送,通過(guò)用 MOVE CORRESPONGDNG 組合項(xiàng)A TO 組合項(xiàng) B , ( 組合項(xiàng) A 和 組合項(xiàng) B 里有同名的子項(xiàng)的定義)26. 描述一下讀文件的全過(guò)程。INPUT-OUTPUT SECTION的FILE-CONTROL中,用SELECT語(yǔ)句將外部文件和內(nèi)部文件聯(lián)系起來(lái);在FILE SECTION中,通過(guò)FD定義文件的記錄格式等;在PROCEDURE DIVISION中,首先OPEN INPUT/OUTPUT/I-O/E
31、XTEND,READ或START-READ NEXT;讀完之后CLOSE。判斷文件讀取狀態(tài)使用FILE STATUS。10 讀取順序數(shù)據(jù)集時(shí)讀不到或者已經(jīng)讀到文件尾;22 寫(xiě)Indexed文件的時(shí)候,存在關(guān)鍵字重復(fù)的記錄;35 數(shù)據(jù)集不存在;37 用數(shù)據(jù)集不支持的方式打開(kāi)文件(An OPEN statement with the INPUT, I-O, or EXTEND phrase was attempted on a non-optional file that was not present.);39 程序定義與文件屬性不匹配。記錄格式不匹配;92 邏輯錯(cuò)誤,沒(méi)先讀就寫(xiě);S0C4 讀文
32、件時(shí)文件沒(méi)有打開(kāi)。27.如何定義一個(gè)VSAM文件在CICS中.CEDA DEF FILE(file-name) G(group)指定 DSN 和文件的操作( ADD, READ, WRITE, UPDATE and DELETE).28項(xiàng)目過(guò)程,也就是從你接到程序文檔到提交程序這中間你所要完成的一切步驟。 看懂程序文檔,弄清楚程序流程,劃分功能模塊,編碼,分布測(cè)試,整體測(cè)試。29在DD語(yǔ)句中,DCB參數(shù)的含義?Use the DCB parameter to complete during execution the data set information in the data contr
33、ol block (DCB).DSORG specifies the organization of the dataset, sequential or partitioned.RECFM specifies the record format of the dataset, FB, F, V, VB or other.DSNTYPE specifies the type of the dataset, PS, PO, or LIBRARY.BLKSIZE specifies the block size of the dataset, can be default.LRECL specif
34、ies the record length of the dataset.30.開(kāi)發(fā)周期的描述?A開(kāi)發(fā)前,對(duì)項(xiàng)目做詳細(xì)的問(wèn)卷調(diào)查和可行性分析,要產(chǎn)生可行性研究報(bào)告和行動(dòng)方案等文檔;B開(kāi)發(fā)期間,對(duì)項(xiàng)目進(jìn)行需求分析,軟件設(shè)計(jì),編碼,測(cè)試,并產(chǎn)生需求分析規(guī)格說(shuō)明書(shū)、概要設(shè)計(jì)規(guī)格說(shuō)明書(shū)、詳細(xì)設(shè)計(jì)說(shuō)明書(shū)(包括MAP設(shè)計(jì),數(shù)據(jù)庫(kù)設(shè)計(jì),算法設(shè)計(jì),程序邏輯設(shè)計(jì),程序流程圖等)、項(xiàng)目開(kāi)發(fā)計(jì)劃書(shū)、測(cè)試需求說(shuō)明書(shū)、測(cè)試設(shè)計(jì)說(shuō)明書(shū)、項(xiàng)目測(cè)試計(jì)劃書(shū)、測(cè)試報(bào)告書(shū)、項(xiàng)目總結(jié)報(bào)告、用戶手冊(cè)等;C開(kāi)發(fā)后,對(duì)項(xiàng)目進(jìn)行維護(hù)和客戶服務(wù)。DB2:1主鍵和唯一索引的區(qū)別?主鍵一定是唯一性索引,唯一性索引并不一定就是主鍵。一個(gè)表中可以有多
35、個(gè)唯一性索引,但只能有一個(gè)主鍵 所謂主鍵就是能夠唯一標(biāo)識(shí)表中某一行的屬性或?qū)傩越M,一個(gè)表只能有一個(gè)主鍵,但可以有多個(gè)候選索引。因?yàn)橹麈I可以唯一標(biāo)識(shí)某一行記錄,所以可以確保執(zhí)行數(shù)據(jù)更新、刪除的時(shí)候不會(huì)出現(xiàn)張冠李戴的錯(cuò)誤。主鍵除了上述作用外,常常與外鍵構(gòu)成參照完整性約束,防止出現(xiàn)數(shù)據(jù)不一致。數(shù)據(jù)庫(kù)在設(shè)計(jì)時(shí),主鍵起到了很重要的作用。主鍵可以保證記錄的唯一和主鍵域非空,數(shù)據(jù)庫(kù)管理系統(tǒng)對(duì)于主鍵自動(dòng)生成唯一索引,所以主鍵也是一個(gè)特殊的索引。2.Plans 和packages的作用?一個(gè)CICS的應(yīng)用程序訪問(wèn)DB2的數(shù)據(jù)時(shí),必須要做一些相應(yīng)的準(zhǔn)備工作,涉及DB2的是bind墓獺ind是產(chǎn)生一個(gè)plan的過(guò)程
36、,plan包括程序中所有使用的SQL語(yǔ)句,在執(zhí)行的時(shí)候,CICS程序可以通過(guò)plan訪問(wèn)DB2的數(shù)據(jù)。這些plan位于DB2內(nèi)部,在CICS連接DB2的時(shí)候,每個(gè)線程都要指定一個(gè)相應(yīng)的plan。在CICS中,定義DB2CONN的時(shí)候,在pool的線程的屬性中,有相應(yīng)的plan的名稱;定義DB2ENTRY的時(shí)候,在entry的線程的屬性中,有相應(yīng)的plan的名稱。一CICS的程序訪問(wèn)DB2數(shù)據(jù)的時(shí)候,需要做下面的一些準(zhǔn)備工作。 1 第1步,CICS的程序做DB2的預(yù)編譯。在此步驟中,DB2的預(yù)編譯建立DBRM(database request model),包括程序中所有的SQL語(yǔ)句的信息。 2
37、 第2步CICS的語(yǔ)句翻譯,第3步編譯,第4步鏈接都是CICS程序的通常步驟,無(wú)論是否訪問(wèn)DB2。在第4步鏈接的時(shí)候,如果訪問(wèn)DB2,會(huì)包括DSNCLI(CICS DB2 language interface module)。 3如果訪問(wèn)DB2,一個(gè)附加的步驟是第5步bind,Bind過(guò)程需要DB2和第1步生成的DBRM,據(jù)此產(chǎn)生plan,程序就可以訪問(wèn)DB2了。任何 CICS的應(yīng)用程序訪問(wèn)DB2,都需要bind過(guò)程。Bind過(guò)程是將DBRM中涉及的SQL語(yǔ)句放進(jìn)一個(gè)操作的表格,并被翻譯成DB2運(yùn)行SQL語(yǔ)句使用的control structures。作為結(jié)果,可以放到一個(gè)package中,或
38、者直接放到一個(gè)plan中。二Plans 和packages的介紹應(yīng)用程序在執(zhí)行的時(shí)候,訪問(wèn)DB2數(shù)據(jù)是通過(guò)plan來(lái)進(jìn)行的。如果由DBRM得到的可操作的SQL語(yǔ)句直接放入一個(gè)plan中,我們稱作DBRM直接bind到plan。另外,還可以將由DBRM得到的可操作的SQL語(yǔ)句放入一個(gè)package中(使用BIND PACKAGE 命令),之后,將有聯(lián)系的packages放入一個(gè)集合中,再把集合(或者多個(gè)package)bind到一個(gè)plan中。相應(yīng)的DBRM可以是服務(wù)一個(gè)應(yīng)用程序或多個(gè)應(yīng)用程序。另一方面,當(dāng)plan生成后,需要相應(yīng)的維護(hù)。在一個(gè)應(yīng)用程序或多個(gè)應(yīng)用程序中,如果修改了SQL語(yǔ)句,就需
39、要重新生成相應(yīng)的DBRM。在plan生成時(shí),采用的是DBRM直接bind到plan的話,就需要把此plan中所有的DBRM重新bind,包括修改的應(yīng)用程序和沒(méi)有修改的應(yīng)用程序。當(dāng)plan在 bind時(shí),應(yīng)用程序是不能通過(guò)它來(lái)訪問(wèn)DB2的。在plan生成時(shí),采用的是DBRM bind到package的話,只需要把修改的應(yīng)用程序的DBRM重新bind到package(和原來(lái)package的名字要求一致)中,就可以了,不用再bind到plan。Plan中其他的packages不需要做任何的操作。當(dāng)package在bind時(shí),不使用此package的應(yīng)用程序可以通過(guò)plan訪問(wèn)DB2。在CICS環(huán)境中
40、,定義連接DB2CONN(pool thread)和DB2ENTRY(entry thread)時(shí),會(huì)指定使用的plan。當(dāng)CICS的應(yīng)用程序訪問(wèn)DB2的數(shù)據(jù)時(shí),會(huì)告訴DB2要使用的plan,DB2再找到plan,對(duì)數(shù)據(jù)進(jìn)行操作。entry thread指定的plan,采用的是DBRM直接bind到plan的話,當(dāng)對(duì)某個(gè)程序修改后,bind時(shí),使用此DB2ENTRY的所有CICS交易,就不能訪問(wèn)DB2的數(shù)據(jù)。pool thread指定的plan,采用的是DBRM直接bind到plan的話,當(dāng)對(duì)某個(gè)程序修改后,bind時(shí),所有的CICS交易(沒(méi)有指定使用entry thread),就不能訪問(wèn)DB
41、2的數(shù)據(jù),影響是比較大的。所以,避免將DBRM直接bind到plan中,而采用將各自的DBRM bind到不同的package中,是一個(gè)很好的選擇。 3.SQL語(yǔ)句中各個(gè)子句執(zhí)行的順序。order by 永遠(yuǎn)要寫(xiě)在sql語(yǔ)句的最后一條。1、 FROM 子句。2、WHERE 子句。3、GROUP 子句。4、HAVING 子句。5、SELECT 子句。6、ORDER BY 子句。 4.QSAM和VSAM的ESDS有什么區(qū)別?在用法上基本上沒(méi)有區(qū)別。QSAM是順序數(shù)據(jù)集。VSAM的ESDS是VSAM數(shù)據(jù)集使用上ESDS用有VSAM數(shù)據(jù)集的一些特性,如可以擴(kuò)展123次,而QSAM的只可以16次。從數(shù)據(jù)
42、訪問(wèn)方式上,兩者基本相同,都是順序訪問(wèn)。5.CALL(Static CALL,Dynamic CALL) & LINK的區(qū)別。Be aware that CALL does not mean the called module is part of the load module. That is only true if it is a Static call. Dynamic calls do not include the called routine in the load module.This question must be related to CICS since COBOL
43、 does not have a LINK statement. There are distinctions as listed below:Static CALL: Called module is part of the load module. CICS knows nothing about it and doesnt get involved with the communication between the modules.Dynamic CALL: Called module is not part of the load module. CICS needs a PPT e
44、ntry for both the called and calling program. Under the covers, CICS treats it like a LINK request. Arguments are passed as with a static call.LINK: CICS command-level request to pass control to another module with a return back to the caller. Arguments are passed in a COMMAREA.6.動(dòng)態(tài)的SQL和靜態(tài)的SQL的區(qū)別?dy
45、namic SQL: sql statements that are prepared and executed within an application program while the program is executing. In dynamic SQL ,the SQL source is contained in host language variables rather than being coded into the application program.The SQL statement can change several times during the app
46、lication programs execution.static SQL: SQL statements,embedded within a program, that are perpared during the program perparation process(before the program is executed )after being perpared,the SQL statement does not change(although values of host variables that are specified by the statement migh
47、t chang).7.COBOL & DB2程序的編譯過(guò)程是哪幾步?BIND是做什么用的?Package & plan 如何理解的?4部 DB2 pre-compiler (if embedded SQL used), CICS translator (if CICS program), COBOL compiler, Link editor, binding the DBRMs using the package or plan.預(yù)編譯時(shí)把SQL語(yǔ)句全部提出來(lái),通過(guò)綁定放到DBRM指定的PLAN中,再把沒(méi)有SQL語(yǔ)句的程序編譯成機(jī)器語(yǔ)言,執(zhí)行時(shí)把機(jī)器語(yǔ)言和PLAN連接起來(lái)。PLAN中存放的是
48、訪問(wèn)路徑。a) 預(yù)編譯作業(yè)步:檢查SQL語(yǔ)句并產(chǎn)生數(shù)據(jù)庫(kù)請(qǐng)求模塊;檢查主機(jī)變量;b) COBOL作業(yè)步:檢查COBOL程序的語(yǔ)法及語(yǔ)義;c) 連接作業(yè)步:檢查CICS命令和語(yǔ)法,產(chǎn)生可執(zhí)行模塊;d) 綁定作業(yè)步:BIND PLAN/PACKAGE,綁定COBOL和DB2;COBOL DB2的編譯過(guò)程有預(yù)編譯,編譯,鏈接和綁定。 預(yù)編譯:是DB2的預(yù)編譯,對(duì)SQL語(yǔ)句進(jìn)行處理,把源程序中的SQL語(yǔ)句提取出來(lái)到DBRM。 編譯: 是COBOL的編譯,對(duì)沒(méi)有SQL語(yǔ)句的源程序進(jìn)行正常的COBOL的編譯。 連接: 對(duì)源程序進(jìn)行連接,生成編譯后的可執(zhí)行模塊。 綁定: 對(duì)產(chǎn)生出來(lái)的可執(zhí)行程序模塊和生成的P
49、LAN進(jìn)行綁定 BIND的作用是檢查DB2的語(yǔ)法,并選擇最優(yōu)的路徑去訪問(wèn)DB2里面的表。 PLAN & PACKAGE是存放帶有訪問(wèn)路徑經(jīng)過(guò)綁定后的DBRM,PACKAGE的優(yōu)勢(shì)在于將存放SQL的DBRM粒化,以更小的單位進(jìn)行存放SQL。8.為什么要用游標(biāo), 在程序中如何使用? 從表中SELECT記錄時(shí),滿足條件的記錄不止一條時(shí)就需用到游標(biāo)。1 DECLARE, 2 OPEN 3 FETCH 4 CLOSE9.SQLCODE = -811 表示什么錯(cuò)誤? 如何解決滿足條件的記錄不止一條,用游標(biāo)。10.SQLCODE = -803 表示什么錯(cuò)誤? 如何解決在唯一索引的惟一鍵處UPDATE INS
50、ERT了已經(jīng)存在的數(shù)據(jù),使惟一鍵不唯一便會(huì)出現(xiàn)該錯(cuò)誤。11. -805是什么錯(cuò)誤?如何解決?答: -805表示程序的可執(zhí)行模塊和PLAN不是同一個(gè)編譯產(chǎn)生的結(jié)果。我們需要通過(guò)CEMT S PROG(PROGRAM) NEW 來(lái)刷新程序,或者是重新進(jìn)行綁定。12.請(qǐng)簡(jiǎn)述COPY BOOK 和 EXEC SQL INCLUDE 的區(qū)別答: COPY BOOK中的內(nèi)容在COBOL 編譯的時(shí)候可以被識(shí)別,COPY BOOK里的內(nèi)容可以被展開(kāi),但是EXEC SQL INCLUDE只能在DB2預(yù)編譯的時(shí)候被展開(kāi),COBOL編譯器不能識(shí)別。13. -911返回碼表示什么意思?911表示由于資源搶奪,當(dāng)前工作
51、單元UOW已經(jīng)回滾。發(fā)生死鎖。14. DB2有那些OBJECT? (table space data base table view)DATA BASE ; TABLE SPACE ; TABLE; VIEW; INDEX; KEY 等14.DB2為什么要 INCLUDE SQLCA?An SQLCA is a structure or collection of variables that is updated after each SQLstatement executes. An application program that contains executable SQLstate
52、ments must provide exactly one SQLCA. There are two exceptions:v A program that is precompiled with the STDSQL(YES) option must not providean SQLCAv In some cases (as discussed below in In Fortran), a Fortran program mustprovide more than one SQLCA. The description of the SQLCA that is given by INCL
53、UDE SQLCA is shown for eachof the host languages.CA就是communication area ,最主要的內(nèi)容就是sqlcode和SQLSTATE,還有別的,DB2 實(shí)時(shí)更新這個(gè)區(qū)域,可以用程序訪問(wèn)里面的變量,需要在程序的開(kāi)始聲明這個(gè)區(qū)域。(就是一個(gè)區(qū)域,每次執(zhí)行一個(gè)SQL語(yǔ)句,返回碼改變一次)15.DCLGEN是什么,有什么作用?在程序中如何引用DCLGEN產(chǎn)生的變量DCLGEN is a DB2 DSN subcommand for generating table declarations for designated tables or views. The declarations are storedin MVS data sets, for later inclusion in DB2 source programs.EXEC SQL INCLUDE DCLGENMEM END-EXEC16.DB2中 VARCHAR型的數(shù)據(jù),主機(jī)變量中如何表示?分為兩部分來(lái)表示:一部分表示其長(zhǎng)度 S9(4) comp另一部分表示數(shù)據(jù) X(N)COMPUTE FIRSTNME1-LENGTH = FUNCTION LENGTH (FIRSTNME1)MOVE FIRSTNME1-LENGTH TO TBD445-FIRSTN
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 課題申報(bào)參考:聚焦體育新課標(biāo)小學(xué)體育課運(yùn)動(dòng)負(fù)荷主觀測(cè)評(píng)路徑與調(diào)控策略研究
- 課題申報(bào)參考:教師教學(xué)洞察力的表現(xiàn)特征、生成機(jī)制及發(fā)展路徑研究
- 包含維修條款的2025年度二手手機(jī)買(mǎi)賣(mài)合同范本3篇
- 二零二五版桉樹(shù)種植與星海生態(tài)教育合作項(xiàng)目合同3篇
- 二零二五年度出國(guó)留學(xué)學(xué)費(fèi)支付及管理合同3篇
- 二零二五年度煤炭運(yùn)輸合同范本:多式聯(lián)運(yùn)與綜合物流服務(wù)協(xié)議4篇
- 二零二五版文化中心場(chǎng)地租賃協(xié)議書(shū)4篇
- 2025年度海洋工程聘用工程師及項(xiàng)目實(shí)施合同4篇
- 2025版充電樁安全風(fēng)險(xiǎn)評(píng)估與應(yīng)急預(yù)案制定合同3篇
- 二零二五版智慧醫(yī)療路演投資合同范本4篇
- 2025年度版權(quán)授權(quán)協(xié)議:游戲角色形象設(shè)計(jì)與授權(quán)使用3篇
- 心肺復(fù)蘇課件2024
- 《城鎮(zhèn)燃?xì)忸I(lǐng)域重大隱患判定指導(dǎo)手冊(cè)》專題培訓(xùn)
- 湖南財(cái)政經(jīng)濟(jì)學(xué)院專升本管理學(xué)真題
- 全國(guó)身份證前六位、區(qū)號(hào)、郵編-編碼大全
- 2024-2025學(xué)年福建省廈門(mén)市第一中學(xué)高一(上)適應(yīng)性訓(xùn)練物理試卷(10月)(含答案)
- 《零售學(xué)第二版教學(xué)》課件
- 廣東省珠海市香洲區(qū)2023-2024學(xué)年四年級(jí)下學(xué)期期末數(shù)學(xué)試卷
- 房地產(chǎn)行業(yè)職業(yè)生涯規(guī)劃
- 江蘇省建筑與裝飾工程計(jì)價(jià)定額(2014)電子表格版
- MOOC 數(shù)字電路與系統(tǒng)-大連理工大學(xué) 中國(guó)大學(xué)慕課答案
評(píng)論
0/150
提交評(píng)論