我有一个看似简单的任务,就是将一个PDS的2名成员合并,比如MYDSN.X(A)和MYDSN.X(B)给一个共同的成员MYDSN.X(AB)。
我的尝试是使用 IEBCOPY ,但不知怎的,我无法执行此特定任务,尽管我找到了一些有用的示例here。
此任务的另一个特例是创建一个新成员,比如MYDSN.X(A3),其中包含MYDSN.X(A)内容的3倍。关于那个特例的任何想法呢?
答案 0 :(得分:5)
使用数据集连接,您想要做的事情非常简单:
//SOMENAME DD DISP=SHR,DSN=yourpds(yourmem1)
// DD DISP=SHR,DSN=yourpds(yourmem1)
您可以直接在运行您要测试的步骤的JCL中使用它,或者,如果您想要永久复制,您可以复制:
//SORTCOPY EXEC PGM=SORT
//SORTIN DD DISP=SHR,DSN=yourpds(yourmem1)
// DD DISP=SHR,DSN=yourpds(yourmem2)
//SORTOUT DD DISP=OLD,DSN=yourpds(yournew)
//SYSOUT DD SYSOUT=*
//SYSIN DD *
OPTION COPY
注意输出的DISP=OLD
。如果两个同时运行的作业同时运行,那将确保您不会丢失数据。
PDSE更安全"而不是PDS。
如果您想要同一成员的多个副本:
//SORTCOPY EXEC PGM=SORT
//SORTIN DD DISP=SHR,DSN=yourpds(yourmem1)
// DD DISP=SHR,DSN=yourpds(yourmem1)
// DD DISP=SHR,DSN=yourpds(yourmem1)
// DD DISP=SHR,DSN=yourpds(yourmem1)
//SORTOUT DD DISP=OLD,DSN=yourpds(yournew)
//SYSOUT DD SYSOUT=*
//SYSIN DD *
OPTION COPY
使用编辑器重复非常简单。