Текущее время: Сб, авг 02 2025, 20:17

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


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


ВНИМАНИЕ!

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



Начать новую тему Ответить на тему  [ Сообщений: 10 ] 
Автор Сообщение
 Заголовок сообщения: Возврат на нужную закладку экрана выбора
СообщениеДобавлено: Ср, фев 04 2009, 12:18 
Специалист
Специалист

Зарегистрирован:
Вт, авг 09 2005, 15:51
Сообщения: 149
Добрый день.

Вопрос, наверное, банальный, но что-то никак не могу найти ответ.
Есть экран выбора с тремя подэкранами-закладками(экран выбора с картотекой, если ABAP-примерам верить). Если после запуска программы и просмотра получающегося ALV-Grid вернуться на экран выбора, автоматически открывается первая закладка. Как сделать так, чтобы открывалась та, с которой был произведен запуск?


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Возврат на нужную закладку экрана выбора
СообщениеДобавлено: Ср, фев 04 2009, 13:07 
Менеджер
Менеджер
Аватара пользователя

Зарегистрирован:
Пт, янв 18 2008, 10:34
Сообщения: 716
Откуда: Moscow
Пол: Мужской
используйте TABSTRIP-ACTIVETAB

_________________
Пользователь не знает, чего он хочет, пока не увидит то, что он получил. (Э. Йодан)


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Возврат на нужную закладку экрана выбора
СообщениеДобавлено: Ср, фев 04 2009, 13:13 
Старший специалист
Старший специалист

Зарегистрирован:
Сб, июл 28 2007, 20:38
Сообщения: 364
Если речь идет о селекционном экране, то для этого надо обработать событие AT SELECTION-SCREEN OUTPUT.
(PBO сел. экрана)


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Возврат на нужную закладку экрана выбора
СообщениеДобавлено: Ср, фев 04 2009, 13:15 
Директор
Директор

Зарегистрирован:
Пт, окт 07 2005, 09:10
Сообщения: 752
Откуда: 4.6C
Пол: Мужской
Я так понял экран селекционный?
Наверное, что-то типа такого:
Цитата:
SELECTION-SCREEN: BEGIN OF TABBED BLOCK mytab FOR 10 LINES,
TAB (20) tab1 USER-COMMAND push1,
TAB (20) tab2 USER-COMMAND push2,
TAB (20) tab3 USER-COMMAND push3,
...
END OF BLOCK mytab.

INITIALIZATION.
...
<str_var> = 'TAB1'.

AT SELECTION-SCREEN OUTPUT.
...
mytab-activetab = <str_var>.

AT SELECTION-SCREEN.
...
CASE sy-ucomm.
WHEN 'PUSH1'.
<str_var> = 'TAB1'.
WHEN 'PUSH2'.
<str_var> = 'TAB2'.
...
ENDCASE.
mytab-activetab = <str_var>.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Возврат на нужную закладку экрана выбора
СообщениеДобавлено: Ср, фев 04 2009, 14:24 
Специалист
Специалист

Зарегистрирован:
Вт, авг 09 2005, 15:51
Сообщения: 149
Всё получилось, спасибо, осталась одна проблема.

Если выходить из грида через leave to screen 0 , слетают все сохранённые данные по активным закладкам(что в принципе понятно). Как бы так поцивильней обработать выход в таком случае?


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Возврат на нужную закладку экрана выбора
СообщениеДобавлено: Ср, фев 04 2009, 15:07 
Менеджер
Менеджер
Аватара пользователя

Зарегистрирован:
Пт, янв 18 2008, 10:34
Сообщения: 716
Откуда: Moscow
Пол: Мужской
initialization есть ? если есть там сделайте
Code:
import g_act_tab from memory id 'ACT_TAB'

а в перед leave screen 0
Code:
g_act_tab = tabstrip-activetab
export g_act_tab to memory id 'ACT_TAB'

_________________
Пользователь не знает, чего он хочет, пока не увидит то, что он получил. (Э. Йодан)


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Возврат на нужную закладку экрана выбора
СообщениеДобавлено: Ср, фев 04 2009, 15:11 
Менеджер
Менеджер
Аватара пользователя

Зарегистрирован:
Пт, янв 18 2008, 10:34
Сообщения: 716
Откуда: Moscow
Пол: Мужской
немного опаздал с ответом :)
Snus написал(а):
Всё получилось, спасибо, осталась одна проблема.

Если выходить из грида через leave to screen 0 , слетают все сохранённые данные по активным закладкам(что в принципе понятно). Как бы так поцивильней обработать выход в таком случае?


хмм не должно так себя вести если конечно у вас в INITIALIZATION нету ни какой доп. обработки влияющей на это

P.S. : кстати вы еще должны подэкран соотвествующий(последний) указать для TABSTRIP? кроме активной вкладки

_________________
Пользователь не знает, чего он хочет, пока не увидит то, что он получил. (Э. Йодан)


Последний раз редактировалось ghost Ср, фев 04 2009, 15:23, всего редактировалось 1 раз.

Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Возврат на нужную закладку экрана выбора
СообщениеДобавлено: Ср, фев 04 2009, 15:21 
Специалист
Специалист

Зарегистрирован:
Вт, авг 09 2005, 15:51
Сообщения: 149
Всё получилось, спасибо. Сохранять в памяти - это выход.

Собственно итоговый код:

Code:
selection-screen begin of tabbed block tb1 for 5 lines.
selection-screen tab (15) LG user-command ucomm1 default screen 101.
selection-screen tab (15) NM user-command ucomm2 default screen 102.
selection-screen tab (15) ET user-command ucomm3 default screen 103.
selection-screen end of block tb1.

INITIALIZATION.
  LG = text-001.
  NM = text-003.
  ET = text-004.
  import tb1 from memory id 'ACT_TAB'.
  free memory id 'ACT_TAB'.

at selection-screen.
  case sy-ucomm.
    when 'UCOMM1'.
      g_active_tab = 'LG'.
      tb1-dynnr = 101.
      tb1-activetab = g_active_tab.
    when 'UCOMM2'.
      g_active_tab = 'NM'.
      tb1-dynnr = 102.
      tb1-activetab = g_active_tab.
    when 'UCOMM3'.
      g_active_tab = 'ET'.
      tb1-dynnr = 103.
      tb1-activetab = g_active_tab.
  endcase.

start-of-selection.
  call screen 100.
.
.
.
export tb1 to memory id 'ACT_TAB'.
leave to screen 0.
.
.
.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Возврат на нужную закладку экрана выбора
СообщениеДобавлено: Ср, фев 04 2009, 15:37 
Менеджер
Менеджер
Аватара пользователя

Зарегистрирован:
Пт, янв 18 2008, 10:34
Сообщения: 716
Откуда: Moscow
Пол: Мужской
здесь лишнее
Code:
  free memory id 'ACT_TAB'.

память при выходе очистится (советую почитать про ABAP Memory)

_________________
Пользователь не знает, чего он хочет, пока не увидит то, что он получил. (Э. Йодан)


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Возврат на нужную закладку экрана выбора
СообщениеДобавлено: Ср, фев 04 2009, 15:45 
Специалист
Специалист

Зарегистрирован:
Вт, авг 09 2005, 15:51
Сообщения: 149
Цитата:
память при выходе очистится (советую почитать про ABAP Memory)


Да, я в курсе. Но это если через транзакцию заходить. А если выходить из экрана выбора назад в программу, а потом снова запускать - не очищается. Так что это, в общем-то, защита от отдельных экстремалов.


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

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


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

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


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

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