0

需要一个 SORT JCL 来写下输入文件中的记录,这些记录在第 5 位写为“7”。

    input file:
    AABL5ZZZZ
    AAQL7AAAA
    ZZWA76AAA
    AAXC01AAA

输出

    AAQL7AAAA
    ZZWA76AAA
4

1 回答 1

4

如果您不希望对记录进行排序,则可以使用类似

//*******************************************
//SORT     EXEC PGM=SORT                     
//*******************************************
//SORTIN   DD  DSN=MY.INPUT.FILE,DISP=SHR
//SORTOUT  DD  SYSOUT=*                      
//SYSOUT   DD  SYSOUT=*                      
//SYSUDUMP DD  SYSOUT=*                      
//SYSIN    DD  *                             
  SORT FIELDS=COPY                           
  INCLUDE COND=(5,1,CH,EQ,C'7')              
  END                                        
/*

对于排序,只需更改SORT FIELDS=语句。

PS:上面的 JCL 是针对固定记录长度的文件。如果您使用可变记录长度,则必须注意两点:

  • 将 4 字节长度字段添加到比较位置
  • 让 SORT 跳过小于 5 个字节的记录

所以 SYSIN 看起来像

  OPTION VLSHRT                
  SORT FIELDS=COPY             
  INCLUDE COND=(9,1,CH,EQ,C'7')
  END                                                                      
于 2013-11-07T10:24:12.023 回答