JCL InterviewCNWord格式文档下载.docx
《JCL InterviewCNWord格式文档下载.docx》由会员分享,可在线阅读,更多相关《JCL InterviewCNWord格式文档下载.docx(43页珍藏版)》请在冰豆网上搜索。
MODELDSCB是为GDG里的部分DATASET名创定标签。
系统需要一个存在的DATASET做为一个模型向你想创建的GDG提供DCB参数。
该模型DATASET标签必须被编目,MODELDSCB名放在创建GDG的DD语句中的DCB参数中。
Q4)HowareGDGsconcatenated?
A4)GenerationDataGroupsareconcatenatedbyspecifyingeachdatasetnameandthegenerationnumberforallgenerationsofthegenerationdatagroup.Otherwisetohaveallgenerationsofagenerationdatagroup,omitthegenerationnumber.TheDDstatementwillrefertoallgenerations.Theresultisthesameasifallindividualdatasetswereconcatenated.Ifgenerationsarenotonthesamevolume,thiswillnotwork.
GDG怎么样级联?
GDG级联既可以指定每一个DATASET名,也可以指定GDG里的世代个数。
另外,级联GDG里的所有世代可以省略世代个数。
DD语句将涉及到所有的世代。
结果和一个一个的级联一样。
如果世代不在同一个卷上该命令将不起作用。
Q5)HowisanewGDGcoded?
A5)AnewGDGiscodedas(+1)afterthedatasetnameasfollows:
DSN=JAN.DATA(+1).Thiswillcauseallgenerationstobepusheddownonelevelattheendofthejob.
怎么编写GDG?
一个新的子代GDG在DATASET名后加个(+1),例如:
DSN=JAN.DATA(+1)将使所有的世代数据都向上升一代(个人理解)。
并将该代数据放在最后一代。
Q6)WhenshouldDISP=MODisused?
A6)DISP=MODisusedtoeitherextendanexistingsequentialdatasetortocreateadatasetifitdoesnotexist.Ifthedatasetexists,thenrecordsareappendedtothedatasetattheendoftheexistingdataset.Ifthedatasetdoesnotexist,thesystemtreatsMODasifitwereNEW,providedthatthevolumeparameterhasnotbeenused.Ifthevolumeparameterisused,thesystemterminatesthejobanddoesnotcreatethenewdataset.MODcanbeusedtoaddtoadatasetthatextendsontoseveralvolumes.AlwaysspecifyadispositionofCATLGwithMODforcatalogeddatasets,eveniftheyarealreadycataloged,sothatanyadditionalvolumeserialnumberswillberecordedinthecatalog.
、什么时候使用DISP=MOD?
DISP=MOD既可以扩展一个顺序DATASET,也可以创建一个没有存在的DATASET,对于一个存在的DATASET,记录被追加到末尾。
如果没存在系统将把MOD当成NEW看,提供一个没有使用的空间参数。
如果空间参数使用过了,系统则终止JOB并且不创建DATASET,MOD可以被用来扩展一个DATASET的空间。
经常用MOD为一个编目的DATASET指定CATLG的属性,既使它已经编目了,因此在编目中可以增加任何连续的空间来写记录。
Q7)Howisadatasetpassedfromonesteptoanother?
A7)AdatasetispassedfromonesteptoanotherbasedonwhatiscodedontheDISPparameter.ThedatasetcanonlybepassedtosubsequentstepsifPASSwasusedonthedispositionparameter.
DATASET怎么从一个STEP传递到另一个STEP?
传递由DISP参数决定,使用DATASET只能被传递到下一个STEP
Q8)Howaredatasetsconcatenated?
A8)DatasetsareconcatenatedbywritinganormalDDstatementforthefirstdatasetandthenaddingaDDstatementwithoutaDDNAMEforeachdatasettobeconcatenatedintheordertheyaretoberead.Thefollowingisanexampleofthreedatasetsconcatenated:
//YEARDATDDDSN=JAN.DATA,DISP=SHR
//DDDSN=FEB.DATA,DISP=SHR
//DDDSN=MAR.DATA,DISP=SHR
DATASET怎么级联的?
DATASET级联是通过先写一个一般的DD语句,然后加上一个没有DDNAME的DD语句,看读取顺序被级联。
如上例所示。
Q9)WhatisthedifferencebetweentheJOBLIBandtheSTEPLIBstatements?
A9)TheJOBLIBstatementisplacedaftertheJOBstatementandiseffectiveforalljobsteps.Itcannotbeplacedina
catalogedprocedure.TheSTEPLIBstatementisplacedaftertheEXECstatementandiseffectiveforthatjobstep
only.UnliketheJOBLIBstatement,theSTEPLIBcanbeplacedinacatalogedprocedure.
JOBLIB语句和STEPLIB语句有什么区别
JOBLIB语句是在JOB语句之后,对于所有的steps都有效,并且不能放在编目过程中,STEPLIB语句是在EXEC语句之后,只对当前的step有效,不同于JOBLIB,它可以放在编目过程中。
Q10)NamesomeoftheJCLstatementsthatarenotallowedinprocs.?
A10)SomeoftheJCLstatementswhicharenotallowedinproceduresare:
1.JOB,Delimiter(/*),orNullstatements
2.JOBLIBorJOBCATDDstatements
3.DD*orDATAstatements
4.AnyJES2orJES3controlstatements
在procs那些JCL语句不能命名
在过程中不允许的JCL语句:
1.JOB,分隔符(/*),或空语句
2.JOBLIB或JOBCATDD语句
3.DD*或DATA语句
4.任何JES2或JES3控制语句
Q11)Whatisprimaryallocationforadataset?
A11)Thespaceallocatedwhenthedatasetisfirstcreated.
一个数据集的初次分配是什么
数据集建立时的空间
Q12)Whatisthedifferencebetweenprimaryandsecondaryallocationsforadataset?
A12)Secondaryallocationisdonewhenmorespaceisrequiredthanwhathasalreadybeenallocated.
一个数据集的主分配和从分配有什么区别
从分配是当要求更多空间时所分配的
Q13)Howmanyextentsarepossibleforasequentialfile?
ForaVSAMfile?
A13)16extentsonavolumeforasequentialfileand123foraVSAMfile.
一个顺序文件有多少extents,VSAM?
顺序文件为在一个卷上为16extents,VSAM文件为123
Q14)Whatdoesadispositionof(NEW,CATLG,DELETE)mean?
–GS
A14)Thatthisisanewdatasetandneedstobeallocated,toCATLGthedatasetifthestepissuccessfulandtodeletethedatasetifthestepabends.
(NEW,CATLG,DELETE)的意思是什么
创建一个新的数据集,在作业步正常结束时编目,异常终止时删除
Q15)Whatdoesadispositionof(NEW,CATLG,KEEP)mean?
A15)Thatthisisanewdatasetandneedstobeallocated,toCATLGthedatasetifthestepissuccessfulandtoKEEPbutnotCATLGthedatasetifthestepabends.Thusifthestepabends,thedatasetwouldnotbecataloguedandwewouldneedtosupplythevol.serthenexttimewerefertoit.
(NEW,CATLG,KEEP)的意思是什么
创建一个新的数据集,在作业步正常结束时编目然后保留在相应的卷上,异常终止时不编目。
所以当作业步异常终止时,数据集不编目,并需要为下次提供相应的卷序列号
Q16)HowdoyouaccessafilethathadadispositionofKEEP?
A16)NeedtosupplyVolumeSerialNumber
怎样才能访问一个KEEP的文件
需要提供卷序列号VOL=SER=xxxx.
Q17)MOD,DELETE;
Whatdoesadispositionof(,DELETE)mean?
A17)TheMODwillcausethedatasettobecreated(ifitdoesnotexist),andthenthetwoDELETEswillcausethedatasettobedeletedwhetherthestepabendsornot.Thisdispositionisusedtoclearoutadatasetatthebeginningofajob.
解释一下MOD,DELETE,(,DELETE)
MOD一个新的数据集的创建(如果这个数据集不存在),2个DELETEs是无论数据集是否异常终止,都删除。
这个配置是用于在JOB开始时清除数据集的。
Q18)WhatistheDDstatementforaoutputfile?
A18)Unlessallocatedearlier,willhavethefollowingparameters:
DISP=(NEW,CATLG,DELETE),UNIT,SPACE&
DCB
一个输出文件的DD语句是什么
如果不存在的话,则必须要有
DISP=(NEW,CATLG,DELETE),UNIT,SPACE&
Q19)Whatdoyoudoifyoudonotwanttokeepallthespaceallocatedtoadataset?
A19)SpecifytheparameterRLSE(release)intheSPACEe.g.SPACE=(CYL,(50,50),RLSE)
如何不保持所有的分配给一数据集的空间
指定参数,RLSE,释放空间,如SPACE=(CYL,(50,50),RLSE)
Q20)WhatisDISP=(NEW,PASS,DELETE)?
A20)Thisisanewfileandcreateit,ifthestepterminatesnormally,passittothesubsequentstepsandifstepabends,deleteit.ThisdatasetwillnotexistbeyondtheJCL.
解释一下DISP=(NEW,PASS,DELETE)
创建一个新的数据集,如果作业步正常终止,那么保留传递到同一祖业的后续作业步中使用,如果异常终止,则删除。
数据集将不再存在
Q21)Howdoyoucreateatemporarydataset?
Wherewillyouusethem?
A21)TemporarydatasetscanbecreatedeitherbynotspecifyinganyDSNAMEorbyspecifyingthetemporaryfileindicatorasinDSN=&
&
TEMP.Weusethemtocarrytheoutputofonesteptoanotherstepinthesamejob.Thedatasetwillnotberetainedoncethejobcompletes.
如何建立一个临时数据集,在那里会用到他们
创建了临时数据集时不需要指定的DSNAME,或用指定的临时文件DSN=&
TEMP,我们用它来把同一个JOB中的一个STEP的输出传递给另外一个STEP
在作业完成后该数据集将不被保留
Q22)HowdoyourestartaPROCfromaparticularstep?
A22)Injobcard,specifyRESTART=PROCSTEP.STEPNAMEwherePROCSTEP=nameoftheJCLstepthatinvokedthePROCandSTEPNAME=nameofthePROCstepwhereyouwantexecutiontostart
在一个特殊作业步中如何restart一个PROC
在JOB中,指定RESTART=PROCSTEP.STEPNAME,PROCSTEP为JCL作业步的名字,执行作业步时可以调用PROC和STEPNAME
Q23)Howdoyouskipaparticularstepinaproc/JOB?
A23)CanuseeitherconditioncodesorusethejclcontrolstatementIF(onlyinESAJCL)\
如何skip一个特殊作业步skip
使用任何一个条件代码或JCL控制语句IF
Q24)APROChasfivesteps.Step3hasaconditioncode.Howcanyouoverride/nullifythisconditioncode?
A24)ProvidetheoverrideontheEXECstmtintheJCLasfollows:
//STEP001EXECprocname,COND.stepname=value
AllparametersonanEXECstmtintheprocsuchasCOND,PARMhavetobeoverriddenlikethis.
一个PROC有5个作业步,Step3有一个条件代码,如何覆盖/废弃这个条件代码
在EXEC语句中用override如下:
象COND,PARM这样的EXEC语句必须这样覆盖
Q25)HowdoyouoverrideaspecificDDNAME/SYSINinPROCfromaJCL?
A25)//DSN=…
如何覆盖一个在PROC中的特殊的DDNAME/SYSIN
//DSN=…
Q26)WhatisNOTCAT2–GS
A26)ThisisanMVSmessageindicatingthataduplicatecatalogentryexists.E.g.,ifyoualreadyhaveadatasetwithdsn=‘xxxx.yyyy’andutrytocreateonewithdispnew,catlg,youwouldgetthiserror.theprogramopenandwritewouldgothroughandattheendofthestepthesystemwouldtrytoputitinthesystemcatalog.atthispointsinceanentryalreadyexiststhecatlgwouldfailandgivethismessage.youcanfixtheproblembydeleting/uncatalogingthefirstdatasetandgoingtothevolumewherethenewdatasetexists(thisinfoisinthemsglogofthejob)andcatalogingit.
什么时是NOTCAT2
这是一个MVS的消息标志,它复制一个catalogentryexists,如果已经有了一个数据集dsn=‘xxxx.yyyy’,那么当再创建一个新的时就会显示错误,程序的打开和写wouldgothrough,以及在系统的作业步的最后会试着吧它放进系统编目中,一个anentryalreadyexiststhecatlg会报错,并且给出信息。
用deleting/uncataloging第一个数据集去fix程序,然后去有新的数据集的卷,创建它。
Q27)Whatis