Как решить НЕДЕЙСТВИТЕЛЬНЫЕ ДАННЫЕ НАСТРОЙКИ ДАННЫХ, используя DFSORT?
Я пытаюсь передать файл 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 ответ
Вы обрезаете самую важную часть сообщения, код сообщения (я отредактировал вопрос).
Когда вы получаете сообщение из DFSORT, которое вы еще не распознаете, у вас есть несколько вариантов: найдите руководство DFSORT Messages, Codes and Diagnosis Guide
для вашего освобождения; использовать веб-сервис IBM LookAT ( 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, это правильно?), Или наоборот.
С SORT вам не нужно предоставлять какую-либо информацию DCB в выходном наборе данных. Что это, не RECFM, LRECL или BLKSIZE. Посмотрите на свой SYSOUT. Это скажет вам RECFM вашего входного набора данных. Если это неправильно, вы используете неправильный файл или он был создан неправильно. Если это правильно, то удалите всю информацию DCB из выходного набора данных.
Если у вас все еще есть проблемы после разговора с сотрудниками хранилища о DATACLAS, вставьте sysout из текущего прогона вашей JOB.
Если у вас есть другие вопросы, если вам нужна помощь, начните новый вопрос.