Когда я компилирую программу RPG, я получаю ошибку ниже:RPG ошибка компиляции
*RNF7408 30 1 The length of the input field does not match the definition of the field; specification is ignored.
Поле упоминается как часть этой ошибки была EXITAX, которая имеет размер 15,2 в WR654F и 9,2 в DA595F. Я был в предположении, что это связано с двумя файлами (WR654F и DA595F), имеющих одно поле с тем же именем (EXITAX), но разных размеров, заявленной в спецификации F:
FWR654F IF E DISK
FDA595F O A E K DISK
Но когда я создал другую программу только две вышеупомянутые спецификации и *inlr = *on
ради компиляции, он отлично работал и скомпилирован. Поэтому я не понимаю, почему исходная программа не компилируется?
О, я вижу .. Я просто добавил запись, и ошибка пришла. Спасибо, что всегда очень полезны, Марк! –
Просто объявление нормальной работы Datastructure (или это внешнее описание DS. Извинения за мое непонимание в Полностью бесплатной RPG)? У меня создалось впечатление, что будут работать только внешние DS или I Spec. –
Вы действительно должны использовать бесплатную RPG формата. Свободный формат стал доступным в 1990-х годах и делает программы более удобными для чтения и кодирования. Нет необходимости в спецификациях I или O. Эти структуры данных основаны на формате записи файла, определенного в инструкции 'dcl-f'. Я ввел второй параметр, который требуется для структур данных, используемых в операциях ввода-вывода. – jmarkmurphy