需要排序 jcl 以从字母数字变量中的日期格式 mmddyyyy 复制过去 3 天的数据。请帮我解决这个问题

问题描述 投票:0回答:1

我有 10100 RL 的输入文件,日期为 MMDDYYYY 格式,位于 7033 位置,即 picx(08),我只想复制最近三天的数据。 累了那么多日期函数却不起作用。 任何建议将不胜感激。 谢谢!!

sorting cobol mainframe jcl dfsort
1个回答
0
投票

萨拉斯·佩鲁里,

您可以使用 DFSORT 轻松过滤当前日期的最后 3 天记录。由于您的日期格式有点不同,我们需要在临时区域中重新排列它。

假设您的输入文件具有 RECFM=FB 那么以下 JCL 将为您提供所需的结果

//STEP0100 EXEC PGM=SORT                         
//SYSOUT   DD SYSOUT=*                           
//SORTIN   DD DISP=SHR,DSN=Your.Input.FB.LRECL.10100.file
//SORTOUT  DD SYSOUT=*                           
//SYSIN    DD *                                  
  OPTION COPY                                    
  INREC OVERLAY=(10101:7037,04,         # CCYY   
                       7033,02,         # MONTH  
                       7035,02)         # DAY    
                                                 
  OUTFIL BUILD=(01,10100),                       
  INCLUDE=(10101,8,CH,GE,DATE1-3)                
/*                               

PS:如果您的输入文件是可变长度(VB)那么您需要使用不同的控制卡。

© www.soinside.com 2019 - 2024. All rights reserved.