Текущее время: Пн, авг 04 2025, 10:50

Часовой пояс: UTC + 3 часа


Правила форума


ВНИМАНИЕ!

Вопросы по SAP Query и Quick View - сюда



Начать новую тему Ответить на тему  [ Сообщений: 3 ] 
Автор Сообщение
 Заголовок сообщения: Как обновлять содержимое подэкрана, при использовании картотеки в Объектном ALV
СообщениеДобавлено: Пт, апр 04 2008, 12:01 
Специалист
Специалист

Зарегистрирован:
Пн, фев 11 2008, 16:17
Сообщения: 122
Пол: Мужской
Собственно, вопрос такой:
На экране 100 создана картотека - 4 вкладки.
Для каждой из них используется один и тот же подэкран 101.
На каждом экране требуется выводить таблицу используя метод:
set_table_for_first_display
Однако, таблица на 1-й вкладке отображается, а при переходе на последующие - содержимое 101-го подэкрана не обновляется...

Code:
MODULE messages_active_tab_set OUTPUT.

CLEAR: obj_cont1, obj_alv1.

TRY.
  obj_alv1->free( ).
  obj_cont1->free( ).
CATCH cx_sy_ref_is_initial.
ENDTRY.




  CREATE OBJECT obj_cont1
    EXPORTING
      container_name = 'AREA'.
  CREATE OBJECT obj_alv1
    EXPORTING
      i_parent = obj_cont1.

  PERFORM fill_layo.
  PERFORM fill_fcat1.
  PERFORM fill_fcat2.
  PERFORM fill_fcat3.
  PERFORM fill_fcat4.

  messages-activetab = g_messages-pressed_tab.
  CASE g_messages-pressed_tab.
    WHEN c_messages-tab1.
      g_messages-subscreen = '0101'.

      ASSIGN it_main TO <fs_tab>.
      ASSIGN it_fcat1 TO <fs_fcat>.

    WHEN c_messages-tab2.
      g_messages-subscreen = '0101'.

      ASSIGN it_main_error TO <fs_tab>.
      ASSIGN it_fcat2 TO <fs_fcat>.

    WHEN c_messages-tab3.
      g_messages-subscreen = '0101'.

      ASSIGN it_mard_error TO <fs_tab>.
      ASSIGN it_fcat3 TO <fs_fcat>.

    WHEN c_messages-tab4.
      g_messages-subscreen = '0101'.

      ASSIGN it_message TO <fs_tab>.
      ASSIGN it_fcat4 TO <fs_fcat>.

    WHEN OTHERS.
*&SPWIZARD:      DO NOTHING
  ENDCASE.

  CALL METHOD obj_alv1->set_table_for_first_display
    EXPORTING
      is_layout       = is_layo1
    CHANGING
      it_outtab       = <fs_tab>
      it_fieldcatalog = <fs_fcat>.


ENDMODULE.                    "MESSAGES_ACTIVE_TAB_SET OUTPUT


Подскажите, пожалуйста, решение проблеммы!


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пт, апр 04 2008, 14:51 
Старший специалист
Старший специалист
Аватара пользователя

Зарегистрирован:
Пт, май 27 2005, 14:20
Сообщения: 310
Пол: Мужской
Попробуйте метод refresh_table_display


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Вт, апр 08 2008, 09:31 
Специалист
Специалист

Зарегистрирован:
Пн, фев 11 2008, 16:17
Сообщения: 122
Пол: Мужской
Решение оказалось до обидного простым:
Оказывается не нужно было всякий раз очищать и пересоздавать объекты, т. е. следующий код:
Code:
CLEAR: obj_cont1, obj_alv1.

TRY.
  obj_alv1->free( ).
  obj_cont1->free( ).
CATCH cx_sy_ref_is_initial.
ENDTRY.

... не нужен совсем... :)


Принять этот ответ
Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 3 ] 

Часовой пояс: UTC + 3 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: Yandex [Bot]


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
cron
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB