Текущее время: Сб, июл 19 2025, 01:18

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


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


ВНИМАНИЕ!

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



Начать новую тему Ответить на тему  [ Сообщений: 7 ] 
Автор Сообщение
 Заголовок сообщения: Событие при изменении поля таблицы экрана. Как до него достучаться? Диалоговая программа.
СообщениеДобавлено: Пт, сен 27 2013, 07:18 
Младший специалист
Младший специалист

Зарегистрирован:
Ср, апр 10 2013, 17:25
Сообщения: 54
Добрый день.

Создал Экран под именем 100.
На этотом экране разместил таблицу с именем gt_data_screen.
Таблица имеет две колонки, GWA_DATA-KUNNR и GWA_DATA-NAME1.

Произвожу действие:
в поле тыблицы GWA_DATA-KUNNR выбираю какого то дебитора, и хочу чтобы поле GWA_DATA-NAME1 заполнилось именем этого дебитора из таблицы kna1.

события из PAI какого то действия с экраном... допустим прокрутка таблицы. Но а как поймать событие при изменении поля GWA_DATA-KUNNR?

Как возможно такое сделать? Кто сталкивался с подобными задачами, пожалуйста подскажите как вы их решали?

Спасибо.


Пометить тему как нерешенную
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Событие при изменении поля таблицы экрана. Как до него достучаться? Диалоговая программа.
СообщениеДобавлено: Пт, сен 27 2013, 07:38 
Специалист
Специалист
Аватара пользователя

Зарегистрирован:
Ср, мар 21 2012, 22:00
Сообщения: 248
Code:
FIELD dynp_field MODULE mod ON INPUT

не подойдет?


Пометить тему как нерешенную
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Событие при изменении поля таблицы экрана. Как до него достучаться? Диалоговая программа.
СообщениеДобавлено: Пт, сен 27 2013, 07:54 
Младший специалист
Младший специалист

Зарегистрирован:
Ср, апр 10 2013, 17:25
Сообщения: 54
Ice_age написал(а):
Code:
FIELD dynp_field MODULE mod ON INPUT

не подойдет?


сейчас в process after input написано.

Code:
process after input.

  module user_command_0100.

  loop at gt_data.
    chain.
      field gwa_data-kunnr module check_chain on chain-request.
    endchain.
  endloop.


в программе:

Code:
module check_chain input.

  modify gt_data from gwa_data index gt_data_screen-current_line.

endmodule.


если я вместо

Code:
      field gwa_data-kunnr module check_chain on chain-request.


напишу

Code:
FIELD gwa_data-kunnr MODULE check_chain ON INPUT.


разницы никакой нет. или я не правильно написал код для PAI?

Как отловить отладчиком момент входа в PAI при изменении поля gwa_data-kunnr?


Пометить тему как нерешенную
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Событие при изменении поля таблицы экрана. Как до него достучаться? Диалоговая программа.  Тема решена
СообщениеДобавлено: Пт, сен 27 2013, 08:08 
Специалист
Специалист
Аватара пользователя

Зарегистрирован:
Ср, мар 21 2012, 22:00
Сообщения: 248
kvartirant написал(а):

Как отловить отладчиком момент входа в PAI при изменении поля gwa_data-kunnr?


ввести значение, включить отладку, нажать enter


Пометить тему как нерешенную
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Событие при изменении поля таблицы экрана. Как до него достучаться? Диалоговая программа.
СообщениеДобавлено: Пт, сен 27 2013, 08:19 
Младший специалист
Младший специалист

Зарегистрирован:
Ср, апр 10 2013, 17:25
Сообщения: 54
Ice_age написал(а):
kvartirant написал(а):

Как отловить отладчиком момент входа в PAI при изменении поля gwa_data-kunnr?


ввести значение, включить отладку, нажать enter



Спасибо! работает.

только вот если пользователь работает мышью, и после выбора дебитора не нажимает Enter, то это событие обрабатывать не будет.

Помоему где то в статусе нужно поставить возникновение события на мышь(если конечно память мне нискем не изменяет)...


Пометить тему как нерешенную
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Событие при изменении поля таблицы экрана. Как до него достучаться? Диалоговая программа.
СообщениеДобавлено: Пт, сен 27 2013, 08:37 
Специалист
Специалист
Аватара пользователя

Зарегистрирован:
Ср, мар 21 2012, 22:00
Сообщения: 248
Я думаю не стоит заморачиваться на мышь и путать пользователей. Пусть все будет унифицированно. Концепция САПа: валидация поля происходит по нажатию enter (ну или f8).


Пометить тему как нерешенную
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Событие при изменении поля таблицы экрана. Как до него достучаться? Диалоговая программа.
СообщениеДобавлено: Пт, сен 27 2013, 08:49 
Младший специалист
Младший специалист

Зарегистрирован:
Ср, апр 10 2013, 17:25
Сообщения: 54
Ice_age написал(а):
Я думаю не стоит заморачиваться на мышь и путать пользователей. Пусть все будет унифицированно. Концепция САПа: валидация поля происходит по нажатию enter (ну или f8).


Да, вы правы.

Зашел в spro, там уже существуют таблички на подобии который я хочу создать свою. Там тоже наименование появляется после нажатия на Enter.

Про щелчек мыши - в статусе для клавиши F2 приписываем какое либо имя, и событие начинает работать. только при двойном щелчке.

Цитата:
Note
The function type and function code of a function are determined in the Screen Painter or in the Menu Painter. We recommend to assign function code "CS" in the Menu Painter to function key F2 in order to simultaneously assign the double-click function of the mouse to it. This allows you to assign dialog modules to the selection of input or output fields.

https://help.sap.com/abapdocu_70/en/DYNPMODULE.htm


Большое спасибо за помощь.


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

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


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

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


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

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