Текущее время: Пт, июл 25 2025, 18:32

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


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


ВНИМАНИЕ!

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



Начать новую тему Ответить на тему  [ Сообщений: 6 ] 
Автор Сообщение
 Заголовок сообщения: ALV grid обработка PAI
СообщениеДобавлено: Ср, авг 15 2007, 10:19 
Начинающий
Начинающий

Зарегистрирован:
Ср, авг 15 2007, 10:05
Сообщения: 1
Есть рисованный экран, на нем пара полей, затем идет контейнер в нем ALV выводится (через объекты), с созданной кнопкой.
Поля вне контейнера заполняются автоматом, но есть ситуация когда их нужно подправлять, при этом они должны подсталяться в пакетник.
Сейчас суть проблеммы:
При выборе строки в табличке ALV нажимаем кнопку в панели ALV.
Попадаем в обработчик события ALV по этой кнопке, заполняется транзакция, по выбранной позиции в Табличке что нам вывел AVL, при этом параметры некоторых полей для пакетника берутся из полей на рисованном экране. А поля остались первоначальными, так как PAI в этом случае отрабатывает после события по нажатию кнопки AVL, а мне нужно уже знать эти данные на этой стадии когда формируется пакетник. Как быть?

Можно конечно, убрать кнопку из ALV и создать на экране свой PF статус с этой кнопкой, но хотелось бы узнать как обойти эту ситуацию, и возможно ли такое.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Ср, авг 15 2007, 10:38 
Директор
Директор
Аватара пользователя

Зарегистрирован:
Пн, дек 20 2004, 16:05
Сообщения: 1080
Откуда: 4.0B
Пол: Мужской
Ну, например включить значения ваших рисованых полей в атрибуты класса обработки ALV ( завести class-data например) и брать значения оттуда, там же их и обрабатывать.

_________________
Я слышу и забываю,
Я вижу и помню долго,
Я делаю и — понимаю.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Ср, авг 15 2007, 12:48 
Гуру-эксперт
Гуру-эксперт

Зарегистрирован:
Вт, сен 07 2004, 17:47
Сообщения: 2988
Lars написал:
Ну, например включить значения ваших рисованых полей в атрибуты класса обработки ALV ( завести class-data например) и брать значения оттуда, там же их и обрабатывать.
Может проще их будет исключить из упоминания в FIELD? тогда новое значение должно сразу попадать в поле. Ещё можно попробовать ФМ DYNP_VALUES_READ.

_________________
"После" - не значит "вследствие"


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

Зарегистрирован:
Ср, ноя 23 2005, 13:37
Сообщения: 1805
Откуда: ECC 6.0
Пол: Мужской
sy-uname написал(а):
Может проще их будет исключить из упоминания в FIELD? тогда новое значение должно сразу попадать в поле.

Всё зависит от того, как вызывается ALV-грид. В одном случае событие попадает в PAI, а потом мы передаём его в грид, а в другом ALV сам обрабатывает свои события.
Цитата:
When you register the event, you must specify whether the event is to be processed as a system event or as an application event.

System events are is triggered before any automatic field checks (for example, required fields) have taken place on the screen, and before any field transport. The PAI and PBO events are not triggered. Consequently, you cannot access any values that the user has just changed on the screen. Furthermore, there is no field transport back to the screen after the event, so values that you have changed in the event handling are not updated on the screen.
The handler method that you defined for the event is called automatically by the system. However, you can use the method set_new_ok_code to set a new value for the OK_CODE field. This then triggers the PAI and PBO modules, and you can evaluate the contents of the OK_CODE field as normal in a PAI module.

Application events are triggered automatically at the end of the PAI event. Consequently, all field checks and field transport has taken place. If you want the event handler method to be called at a particular point during PAI processing, you must trigger the event handler using the static method CL_GUI_CFW=>DISPATCH .


Последний раз редактировалось sibrin Чт, сен 20 2007, 22:52, всего редактировалось 1 раз.

Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: i_appl_events = 'X'.
СообщениеДобавлено: Ср, авг 15 2007, 17:42 
Начинающий
Начинающий

Зарегистрирован:
Пт, май 25 2007, 15:45
Сообщения: 17
Откуда: Минск
CREATE OBJECT GRID1
EXPORTING I_PARENT = G_CUSTOM_CONTAINER1
i_appl_events = 'X'. - вот что тебе нужно!


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: i_appl_events = 'X'.
СообщениеДобавлено: Чт, авг 16 2007, 09:29 
Директор
Директор
Аватара пользователя

Зарегистрирован:
Пн, дек 20 2004, 16:05
Сообщения: 1080
Откуда: 4.0B
Пол: Мужской
Ermakov написал(а):
CREATE OBJECT GRID1
EXPORTING I_PARENT = G_CUSTOM_CONTAINER1
i_appl_events = 'X'. - вот что тебе нужно!


Это чтоб на каждый чих передергивание было ?
Можно просто позвать cl_gui_cfw=>set_new_ok_code в нужный моимент

_________________
Я слышу и забываю,
Я вижу и помню долго,
Я делаю и — понимаю.


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

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


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

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


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

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