大型机 Cobol Mainframe jclWord文件下载.docx
《大型机 Cobol Mainframe jclWord文件下载.docx》由会员分享,可在线阅读,更多相关《大型机 Cobol Mainframe jclWord文件下载.docx(114页珍藏版)》请在冰点文库上搜索。
//DDDSN=CN0010.XCY.JCL2,DISP=SHR
//SYSUT2DDDSN=CN0010.XCY.JCL3,DISP=SHR
//SYSINDDDUMMY
4将一个sds中的数据一部分复制到一个新建立的sds当中,record选择范围
//COPYEXECPGM=IEBGENER
//SYSUT2DDDSN=CN0010.XCY.JCL5,DISP=(NEW,CATLG),
//UNIT=SYSDA,SPACE=(CYL,(1,1)),
//DCB=(RECFM=FB,LRECL=40,BLKSIZE=800)
//SYSINDD*
GENERATEMAXFLDS=5,MAXLITS=4
RECORDFIELD=(5,1,,1),FIELD=(20,21,,6),FIELD=(9,61,ZP,26),X
FIELD=(9,70,ZP,31),FIELD=(4,'
TEST'
,36)
/*
5临时数据集的应用
//CN001000JOBNOTIFY=&
SYSUID,MSGLEVEL=(1,1)
//BUILDEXECPGM=IEBGENER
XCYISAGOODBOY
//SYSUT2DDDSN=&
&
TEMP1,DISP=(,PASS),
//SPACE=(TRK,(1,1)),DCB=(LRECL=80,RECFM=FB),
//UNIT=SYSDA
//****************************************************************
//BUILD2EXECPGM=IEBGENER
//SYSUT1DDDSN=&
TEMP1,DISP=(OLD,DELETE)
//SYSUT2DDDSN=CN0010.XCY.DATA,DISP=(,CATLG,DELETE),
//SYSINDDDUMMY
6将一个sds内容复制到新建立的pds的一个member中
//CN001027JOBNOTIFY=&
//SYSUT1DDDSN=CN0010.XCY727.SDS,DISP=SHR
//SYSUT2DDDSN=CN0010.XCY727.XCC(XCY1),DISP=(NEW,CATLG),
//SPACE=(TRK,(1,1,1)),VOL=SER=SUER01,UNIT=SYSDA
7将sds排序输出到另一个sds中,sortfield选择排序范围
SYSUID,MSGLEVEL=(1,1)
//STEP1EXECPGM=SORT
//SYSOUTDDSYSOUT=*
//SORTINDDDSN=CN0010.XCY727.SDS,DISP=SHR
//SORTOUTDDDSN=CN0010.XCY727.SDS2,DISP=SHR
SORTFIELDS=(1,2,CH,A,9,3,CH,A)
8将sds排序并去除重复项,输出到另一个sds中
//CN001027JOBMSGLEVEL=(1,1),NOTIFY=&
//STEP1EXECPGM=SORT
//SYSOUTDDSYSOUT=*
//SORTINDDDSN=CN0010.XCY727.SDS,DISP=SHR
//SORTOUTDDDSN=CN0010.XCY727.SDS2,DISP=SHR
SORTFIELDS=(1,3,CH,A)
SUMFIELDS=NONE
8根据排序情况将sds内容分为三个sds,去除重复
//SORTOF01DDDSN=CN0010.XCY727.SDS3,DISP=(NEW,CATLG),
//SPACE=(CYL,(1,4),RLSE),DCB=(LRECL=80,RECFM=FB,BLKSIZE=80)
//SORTOF02DDDSN=CN0010.XCY727.SDS4,DISP=(NEW,CATLG),
//SORTOF03DDDSN=CN0010.XCY727.SDS5,DISP=(NEW,CATLG),
SORTFIELDS=COPY
OUTFILFILES=01,INCLUDE=(1,6,CH,EQ,C'
MOHANK'
)
OUTFILFILES=02,INCLUDE=(1,6,CH,EQ,C'
SURESH'
OUTFILFILES=03,INCLUDE=(1,6,CH,EQ,C'
KRISHN'
/*
9创建gdg
//CN001027JOBNOTIFY=CN0010
//********************************
//*CREATEAGDG*
//GDGCREATEXECPGM=IDCAMS
//GDGMODELDDDSN=CN0010.XCY27.GDGMDL,DISP=(NEW,CATLG,DELETE),
//SPACE=(TRK,(0)),DCB=(RECFM=FB,LRECL=80,BLKSIZE=8000,DSORG=PS)
DEFINEGDG(NAME(CN0010.XCY27.GDG)LIMIT(100)
10在gdg中创建两个数据集
//**********************************
//*CREATE2DATASETSINAGDG*
//CDS1EXECPGM=IEBGENER
THISLINEISWRITTENINTODATASETINGDG.
//SYSUT2DDDSN=CN0010.XCY27.GDG(+1),DISP=(NEW,CATLG,DELETE),
//SPACE=(TRK,(1,1)),DCB=CN0010.XCY27.GDGMDL
//CDS2EXECPGM=IEFBR14
//GDGDDDSN=CN0010.XCY27.GDG(+2),DISP=(NEW,CATLG,DELETE),
//SPACE=(TRK,(5,5)),DCB=CN0010.XCY27.GDGMDL
11删除gdg
//************************************
//*BEFOREDELETINGAGDG,WEMUST*
//*DELETEALLDATASETINIT.*
//DELDSEXECPGM=IDCAMS
DELETECN0010.XCY27.GDG.*
DELETECN0010.XCY27.GDGMDL
//**************************************
//DELGDGEXECPGM=IDCAMS,COND=(0,NE)
DELETECN0010.XCY27.GDGGDG
12将两组数据排序进两个sds,再用merge合并排序
//CN001000JOBNOTIFY=CN0010
//SORTINDD*
MOHANK23423423434534344KIRAN
MOHANK13342345345345345RAJEEV
ARAMES34535345325354324SURESH
SURESH98347385385933987PULI
//SORTOUTDDDSN=CN0010.XCY727.SDS,DISP=SHR
SORTFIELDS=(1,5,CH,A)
//STEP2EXECPGM=SORT
RAMESH67575789769876785MADHU
KRISHN50830948530859340OIIED
KRISHN30495849572938495MADHU
//SORTOUTDDDSN=CN0010.XCY727.SDS3,DISP=SHR
//STEP3EXECPGM=ICEMAN,COND=(0,NE)
//SORTIN01DDDSN=CN0010.XCY727.SDS,DISP=SHR
//SORTIN02DDDSN=CN0010.XCY727.SDS3,DISP=SHR
//SORTOUTDDDSN=CN0010.XCY727.SDS4,DISP=SHR
MERGEFIELDS=(1,5,CH,A)
13根据局部数据条件(大于400)对数据排序存储
//SORTOUTDDDSN=CN0010.XCY727.SDS2,DISP=SHR
INCLUDECOND=(9,3,CH,GT,C'
400'
14定义一个vsamesds
//CN000928JOBNOTIFY=CN0001,MSGLEVEL=(1,1)
//DELDEFEXECPGM=IDCAMS
//SYSPRINTDDSYSOUT=H
DELETECN0009.EXAMPLE.ESDS1
SETMAXCC=0
DEFINECLUSTER(NAME(CN0009.EXAMPLE.ESDS1)
RECORDS(100500)
RECORDSIZE(7070)
NONINDEXED)
DATA(NAME(CN0009.EXAMPLE.ESDS1.DATA)
CONTROLINETERVALSIZE(32760))
//REPROT1EXECPGM=IDCAMS
//IN1DDDSN=INVMASTS.DATBIN,DISP=SHR
REPROINFILE(IN1)OUTFILE(OUT1)
PRINTINFILE(OUT1)CHARACTER
15定义一个vsamksds
//CN000928JOBNOTIFY=CN0009
//STEP1EXECPGM=IDCAMS
DELETECN0009.VSAM.KSDS1
DEFINECLUSTER-
(NAME(CN0009.VSAM.KSDS1)-
VOLUME(USER02)-
RECORDS(100,10)-
RECORDSIZE(1020)-
CONTROLINTERVALSIZE(4096)-
KEYS(1,1))
//
16定义一个rrds
//SETP1EXECPGM=IDCAMS
DELETECN0009.VSAM.RRDS1
DEFINECLUSTER(NAME(CN0009.VSAM.RRDS1)-
NUMBERED-
RECORDS(50000,1000)-
RECORDSIZE(2020)-
CONTROLINTERVALSIZE(4096))
//
17copy一个pds所有members,到另一个pds
//CN000929JOBNOTIFY=&
//STEP1EXECPGM=IEBCOPY
//SYSUT1DDDSN=CN0009.XCY28.XCY,DISP=SHR
//SYSUT2DDDSN=CN0009.XCY.XCY,DISP=(NEW,CATLG),SPACE=(TRK,(5,1,2))
18调用流内过程copy
//CN000929JOBNOTIFY=CN0009
//MYPROCPROCINDD=,OUTDD=
//CPYEXECPGM=IEBGENER
//SYSUT1DDDSN=&
INDD.,DISP=SHR
//SYSUT2DDDSN=&
OUTDD.,DISP=(NEW,CATLG),SPACE=(TRK,(1,1)),
//DCB=(LRECL=80,RECFM=FB,BLKSIZE=8000)
//MYENDPEND
//CPYLOADEXECMYPROC,INDD=CN0009.XCY.XCY(XCY),
//OUTDD=CN0009.XCY.XCY4
19创建一个过程(pds的number)
//MYPROCPROCINDD=,OUTDD=
//CPYEXECPGM=IEBGENER
OUTDD.,DISP=(NEW,CATLG,DELETE),
//SPACE=(TRK,(2,1)),DCB=(RECFM=FB,LRECL=80,BLKSIZE=240)
20cobol显示helloworld
IDENTIFICATIONDIVISION.
PROGRAM-ID.XCY1
ENVIRONMENTDIVISION.
DATADIVISION.
PROCEDUREDIVISION.
DISPLAY"
HELLOWORLD!
"
STOPRUN.
21cobol实现简单运算(两数相加)
IDENTIFICATIONDIVISION.
PROGRAM-ID.XCY3.
ENVIRONMENTDIVISION.
DATADIVISION.
WORKING-STORAGESECTION.
77CPIC9(3).
77DPIC9(3).
PROCEDUREDIVISION.
ACCEPTC.
ACCEPTD.
ADDCTOD.
DISPLAYD.
22cobol的混合运算(变量有点混乱)
PROGRAM-ID.XCY5.
WORKING-STORAGESECTION.
01APIC999VALUE100.
01BPIC999VALUE100.
01CPIC999VALUE400.
01DPIC999VALUE100.
01EPIC999VALUE200.
01YPIC999VALUE100.
01FPIC999VALUE500.
01ZPIC999VALUE000.
01XPIC999VALUE300.
01TPIC999VALUE500.
A1.
ACCEPTA.
ACCEPTB.
ACCEPTE.
ACCEPTY.
ACCEPTF.
ACCEPTT.
ACCEPTX.
ACCEPTZ.
A2.
ADD3TOA.
ADD101,ATOB.
ADD9,6,7GIVINGY.
SUBTRACTBFROMF.
SUBTRACTYFROMXGIVINGZ.
SUBTRACTD,EFROMC.
SUBTRACTD,EFROMT.
A3.
PRIMARYVALUES:
.
A=100"
"
B=100"
C=400"
D=100"
E=200"
Y=100"
F=500"
Z=000"
X=300"
T=500"
*
**********************************************"
THEREASULTS:
A=3+A="
A.
B=101+A+B="
B.
Y=9+6+7="
Y.
F=F-B="
F.
Z=X-Y="
Z.
C=C-D-E="
C.
T=T-D-E="
T.
2