一、实例程序
1、 IEBCOMPAR/
(1)、顺序数据集的比较
//COMPPS JOB ZHANLIPING,CLASS=A,MSGCLASS=A,MSGLEVEL=(1,1),
// NOTIFY=&SYSUID
//COMPPS EXEC PGM=IEBCOMPR
//SYSPRINT DD SYSOUT=*
//SYSUT1 DD DSN=IBMUSER.TEST.G905.PS01,DISP=SHR
//SYSUT2 DD DSN=IBMUSER.TEST.G905.PS02,DISP=SHR
//SYSIN DD DUMMY
COMPARE TYPORG=PS ********顺序数据集的话,这一句是可以省略的
//
两个顺序数据集比较相同,指的是它们含有相同数量的记录且相关记录和关键字完全相同
(2)、 两个分区数据集的比较
//COMPPD3 JOB ZHANLIPING,CLASS=A,MSGCLASS=A,MSGLEVEL=(1,1),
// NOTIFY=&SYSUID
//COMPPDS EXEC PGM=IEBCOMPR
//SYSPRINT DD SYSOUT=*
//SYSUT1 DD DSN=IBMUSER.TEST.G905.PDS1,DISP=SHR
//SYSUT2 DD DSN=IBMUSER.TEST.G905.PDS2,DISP=SHR
//SYSIN DD *
COMPARE TYPORG=PO
/*
也可以直接比较它们的MEMBER
两个分区数据集相等是指:
(1)相关成员含有相同的记录;
(2)注释列表在相关成员的位置相同;
(3)相关记录和关键字完全相同;
(4)相关目录和用户数据区完全相同。
对于相同的数据集必须同时满足这些条件,否则不能视其为相同数据集。
(3)、 直接输入的内容和一个数据集里的内容直接比较
//COMPPS JOB ZHANLIPING,CLASS=A,MSGCLASS=A,MSGLEVEL=(1,1),
// NOTIFY=&SYSUID
//COMPPS EXEC PGM=IEBCOMPR
//SYSPRINT DD SYSOUT=*
//SYSIN DD DUMMY
//SYSUT2 DD DSN=IBMUSER.TEST.G905.PS03,DISP=SHR 这个数据集可以是顺序数据集,也可以是分区数据集的某个成员。
//SYSUT1 DD DATA
COMPRPS2 *****************就是要把这个内容和数据集里的内容比较,要注意空格多余的话也会有不相同的结果
/*
2、 IEBCOPY
(1)、COPY整个数据集,不COPY同名成员
//COPY2 JOB ZLP,CLASS=A,MSGCLASS=A,MSGLEVEL=(1,1),
// NOTIFY=&SYSUID
//JOBSTEP EXEC PGM=IEBCOPY
//SYSPRINT DD SYSOUT=*
//SYSUT1 DD DSN=IBMUSER.TEST.G905.PDS1,DISP=SHR
//SYSUT2 DD DSN=IBMUSER.TEST.G905.PDS10,UNIT=SYSDA,
// SPACE=(TRK,(5,1,2)),DISP=(NEW,CATLG)
//SYSIN DD DUMMY
//
(2)、'合并整个数据集
//COPY JOB LHF,CLASS=A,MSGCLASS=A,MSGLEVEL=(1,1),NOTIFY=&SYSUID
//JOBSTEP EXEC PGM=IEBCOPY
//SYSPRINT DD SYSOUT=*
//SYSIN1 DD DSN=IBMUSER.TEST.G905.DATA01,DISP=SHR
//SYSIN2 DD DSN=IBMUSER.TEST.G905.DATA02,DISP=(OLD,KEEP)
//SYSIN3 DD DSN=IBMUSER.TEST.G905.DATA03,DISP=(OLD,KEEP)
//*SYSOT1 DD DSN=IBMUSER.TEST.G905.DATA04,DISP=(OLD,KEEP)
//SYSOT2 DD DSN=IBMUSER.TEST.G905.DATA04(M01),DISP=(OLD,KEEP)
//SYSIN DD *
COPYOPER COPY OUTDD=SYSOT2
INDD=SYSIN1
INDD=SYSIN3
INDD=SYSIN2
/*
(3)、拷贝并覆盖指定PDS成员
//COPY JOB ZHANLIPING,CLASS=A,MSGCLASS=A,MSGLEVEL=(1,1),
// NOTIFY=&SYSUID
//JOBSTEP EXEC PGM=IEBCOPY &nb