【问题标题】:Sorting Multiple Input Files Into Single Output File with Trailer Marking Where Each Input File Ended?将多个输入文件分类为单个输出文件,并带有尾标标记每个输入文件的结束位置?
【发布时间】:2020-08-10 20:28:07
【问题描述】:

假设我有 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')

谢谢大家!

【问题讨论】:

    标签: sorting mainframe jcl


    【解决方案1】:
    //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=(,PASS,DELETE),
    //             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,DELETE),DSN=*.LRECL001.SORTOUT
    //         DD  DISP=SHR,DSN=FILE2
    //         DD  DISP=(OLD,DELETE),DSN=*.LRECL002.SORTOUT
    //SORTOUT  DD  DISP=(,CATLG,DELETE),
    //             DSN=FILES.ONE.AND.TWO,
    //             [and so forth]
    

    【讨论】:

    • 感谢您的回复。我可以在我的输入文件中添加嵌入的文本或数据,但不能同时添加两者。如果我按照您的建议进行操作,由于连接的输入文件 lrecl 不相等,我会收到 U0016
    • 有趣地将其分解为多个步骤。谢谢。
    猜你喜欢
    • 1970-01-01
    • 2021-04-20
    • 1970-01-01
    • 1970-01-01
    • 2018-09-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多