Добрый день
Есть самописный экран (0010), который разбит на две подобласти (head, sub). Также реализован древовидный список.
Область sub состоит из множества закладок с полями ввода/просмотра информации, а в head запускается один из подэкранов(S1,S2).
В зависимости от типа выбраного элемента в дереве, в области sub скрываются/отображаются нужные закладки а также запускается S1,S2 и подтягиваются соответствующие данные .
Пример:
Элемент дерева E1 - отображаемые закладки Z1, Z2, Z3
Элемент дерева E2 - отображаемые закладки Z4, Z5, Z6
Вопрос:
Выбираю E1 - head(S1) и закладки в sub отображает верно.
Перехожу на E2 - head(S2) перерисовывает верно а вот закладки и данные в sub остаются прежними (Z1, Z2, Z3) но с заголовками из Z4, Z5, Z6.
Переключив закладку (Z5, Z6) - перерисовывает закладки/данные верно.
Теперь вернувшись на E1 получаю шапки Z1, Z2, Z3 с отображением Z4, Z5, Z6.
Может есть вариант проще? Подскажите как правильно обновлять/перерисовывать подэкраны и данные в закладках и ЧЯДНТ?
Пример кода 10 экрана:
Code:
PROCESS BEFORE OUTPUT.
MODULE set_values.
MODULE set_status.
MODULE modify_screen.
MODULE modify_screen_0010.
CALL SUBSCREEN head
INCLUDING g_list_tab-prog head_subscr.
MODULE list_tab_active_tab_set.
CALL SUBSCREEN sub
INCLUDING g_list_tab-prog g_list_tab-subscreen.
*$*$----------------------------------------------------------------*$*$
PROCESS AFTER INPUT.
MODULE exit AT EXIT-COMMAND.
CALL SUBSCREEN head.
CALL SUBSCREEN sub.
*получаю номер активной закладки
MODULE list_tab_active_tab_get.
MODULE field_at_cursor_selection AT CURSOR-SELECTION.
*выборка данных и обработка кнопок
MODULE pai_user_command.
Экран:

спасибо