Текущее время: Вс, июл 27 2025, 22:53

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


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


ВНИМАНИЕ!

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



Начать новую тему Ответить на тему  [ Сообщений: 6 ] 
Автор Сообщение
 Заголовок сообщения: Отрисовка таблицы ALV
СообщениеДобавлено: Ср, фев 11 2015, 12:05 
Начинающий
Начинающий

Зарегистрирован:
Пт, янв 23 2015, 11:57
Сообщения: 20
Пол: Мужской
Добрый день!
В моей программе из селекционного экрана попадаем на экран 100 с alv grid'ом. Далее по нажатию клавиши переходим на 200 экран.
Сделав нужные операции на 200 экране, возвращаемся станд. саповскими кнопками на 100.
Проблема в следующем: при переходе от 200 к 100 экрану меняется TITLE200 на TITLE100, но внутренность остается от 200 экрана.
Если нажать пару раз на BACK, то выходит в селекционный экран.

Подскажите, пожалуйста, в чем может быть дело.

Code:
CLASS lcl_event_receiver IMPLEMENTATION.
method handle_user_command.
    case e_ucomm.
        "...
        when 'EDIT_PFS'.
              call screen 200.
    endcase.
endmethod.
ENDCLASS.

Code:
MODULE PAI_0200 INPUT.
  ok_code = sy-ucomm.
  case ok_code.
    when 'BACK'.
        "SET SCREEN 100. LEAVE SCREEN.
        leave to screen 100.
    when 'EXIT'.
        "SET SCREEN 100. LEAVE SCREEN.
        leave to screen 100.
  endcase.
  clear ok_code.
ENDMODULE.                 " PAI_0200  INPUT


Code:
MODULE PBO100 OUTPUT.
  set pf-status 'STATUS100'.
  set titlebar 'TITLE100'.
  g_repid = sy-repid.
  perform build_fieldcat changing gt_fieldcat.
  perform exclude_tb_functions changing lt_exclude.
  if g_custom_container is initial.
    perform create_and_init_alv changing gt_outtab[]
                                         gt_fieldcat.
  else.
"бла бла
  endif.
ENDMODULE.                " PBO100  OUTPUT


Пометить тему как нерешенную
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Отрисовка таблицы ALV  Тема решена
СообщениеДобавлено: Ср, фев 11 2015, 12:59 
Почетный гуру
Почетный гуру

Зарегистрирован:
Пт, дек 04 2009, 12:52
Сообщения: 219
Посмотрите, как подобное реализовано в отчете BCALV_GRID_08 .

P.S. Прошу прощения за оффтоп, но используйте 'REUSE_ALV_GRID_DISPLAY' или 'REUSE_ALV_GRID_DISPLAY_LVC' и избавите себя от хождения по подобным "граблям", а других - от кучи ненужного кода.


Пометить тему как нерешенную
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Отрисовка таблицы ALV
СообщениеДобавлено: Ср, фев 11 2015, 14:58 
Начинающий
Начинающий

Зарегистрирован:
Пт, янв 23 2015, 11:57
Сообщения: 20
Пол: Мужской
Игорь, спасибо.
Но в примере на все кнопки навесили EXIT, а мне именно переход к предыдущему экрану нужен.

Совет учту, буду разбираться.


Пометить тему как нерешенную
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Отрисовка таблицы ALV
СообщениеДобавлено: Ср, фев 11 2015, 15:12 
Почетный гуру
Почетный гуру

Зарегистрирован:
Пт, дек 04 2009, 12:52
Сообщения: 219
desconocida, в данном примере, крайняя справа кнопка (в панели инструментов грида) как раз и вызывает переключение между экранами 100 и 200 (на каждом из которых расположен свой грид).


Пометить тему как нерешенную
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Отрисовка таблицы ALV
СообщениеДобавлено: Чт, фев 12 2015, 06:24 
Начинающий
Начинающий

Зарегистрирован:
Пт, янв 23 2015, 11:57
Сообщения: 20
Пол: Мужской
Code:
  MODULE pai_200 INPUT.

  CASE ok_code.
    WHEN 'EXIT'.
      PERFORM exit_program.

  ENDCASE.
  CLEAR ok_code.
ENDMODULE.                             " PAI_200  INPUT

Вот как тут обрабатываются кнопки EXIT и BACK: с 200 экрана сразу выход из программы, поэтому в решении моей проблемы пример не помог.
Code:
* go to other table
    CASE e_ucomm.
      WHEN 'TO_SPFLI'.
        LEAVE TO SCREEN 100.
      WHEN 'TO_SFLIGHT'.
        PERFORM load_sflight_table TABLES lt_rows.
        CALL SCREEN 200.

    ENDCASE.

Такой способ у меня не работает. У меня же не получается возврат к предыдущей Grid, хотя заголовок меняется. Смотрите код выше.


Пометить тему как нерешенную
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Отрисовка таблицы ALV
СообщениеДобавлено: Чт, фев 12 2015, 07:29 
Начинающий
Начинающий

Зарегистрирован:
Пт, янв 23 2015, 11:57
Сообщения: 20
Пол: Мужской
Дело было в том, что я все время вызывала для одного контейнера
Code:
  create object g_custom_container
         exporting container_name = g_container_200.

Вместо g_custom_container_200.

Тема закрыта.


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

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


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

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


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

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