Проверка уровня AS400 на DSPF

Я внес изменения в файл дисплея, используя Screen Design Aid, сохранил исходный файл DDS и скомпилировал объект. Затем я проверил идентификатор уровня формата этого файла с помощью DSPFD.

Программа RPGLE, которая дополняет этот экран, не изменилась. Сначала я проверил идентификатор уровня формата для файла в этой программе, используя DSPPGMREF, и он стал другим. Поэтому я перекомпилировал RPGLE, и идентификаторы уровня формата все равно не совпадают, независимо от того, сколько раз я перекомпилирую.

И, конечно же, если я пытаюсь вызвать программу RPG, я получаю ошибку проверки уровня. CPF4131

Кроме того, программа RPGLE является копией другой программы, которую я пытаюсь редактировать и тестировать, не нарушая оригинальную версию. Таким образом, у меня есть две программы RPG в одной библиотеке, вызывающей файл. Программа копирования имеет суффикс CPY в конце. Я не уверен, будет ли это как-то связано с этим.

Я проверил WRKOBJ и есть только один объект программы копирования. И мои списки библиотек в правильном порядке.

Любое руководство по этому вопросу будет принята с благодарностью

1 ответ

Решение

Есть несколько вероятных причин для этого, но все они составляют в основном одну и ту же проблему. Вы не получаете доступ к объекту, который, как вы думаете, вы получаете при компиляции. Я предлагаю проверить следующее:

  1. У вас нет правильно настроенного списка библиотек для включения библиотеки, в которой находится объект DDS.

  2. Ваш список библиотек настроен так, что он выбирает старый объект DDS, прежде чем находит новый.

  3. Вы компилируете объект DDS в библиотеку, отличную от ожидаемой.

Также попробуйте запустить WRKOBJ *ALL/<OBJNAME>, Вы можете быть удивлены, обнаружив версию, висящую там, где вы не ожидали.

Другие вопросы по тегам