IEBCOPY对PDS库的压缩功能

2009年04月22日  |  5:28 下午分类:大型机|Mainframe  |  标签:  |  

在大机上,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

喜欢本文,那就收藏到: Del.icio.us Google书签 Digg Live Bookmark Technorati Furl Yahoo书签 Facebook 百度搜藏 新浪ViVi 365Key网摘 天极网摘 和讯网摘 博拉网 POCO网摘 添加到饭否 QQ书签 Digbuzz我挖网

发表您的评论