JCL-动态添加SORTIN

时间:2018-08-29 12:29:49

标签: mainframe jcl dfsort

想知道如何在SORT步骤中包含具有SORTIN内容的文件,这意味着该文件是动态创建的,其内容类似于此

//SORTIN DD DSN=DES.LQHISE03.ENTRADA,DISP=SHR

1 个答案:

答案 0 :(得分:-1)

第1步:请获取以下3个数据集。

数据集1:作业卡和EXEC语句。

//JOBNAME JOB ('ACCOUNT INFORMATION'),          
//    JOBCARD,CLASS=2,MSGCLASS=H,NOTIFY=&SYSUID 
//STEP1   EXEC PGM=SORT   

数据集2:SORTIN内容-这应该是动态创建的文件。

//SORTIN   DD DSN=DES.LQHISE03.ENTRADA,DISP=SHR

数据集3:其余内容

//SORTOUT DD DSN=OUTPUT.DATASET.NAME,       
//        DISP=(,CATLG,DELETE),             
//        SPACE=(CYL,(100,0),RLSE),         
//        DCB=(LRECL=80,RECFM=FB,BLKSIZE=0) 
//SYSOUT  DD SYSOUT=*                       
//SYSIN   DD *                              
  SORT FIELDS=COPY
/*
//IDCAMS   EXEC PGM=IDCAMS,COND=(0,LT,STEP1)
//SYSPRINT DD SYSOUT=*
//DD1   DD DISP=SHR,DSN=YOUR.PDS
 DELETE 'YOUR.PDS(MEMBER)' FILE(DD1)
/*                          

第2步::连接数据集。

//STEP2   EXEC PGM=IEBGENER
//SYSPRINT DD SYSOUT=*                       
//SYSUT1   DD DSN=Dataset 1,DISP=SHR             
//         DD DSN=Dataset 2,DISP=SHR             
//         DD DSN=Dataset 3,DISP=SHR             
//SYSUT2   DD DSN=Sort Step,
//        DISP=(,CATLG,DELETE),             
//        SPACE=(CYL,(100,0),RLSE),         
//        DCB=(LRECL=80,RECFM=FB,BLKSIZE=0)            
//SYSIN    DD DUMMY 

第3步:让IEBGENER以PDS成员的身份编写“排序步骤”(来自STEP 2的输出)。

//STEP3   EXEC PGM=IEBGENER,COND=(0,LT,STEP2)
//SYSUT1   DD DSN=*.STEP2.SYSUT2,DISP=SHR                         
//SYSUT2   DD DSN=YOUR.PDS(MEMBER),DISP=SHR           
//SYSPRINT DD SYSOUT=*                                        
//SYSIN    DD DUMMY

现在,您的PDS中的成员中将具有完整的JCL(注意:完成SORT作业后,PDS中的成员将被删除)。您只需要提交成员。您可以使用IKJEFT01实用程序来运行TSO功能LISTDS。此功能显示数据集属性。如果存在成员,则发出RC 0,并且您可以将代码添加到“提交成员”中,否则,您可以发出一些返回码(以表示该成员不可用)。更多详细信息here