Проверка уровня AS400 на DSPF
Я внес изменения в файл дисплея, используя Screen Design Aid, сохранил исходный файл DDS и скомпилировал объект. Затем я проверил идентификатор уровня формата этого файла с помощью DSPFD.
Программа RPGLE, которая дополняет этот экран, не изменилась. Сначала я проверил идентификатор уровня формата для файла в этой программе, используя DSPPGMREF, и он стал другим. Поэтому я перекомпилировал RPGLE, и идентификаторы уровня формата все равно не совпадают, независимо от того, сколько раз я перекомпилирую.
И, конечно же, если я пытаюсь вызвать программу RPG, я получаю ошибку проверки уровня. CPF4131
Кроме того, программа RPGLE является копией другой программы, которую я пытаюсь редактировать и тестировать, не нарушая оригинальную версию. Таким образом, у меня есть две программы RPG в одной библиотеке, вызывающей файл. Программа копирования имеет суффикс CPY в конце. Я не уверен, будет ли это как-то связано с этим.
Я проверил WRKOBJ и есть только один объект программы копирования. И мои списки библиотек в правильном порядке.
Любое руководство по этому вопросу будет принята с благодарностью
1 ответ
Есть несколько вероятных причин для этого, но все они составляют в основном одну и ту же проблему. Вы не получаете доступ к объекту, который, как вы думаете, вы получаете при компиляции. Я предлагаю проверить следующее:
У вас нет правильно настроенного списка библиотек для включения библиотеки, в которой находится объект DDS.
Ваш список библиотек настроен так, что он выбирает старый объект DDS, прежде чем находит новый.
Вы компилируете объект DDS в библиотеку, отличную от ожидаемой.
Также попробуйте запустить WRKOBJ *ALL/<OBJNAME>
, Вы можете быть удивлены, обнаружив версию, висящую там, где вы не ожидали.