将多个输入文件排序为带有尾标的单个输出文件,每个输入文件在何处结束?

问题描述

比方说,我有2个不包含标题或尾部记录的输入文件,我想将它们分类一个输出文件。有没有一种方法可以在每个输入文件的末尾向输出文件添加尾部记录?

示例:

Input 1
-------
file 1 rec 1
file 1 rec 2
file 1 rec 3
Input 2
-------
file 2 rec 1
file 2 rec 2
file 3 rec 3
Output File
-----------
file 1 rec 1
file 1 rec 2
file 1 rec 3
End of file 1
file 2 rec 1
file 2 rec 2
file 3 rec 3
End of file 2

代码只会在输出文件的末尾添加单个预告片。

SORT FIELDS=copY
   OUTFIL REMOVECC,TRAILER1=(1:'END OF FILE')

谢谢!

解决方法

//LRECL001 EXEC PGM=SORT
//SYSOUT   DD  SYSOUT=*
//SYSIN    DD  *
 SORT FIELDS=COPY
//SORTIN   DD  *
End of file 1
//SORTOUT  DD  DISP=(,PASS,DELETE),//             LRECL=[lrecl for file 1],//             [other DD parameters as needed]
//*
//LRECL002 EXEC PGM=SORT
//SYSOUT   DD  SYSOUT=*
//SYSIN    DD  *
 SORT FIELDS=COPY
//SORTIN   DD  *
End of file 2
//SORTOUT  DD  DISP=(,//             LRECL=[lrecl for file 2],//             [other DD parameters as needed]
//*
//CONCATN8 EXEC PGM=SORT
//SYSOUT   DD  SYSOUT=*
//SYSIN    DD  *
 SORT FIELDS=COPY
//SORTIN   DD  DISP=SHR,DSN=FILE1
//         DD  DISP=(OLD,DSN=*.LRECL001.SORTOUT
//         DD  DISP=SHR,DSN=FILE2
//         DD  DISP=(OLD,DSN=*.LRECL002.SORTOUT
//SORTOUT  DD  DISP=(,CATLG,//             DSN=FILES.ONE.AND.TWO,//             [and so forth]