【问题标题】:JCL what is wrong with this?JCL 这有什么问题?
【发布时间】:2015-12-10 01:53:46
【问题描述】:

我正在尝试破解 JCL 并想知道出了什么问题。

这是我的代码:

 000001 //SORTJCL   JOB                                        
 000002 //SORTSTEP  EXEC PGM=SORT                              
 000003 //SYSOUT    DD SYSOUT=*                                
 000004 //SORTOUT   DD SYSOUT=*                                
 000005 //SORTWK01  DD SPACE=(CYL,(1,1))                       
 000006 //SORTIN    DD DISP=SHR,DSN=Y2015.PUBLIC.DATA(AREACODE)
 000007 //SYSIN     DD *                                       
 000008   SORT FIELDS=(6,10,CH,A)                              
 000009 //  IF RC = 0 THEN                                     
 000010 //COPYSTEP  EXEC PGM=ICEGENER                          
 000011 //SYSUT1    DD DISP=SHR,DSN=Y2015.PUBLIC.DATA($005)    
 000012 //SYSUT2    DD DISP=SHR,DSN=&SYSUID..P2.OUTPUT($005)   
 000013 //SYSOUT    DD SYSOUT=*                                
 000014 //SYSPRINT  DD SYSOUT=*                                
 000015 //SYSIN     DD DUMMY                                   
 000016 //  ELSE                                               
 000017 //  ENDIF             

这段代码的目的——读取和排序Y2015.PUBLIC.DATA(AREACODE)并将输出复制并写入MYID.P2.OUTPUT($005)

谁能向我解释我错过了什么?

【问题讨论】:

  • 哇,我看到 JCL 已经 30 年了。你能描述一下它现在做了什么吗? (换句话说,它以什么方式没有产生您期望的输出?)
  • 您正在排序到 SYSOUT(假脱机),然后将完全不同的数据集复制(使用 ICEGENER)到您的预期输出。只需将 SORTOUT DD 更改为您需要的数据集 DISP=SHR,DSN=&SYSUID..P2.OUTPUT($005) 并删除整个 ICEGENER 步骤。

标签: mainframe jcl


【解决方案1】:

要“读取和排序 Y2015.PUBLIC.DATA(AREACODE)”,您已经在第 000006 行中的第一个作业步骤中使用了正确的 //SORTIN。读取和排序的结果被写入//SORTOUT,在您的 JCL 中,它似乎被写入第 000003 行的SYSOUT=*(假脱机)。

但这不是您应该做的(根据您的“将输出复制并写入 MYID.P2.OUTPUT($005)”)。因此,您必须像这样修改该行 000003:

 000003 //SYSOUT    DD DISP=SHR,DSN=&SYSUID..P2.OUTPUT($005)

应用此更改后,您还必须删除与第二个作业步骤相关的所有内容(因此从第 000009 行开始,以及该行之后的所有内容)。

如果出于某种原因您仍希望所有这些行继续包含在此 JCL 中,只需在第 000009 行前面插入一个新行,如下所示:

 000009 //

这将导致它后面的所有剩余 JCL 行被忽略。

【讨论】:

  • 我同意这个:-)
  • 谢谢比尔,顺便问一下:51 区的 MFsite 发生了什么?有点遗憾,我认为它没有“成功”,不是吗?我们有没有机会给它一些新的尝试?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2011-06-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-10-03
相关资源
最近更新 更多