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

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


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

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


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

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