JCL:1简单描述一下DISP的使用,它有哪些参数?DISP参数用来告诉系统要使用的数据集的状态是什么并且告诉系统当本作业步执行完毕后如何处理这个数据集。你可以为作业步正常结束和非正常结束时分别指定不同的处理方法。DISP=([NEW][,DELETE][,DELETE])为空时也表示这个。[OLD][,KEEP][,KEEP][SHR][,PASS][,CATLG][MOD][,CATLG][,UNCATLG][,][,UNCATLG]2什么是PROCEDURE,有哪几种PROCEDURE,简述区别有2中PROCEDURE,一种是CATALOG的PROCEDURE,是把过程的JCL语句写在一个编目的数据集里,该数据集必须是PDS或PDSE里的一个成员,能够同时被多个JCL调用。另一种是INSTREAM的PROCEDURE,流内PROCEDURE,写在一个JCL里面,以PROC开头,以PEND字句结束。3.什么是GDG数据集,GDG数据集的每一代数据集是否可以是不同类型的?定义GDG数据集有3个重要的参数:LIMITNOEMPTYSCRATCH各表示什么含义?定义GDGBASE之后要必须定义什么?答:GDG数据集是一组名字相似,时间和功能相关的数据集。GDG数据集是MVS中的世代数据集,通过IDCAMS来创建。GDG数据集的每一代可以是不同类型的。3个重要的参数LIMIT表示这个世代数据集最多可以有多少代;NOEMPTY表示不清空,SCRATCH表示最老的一代是被删除掉的。定义GDGBASE之后必须定义GDGDSCB才能生效。4.COND参数是什么意思?如果我需要作业步3,只在作业步2返回码是0或者4的时候才执行,如何写COND参数?答:COND参数是CONDITION参数,表示什么情况下作业步被执行/不被执行。COND=(4,LT,STEP2)5.IEBCOPY与IEBGENER有什么区别?IEFBR14是起什么作用的?IEBCOPY:对分区数据集进行拷贝、压缩或合并IEBGENER:拷贝顺序数据集,或将顺序数据集转为分区数据集IEFBR14实际是一个空程序,什么也不做,只是返回返回码0,但是使用它可以进行JCL语言的各种处理,如DD语句中创建数据集等。6用哪一个UTILITY去定义VSAM文件,简介一个定义VSAM文件的一些参数DEFVSAMEXECPGM=IDCAMSDEFINECLUSTER(NAME(OCB4D4.EX0801.VKD44N)VOL(TSTCC2)-RECSZ(4848)REC(10001000)KEYS(100))7.定义VSAM的时候是否可以指定VSAM分配的大小,通过哪个参数指定?答:通过用IDCAMS来定义VSAM文件,通过指定CYL参数来指定VSAM分配的大小,在定义VSAM的DATA部件的时候指定的VSAM文件的大小8.定义VSAM的时候,参数KEYS(912)表示什么意思?(60)答:KEYS(9,12)表示从记录的12列开始,数9个长度作为VSAM文件的KEY.比如KEYS(60),就是指从文件开始的6个长度的字段作为KEY9.SPACE参数如何使用?比如你要建一个PDS数据集,SPACE=(TRK,(1,1,1)),3个1各表示什么?第一个首次分配;第二个扩展分配;第三个目录区大小10.要建立一个PDSE数据集,记录格式是定长不分块,记录长度是120,块大小系统选定,DCB参数如何写,为了指明建立的是PDSE还要写哪个参数?答:DCB=(RECFM=F,LRECL=120,BLKSIZE=0),还要指定DSNTYPE=LIBRARY参数才能表示是分配的是PDS-E数据集。11.如何让系统指定BLKSIZE,系统指定有什么好处?答:系统指定BLKSIZE的话,需要在有RECFM参数,LRECL参数的情况下,指定BLKSIZE=0,或者不指定BLKSIZE参数,就是系统指定BLKSIZE参数。系统指定BLKSIZE的话,可以最优化块大小的分配,节省系统空间。12.PDSE和PDS有什么区别?PDS删除的成员空间不会自动释放,压缩才能使用该存储空间。而PDSE的删除后自动释放,不可压缩。PDS可能有目录缺陷而PDSE没有13.在一个JCL作业中有多个作业步,如何从其中的一个作业步开始执行作业,用哪个参数指定?答:可以通过在JOB语句里面指定RESTART=STEP5参数是JCL直接从作业步5开始执行。14.SPACE参数中的RLSE参数是起到什么作用?答:RLSE参数表示RELEASE,表示系统自动释放掉分配给数据集的但是没有被使用的空间。15.JCL中定义的记录格式有哪些?分别表示什么含义?FB定长分块F定长不分块VB变长分块V变长不分块和U未定义,存放的是二进制代码。16.STEPLIBDD语句,JOBLIBDD语句,JCLLIBDD语句分别起什么作用?答:JCLLIB用在PROCEDURE中,指定JCL中用到的PROCEDURE放在哪里;JOBLIB和STEPLIB都是用来自定JCL中用到的PROGRAM放在哪里,如果单独有JOBLIB或STEPLIB的话就是去JOBLIB或STEPLIB后面指定的数据集去找PROGRAM。如果JOBLIB和STEPLIB都有的话,那么JOBLIB会被忽略,去STEPLIB里面去找如果JOBLIB和STEPLIB都不指定的话,就是去SYS1.LINKLIB里面去找。17.SORTUTILITY是用来做什么的,如果我想对记录中的第二个字段进行字符升序排序,这个字段的起始位置是4长度是19,如何写SORT的控制语句?答:主要是对文件中的记录进行排序,最常见的参数是SORTFIELDS,按照题目要求这样的SORT语句应该这样写:SORTFIELDS=(4,19,CH,A)DFSORT是IBM的DataFacility家族的一员,用来对数据集进行排序、拷贝和合并。控制选项:SORT:指定对数据集进行排序操作;MERGE:指定对数据集进行合并操作;COPY:指定对数据集进行拷贝操作;FIELDS:指定排序键值的信息,格式为FIELDS=(起始位置,长度,升降序[,起始位置,长度,升降序]),FORMAT=数据类型(起始位置,长度,数据格式,升降序[,起始位置,长度,数据格式,升降序])其中位置和长度都是以字节为单位,顺序可选的有A:升序,D:降序,E:使用用户出口例程定序;FORMAT=指定键字的类型,可选项有CH:字符类型,PD:压缩十进制型,BI:二进制型,AC:ASCII码型。18.通过JCL怎么传递参数?PARM用于向本作业步执行的程序传递变量信息。该程序必须有相应的指令接收这些信息,并使用它们。格式:PARM[.过程步名]=子参数PARM[.过程步名]=(子参数,子参数)PARM[.过程步名]=(‘子参数’,子参数)PARM[.过程步名]=’子参数,子参数’包括所有的逗号、撇号以及括号在内,所有子参数的总长度不得超过100个字符。当某子参数中含有特殊字符或空格时,可以将该子参数用撇号括起来,在其它子参数一起用括号括起来,或将所有在参数用撇号括起来。子参数:包含传递给程序的变量信息。例1.//RUN3EXECPGM=APG22,PARM=’P1,123,P2=5’在本例中,系统将参数P1、123及P2=5传递给程序APG22。例2.//STP6EXECPROC=ASFCLG,PARM.LKED=(MAP,LET)在本例中系统将MAP、LET传递到过程ASFCLG中名为LKED的过程步。19.如何定义KSDS的次键(sub-index)?次键本身也是一个KSDS。它提供了另一种方法访问VSAMKSDS和ESDS数据集。定义次键的步骤如下:1)定义CLUSTER。2)装入数据。3)用DEFINEALTERNATEINDEX命令定义次键。4)用DEFINEPATH命令将次键与CLUSTER相关联。5)用BLDINDEX命令建立次键。也就是在索引中装入数据。VSAM用3个编目项描述一个次键:-一个次键项描述次键是一个KSDS。-一个数据项描述次键的数据部件。-一个索引项描述次键的索引部件。定义次键需要指定的信息与定义一个KSDS类似。如果次键允许许多不唯一的键,则RECORDSIZE必须足够大。在定义次键时,如指定了UPGRADE属性,则VSAM数据集改变时,次键自动改变。例假定你有一个数据集叫PAYROLL.MASTER,其主键是雇员名字,你想建立一个次键。则:1)定义次键:DEFINEALTERNATEINDEX(NAME(PAYROLL.DEPT.AIX)RELATE(PAYROLL.MASTER)VOLUMES(AIX001)UPGRADE)DATA(NAME(PAYROLL.DEPT.AIX.DATA)TRACK(55)RECORDSIZE(2002096)KEY(765)NONUNIQUEKEY)INDEX(NAME(PAYROLL.DEPT.AIX.INDEX)IMBED)2)定义路径:DEFINEPATH(NAME(RAYROLL.DEPT.PATH)PATHENTRY(PAYROLL.DEPT.AIX)UPDATE)3)在索引中装入数据:BLDINDEXINDATASET(RAYROLL.MASTER)OUTDATASET(PAYROLL.DEPT.AIX)以后你在使用这个数据集时,如果你在JCL中的DD语句如下://DD1DDDSN=PAYROLL.MASTER,DISP=SHR则表示你使用主键访问该数据集。如果你在JCL中的DD语句如下://DD1DDDSN=PAYROLL.DEPT.AIX,DISP=SHR则表示你使用次键访问该数据集。20.为KSDS文件建立交替的索引?//DS580416EXECPGM=IDCAMS,//PRMINDEXDDDSN=DS.DS580412.AGGR,DISP=SHR//ALTINDEXDDDSN=DS.DS580412.AGGR.AIX,DISP=SHR//IDCUT1DDDSN=DS.DS580416.TEMP1,DISP=OLD,UNIT=IDMP,//VOL=(,,,,SER=(PDS001))//IDCUT2DDDSN=DS.DS580416.TEMP2,DISP=OLD,UNIT=IDMP,//VOL=(,,,,SER=(PDS001))//SYSPRINTDDSYSOUT=*//SYSINDD*BLDINDEXINFILE(PRMINDEX)OUTFILE(ALTINDEX)/*COBOL:1.comp型1-4个9占2位。5-9个9占4位。10-18个9占8位。2.第66,77,88层是用来做什么的?66重定义。77无子层。88条件判断3.COBOL中有哪4个部?都是必须的吗?DATADIVISION可以省略不写吗?ENVIRONMENTDIVISON可以省略不写么?标识部环境部数据部过程部4.批次程序如何引用文件?要在程序中加入哪些描述语句?ENVIRONMENTDIVISION.INPUT-OUTPUTSECTION.FILE-CONTROL.SELECTIN-FILEASSIGNINDDORGANIZATIONISSEQUENTIALACCESSMODEISSEQUENTIALFILESTATUSISIN-FILE-STATUS.SELECTOUT-FILEASSIGNOUTDDORGANIZATIONISSEQUENTIALACCESSMODEISSEQUENTIALFILESTATUSISOUT-FILE-STATUS.DATADIVISION.FILESECTION.FDIN-FILE.01IN-RECORDPICX(80).FDOUT-FILE.01OUT-RECORDPICX(80).4.COMP和COMP-3,DISPLAY各表示什么意思?S9(4)COMP-3占多少字节?S9(7)V9(2)DISPLAY占多少字节?COMP是二进制,COMP-3是压缩