使用 IEBCOPY 将成员复制到带通配符的数据集

Using IEBCOPY to copy members to datasets with wild cards

因此我们正在升级 SEASOFT Fastpack 并且必须将成员添加到每个人的 ISPF 配置文件中以允许使用该产品的菜单。

我们追求的理想 JCL 如下:

//COPYRGHT JOBCARD              
//JOBSTEP  EXEC  PGM=IEBCOPY                          
//SYSPRINT DD  SYSOUT=A                               
//INDD     DD  DSNAME=FASTPACK.SRC,        
//             DISP=SHR,UNIT=SYSDA                    
//OUTDD    DD  DSNAME=BFCU.PRODISPF.PROF&SYSNAME..&USERID     <==== ? BFCU.PRODISPF.PROF*.*
//             DISP=SHR,UNIT=SYSDA                    
//SYSIN DD *                                          
  COPY INDD=OUTDD,OUTDD=OUTDD                         
  COPY INDD=((INDD,R)),OUTDD=OUTDD                    
/*                                                    

显然,如果我们可以让作业动态查找与模式匹配的所有数据集,那就太好了。

我建议编写 Rexx 或 clist 代码以使用 LMDINIT 和 LMDLIST ISPF 服务来创建与您的模式匹配的数据集列表并将该列表保存在数据集中。然后编写另一个程序来读取该数据集列表并编写所需的 JCL,每个数据集一个步骤。 运行 ISPF 中的Rexx 或clist 代码批量处理

您需要计算生成的步数,因为一个作业只能有 255 个步数。

您可以根据需要将其自动化,例如,您可以生成一个工作卡,一个包含您的 IEBCOPY 和 OUTDD DSN a 参数的流内过程,然后每个步骤执行流内过程,DSN 参数设置为数据集名称。当你达到 255 步时,生成另一个工作卡,另一个 instream proc 的副本,并继续生成步骤。