Обработка файлов с несколькими дисплеями

У меня есть программа подфайла, которая отображает записи в следующем формате:

Исходное отображение подфайла

Есть два варианта, которые можно взять на записи (5 или 7). Вариант 5 проверяет наличие записи в таблице, и если записи не найдены, отображается показанный ниже экран с файлом отображения окна, указывающим, что записи не найдены:

Отображение с информационным окном

проблема здесь в том, что когда для записей выбрана комбинация параметров, например, если вариант 5 выбран для одной записи, затем вариант 7 для следующей, а затем снова вариант 5 для следующей записи, отображение кажется искаженным .

Вариант 7 вызывает программу, которая отображает другой файл дисплея, и когда элемент управления возвращается к исходному дисплею, он выглядит так:

Искаженное отображение

Как я могу отобразить это правильно (с окном, появляющимся с правильным фоном?) Я знаю, что правильное использование ключевых слов, таких как KEEP или ASSUME, сделает это, но не уверен, как использовать это, в каком отображаемом файле или в каких форматах записи.


person Fabionis    schedule 13.11.2017    source источник
comment
Вы также не упомянули ключевое слово OVERLAY или пытается ли вызываемая программа (вариант № 7) отобразить окно или запись в исходном DSPF или открывает второй DSPF. Все комбинации сбивают с толку (для меня методом проб и ошибок), но поиск ключевых слов в Google наткнулся на это, что может быть полезно: go4as400.com/chapterload.aspx?cid=105   -  person Richard Evans    schedule 13.11.2017


Ответы (1)


Когда вы создаете файл дисплея, он должен создаваться с ключевым словом RSTDSP(*YES). Когда второй файл отображения открывается, файл отображения на экране приостанавливается. По умолчанию первый файл отображения не отображается повторно при закрытии второго файла отображения. Это когда вы получаете дурацкие экраны, подобные тому, который вы показали.

Из центра знаний.

Восстановить отображение (RSTDSP)
Указывает, будут ли данные, отображаемые на устройстве отображения этим файлом отображения, сохраняться во время приостановки файла (сделанного временно неактивным), чтобы другой файл отображения мог отображать другие данные. данные на одном устройстве. Если данные для этого файла сохранены, они восстанавливаются на дисплее устройства при повторном использовании файла.


*NO Данные, отображаемые этим файлом, не сохраняются, когда файл приостановлен.
*YES Данные, которые отображаются, когда этот файл приостановлен, сохраняются и восстанавливаются на дисплее устройства при повторном использовании файла.

person jmarkmurphy    schedule 13.11.2017