如何从输入文件中获取唯一的记录,在第 5 个位置写入'7'



需要一个排序JCL来记下输入文件中的记录,这些记录在第5位写了'7'。

    input file:
    AABL5ZZZZ
    AAQL7AAAA
    ZZWA76AAA
    AAXC01AAA

输出

    AAQL7AAAA
    ZZWA76AAA

如果你不想对记录进行排序,你可以使用类似的东西

//*******************************************
//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                                                                      

相关内容

  • 没有找到相关文章

最新更新