Проверка уровня AS400 на DSPF - PullRequest
0 голосов
/ 06 июня 2018

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

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

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

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

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

Буду признателен за любые указания по этому вопросу

1 Ответ

0 голосов
/ 06 июня 2018

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

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

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

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

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

...