我试图将一个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是对的?
发布于 2014-11-18 10:26:48
您切断了消息中最重要的部分,即消息代码(我已将其编辑为问题)。
当您从DFSORT中得到一条尚未识别的消息时,您有几种选择:找到供发布的手动DFSORT Messages, Codes and Diagnosis Guide;使用IBM (http://www-03.ibm.com/systems/z/os/zos/bkserv/lookat/);互联网搜索;询问您的同事。
其中之一应该能让你:
ICE043A无效数据集属性: ddname属性-原因代码是rsn解释:关键。检测到与记录格式、记录长度或块大小相关的错误,或检测到这些属性之间的冲突.
“理由法”第8条是:
输入和输出数据集具有固定长度和可变长度的混合记录格式,或混合有效和无效记录格式。示例: SORTIN数据集具有RECFM=FB,SORTOUT数据集具有RECFM=VB。SORTIN01数据集具有RECFM=VB,SORTOUT数据集具有RECFM=F或RECFM=U
基本上,在注释中怀疑它是piet.t,您的输入是可变的,输出是固定的(看起来您的DATACLAS中有什么东西,是正确的吗?),或者相反。
使用排序,您不需要在输出数据集上提供任何DCB信息。没有RECFM,LRECL或BLKSIZE。看看你的SYSOUT。这将告诉您输入数据集的RECFM。如果这是错误的,您正在使用错误的文件,或者它被错误地创建了。如果是正确的,那么从输出数据集中删除所有DCB信息。
如果在与存储人员讨论DATACLAS后仍然有问题,那么粘贴当前作业运行中的sysout。
对于其他的问题,如果你需要帮助,开始一个新的问题。
https://stackoverflow.com/questions/26989995
复制相似问题