AS/400 не компилирует файл принтера под RDP 8

В настоящее время я прохожу курс колледжа по AS400 (IBM I), и я был хорош до главы 11, посвященной RDP 8.0. В любом случае, мне удалось выполнить задание до того момента, когда мне потребовалось скопировать ранее созданный физический файл под названием «EMPPFLP» в библиотеке «INTROCLASS».

Я скопировал файл в свою личную библиотеку в источнике «QDDSSRC», а затем щелкнул по нему правой кнопкой мыши (EMPPFLP) и выбрал «Скомпилировать», затем CRTPRTF, и я понял это.

Задание 942098/DDELAP01/QDFTJOBD отправлено в очередь заданий QBATCH в библиотеке QGPL.

CRTPRTF SRCFILE(DDELAP01/QDDSSRC) SRCMBR(EMPPFLP) REPLACE(*YES) OPTION(*EVENTF) FILE(DDELAP01/EMPPFLP) Ошибки в DDS не допускаются с указанным GENLVL. Причина . . . . . : Либо уровень серьезности ошибок, обнаруженных в DDS, был больше или равен уровню генерации ошибок (параметр GENLVL), либо был указан GENLVL(0). Восстановление . . . : См. список источников DDS для получения информации о значении GENLVL и сообщениях об ошибках. Либо исправьте ошибки, либо измените значение GENLVL в команде, а затем повторите запрос. Файл EMPPFLP не создан в библиотеке DDELAP01. Причина . . . . . : Файл не создан из-за ошибок. Восстановление . . . : см. ранее перечисленные сообщения об ошибках. Исправьте ошибки и повторите запрос.

введите здесь описание изображения

Я буду признателен за любую помощь, ребята, не знаю, что здесь происходит, я уже отправил вопросы профессору, но не получил ответа, и мне нужно отправить это задание к 12:00.


person Dayan    schedule 14.06.2012    source источник
comment
Из любопытства, в каком колледже преподают AS400?   -  person Eric J.    schedule 14.06.2012
comment
Колледж Бейкера, не уверен, почему я должен пройти этот курс. Эх, не большой поклонник этой ОС.   -  person Dayan    schedule 14.06.2012
comment
Как вы это исправили? Я тоже прохожу тот же курс. Это самый бесполезный курс, который я проходил.   -  person TheRealChx101    schedule 10.12.2018
comment
@TheRealChx101 Жаль, что я не могу помочь, выкинул все это из моей головы... Ничего не помню! Извиняюсь!! Проверьте мой принятый ответ ниже. Надеюсь, это поможет вам.   -  person Dayan    schedule 10.12.2018


Ответы (3)


CPD5248: файл, указанный в ключевом слове REF или REFFLD, не найден.

Библиотека, содержащая файл EMPPFL, используемый в вашем REFFLD отсутствует в вашем списке библиотек.

Либо замените *LIBL на фактическое имя библиотеки, содержащей файл, либо добавьте ее в список библиотек с помощью команды ADDLIBLE (или другим способом, подходящим для вашей среды разработки).

CPD7528: недопустимое количество десятичных позиций замены

Это вызвано тем, что определение поля не может быть найдено из-за предыдущей ошибки.


Ключевое слово REFFLD позволяет извлекать атрибуты полей из файла (таблицы) вместо жесткого кодирования каждого из них.

Ошибка указывает на то, что файл, на который делается ссылка, EMPPFL, не может быть найден в списке вашей библиотеки. Список библиотек похож на PATH в Windows/Linux/и т. д.

Чтобы устранить ошибку, вы должны помочь системе найти файл EMPPFL. Это можно сделать, явно указав на библиотеку, содержащую файл, или включив файл в библиотеку в вашем списке библиотек.


Если вы можете предоставить вывод следующих команд, это поможет решить проблему:

DSPLIBL OUTPUT(*PRINT)

DSPOBJD *LIBL/EMPPFL *FILE OUTPUT(*PRINT)

DSPOBJD *ALLUSR/EMPPFL *FILE OUTPUT(*PRINT)

Обратите внимание, что вторая команда должна возвращать сообщение «Объект EMPPFL в *LIBL type *FILE не найден».

person James Allman    schedule 14.06.2012
comment
Спасибо, Джеймс, я пытался отредактировать файл и сделал несколько его версий, так, как я думал, было правильно, но все равно не повезло. Файл отлично работает в библиотеке по умолчанию, когда я копирую его в свою библиотеку, он дает мне ошибки, которые я опубликовал выше. - person Dayan; 14.06.2012
comment
@Intrus Странно, что вы можете создать файл в его исходном месте, но не тогда, когда источник скопирован в вашу библиотеку. Я бы скопировал исходный код DDS для EMPPFL в вашу библиотеку и сначала создал этот файл, а затем уточнил REFFLD с именем вашей библиотеки REFFLD(EMPPFR/EMPNO DDELAP01/EMPPFL). - person James Allman; 14.06.2012
comment
Большое спасибо за это, отличный ответ и очень подробный! Я попробую это, как только вернусь с работы сегодня днем, и буду держать вас в курсе. Еще раз спасибо, Джеймс. - person Dayan; 14.06.2012

Я почти ничего не знаю об AS400, но нашел статью, в которой описывается сообщение об ошибке, показанное на вашем изображении:

Сообщение Недопустимое количество десятичных позиций замены.

Причина Количество десятичных позиций замены для ключевых слов EDTWRD или EDTCDE должно равняться длине поля. Количество десятичных позиций замены представляет собой сумму количества пробелов и первого символа нулевого подавления остановки. Если первый символ в EDTWRD является символом остановки-нуля-подавление, может быть указан один дополнительный пробел.

Восстановление Измените либо длину поля, либо значение ключевого слова EDTWRD или EDTCDE, чтобы длина поля совпадала с количеством десятичных позиций замены. Затем повторите запрос.

http://www.iseriesworld.net/?messages=cl&prefix=cpd&code=7528

Надеюсь, это поможет. Удачи в вашем классе и добро пожаловать в Stack Overflow!

person Eric J.    schedule 14.06.2012
comment
Спасибо, Эрик, я все еще борюсь с этим. Кажется, я не могу решить проблему, я попробовал предложение с этого сайта, но пока не повезло. - person Dayan; 14.06.2012

Кажется, ошибка GENLVL. Вы должны посмотреть на SPLF, какой продукт после компиляции. Там должно быть какое-то полезное сообщение

person Allen Xudong Cheng    schedule 14.06.2012
comment
Эй, Аллен, спасибо за ответ. Есть ли способ проверить это через RDP 8? Или лучше использовать терминальную сессию. Что такое SPLF, это логический файл??? Спасибо! - person Dayan; 14.06.2012
comment
SPLF — это файл спула. У меня не так много опыта работы с RDP8, но я знаю, что при сбое при компиляции PF система создаст файл спула. Он записывает детали ошибки. Давно не работал на as400. Извините, я не могу вспомнить, как просмотреть этот файл. - person Allen Xudong Cheng; 14.06.2012