如何使用DFSORT解决无效数据集属性?

时间:2014-11-18 08:45:35

标签: dfsort sysin

我正在尝试将IBM文件传递给十六进制值,因此我将其编码为:

//R45ORF80V  JOB (EFAS,2SGJ000),'LLAMI',NOTIFY=R45ORF80,
//     MSGLEVEL=(1,1),MSGCLASS=X,CLASS=A,             
//     REGION=0M,TIME=5                               
//*---------------------------------------------------
//SORTEST   EXEC PGM=ICEMAN                            
//SORTIN   DD DSN=LF58.DFE.V1408001,DISP=SHR         
//SORTOUT  DD DSN=LF58.DFE.V1408001.OUT,             
//            DISP=(NEW,CATLG,DELETE),                
//            LRECL=1026,DATACLAS=CDMULTI             
//SYSOUT   DD SYSOUT=X                                
//SYSPRINT DD SYSOUT=X                                
//SYSUDUMP DD SYSOUT=X                                
//SYSIN    DD *                                       
  SORT FIELDS=COPY                                    
  OUTREC FIELDS=(1,513,HEX)                                 
  END                                                 
/*                                                    

但是我收到以下错误:

ICE043A INVALID DATA SET ATTRIBUTES: SORTOUT  RECFM   - REASON CODE IS 08

我解雇的是什么?无论如何,SYSIN是正确的吗?

1 个答案:

答案 0 :(得分:1)

您切断了邮件中最重要的部分,即邮件代码(我已编辑成问题)。

当您收到DFSORT中尚未识别的消息时,您有以下几种选择:找到适用于您的版本的手册DFSORT Messages, Codes and Diagnosis Guide;使用IBM LookAT Web服务(http://www-03.ibm.com/systems/z/os/zos/bkserv/lookat/);互联网搜索;问你的同事。

其中一个应该让你:

  

ICE043A INVALID DATA SET ATTRIBUTES:ddname属性    - 原因代码是rsn   说明:严重。与记录格式,记录长度或记录相关的错误   检测到块大小,或检测到这些属性之间的冲突......

原因代码为8:

  

输入和输出数据集具有混合的固定长度和可变长度   记录格式,或混合有效和无效的记录格式。例子:   SORTIN数据集具有RECFM = FB且SORTOUT数据集具有   RECFM = VB。 SORTIN01数据集具有RECFM = VB和SORTOUT数据集   有RECFM = F或RECFM = U

基本上它就像piet.t在评论中被怀疑一样,要么你的输入是可变的并且输出是固定的(看起来你在DATACLAS中有什么东西,那是正确的吗?),或者反过来。

使用SORT,您无需在输出数据集上提供任何DCB信息。它,没有RECFM,LRECL或BLKSIZE。看看你的SYSOUT。这将告诉您输入数据集的RECFM。如果这是错误的,您使用的文件错误,或者创建错误。如果正确,则从输出数据集中删除所有DCB信息。

如果在与存储人员讨论DATACLAS后仍然遇到问题,请从当前的JOB运行中粘贴sysout。

对于您遇到的其他问题,如果您需要帮助,请提出新问题。