Текущее время: Вс, авг 03 2025, 18:43

Часовой пояс: 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 часа


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

Сейчас этот форум просматривают: нет зарегистрированных пользователей


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

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