IEBCOPY对PDS库的压缩功能
在大机上,JCL中的IEBCOPY语句通常用来COPY文件,这里我们主要介绍一下其对PDS库的压缩功能; 我们可能常会碰到以下问题:
很多项目组成员都在操作一个CODING共用的SOURCE库,当你要往里面添加新成员或是在修改后进行SAVE时,出现错误信息; 这时退出来后如果没有其它人使用该PDS的话可以通过在该PDS前用Z命令等来压缩,不过如果很多人还没有退出的话就压缩不了!
解决之道:
用IEBCOPY,采用下面三个STEP来提交一个JOB来例行使命!
好处就是出现存取错误信息时,不用退出编辑操作,提交下面IEBCOPY的JOB后就能很快在该PDS中进行SAVE等UPDATE操作了,避免要通知所有人都退出该PDS;
备注: 实际的JCL中,用你需要压缩的PDS名来替代下面的TARGET!
//**********************************************************************
//STEP1 EXEC PGM=IEBCOPY,REGION=2048K
//SYSPRINT DD SYSOUT=*
//INOUT1 DD DSN=TARGET,DISP=SHR
//INOUT2 DD DSN=TARGET.TMP0,
// DISP=(NEW,CATLG,DELETE),
// UNIT=SYSDA,
// SPACE=(CYL,(5,5,100),RLSE)
//SYSUT3 DD UNIT=SYSDA,SPACE=(TRK,(1))
//SYSUT4 DD UNIT=SYSDA,SPACE=(TRK,(1))
//SYSIN DD *
COPY OUTDD=INOUT2
INDD=INOUT1
/*
//**********************************************************************
//* STEP2 — DATASET COMPRESS-IN-PLACE
//**********************************************************************
//STEP2 EXEC PGM=IEBCOPY,REGION=2048K
//SYSPRINT DD SYSOUT=*
//INOUT1 DD DSN=TARGET,DISP=SHR
//SYSUT3 DD UNIT=SYSDA,SPACE=(TRK,(1))
//SYSUT4 DD UNIT=SYSDA,SPACE=(TRK,(1))
//SYSIN DD *
COPY OUTDD=INOUT1
INDD=INOUT1
/*
//**********************************************************************
//* STEP3 — DELETE THE TEMPERARY DATASET
//**********************************************************************
//STEP3 EXEC PGM=IEFBR14,REGION=2048K
//SYSPRINT DD SYSOUT=*
//DD1 DD DSN=TARGET.TMP0,DISP=(OLD,DELETE),
// UNIT=SYSDA

















