Текущее время: Вт, июл 15 2025, 00:19

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


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


ВНИМАНИЕ!

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



Начать новую тему Ответить на тему  [ Сообщений: 9 ] 
Автор Сообщение
 Заголовок сообщения: Событие изменения данных в Maintenance View таблицы
СообщениеДобавлено: Чт, июн 21 2012, 19:23 
Младший специалист
Младший специалист
Аватара пользователя

Зарегистрирован:
Ср, май 19 2010, 15:54
Сообщения: 77
Добрый день,

Появилась проблема - надо отследить "на лету" изменение данных в таблице, открытой на редактирование в SM30/SM31.
В САПовском конструкторе есть "Событие 5 - Creating New Entries", выстреливает оное просто отлично, а вот с изменением данных в уже введенных записях есть проблемы.
В конструкторе есть события 7 и 8 - Before/After Correcting the Contents of a Selected Field, но они, вопреки названию, срабатывают не при привычном изменении содержимого поля внутри редактора, а при весьма специфическом способе редактирования - Edit -- Change Field Content.

Есть ли способ перехватить событие редактора?

То есть, для примера, таблица из 3 полей:
VBELN RESULT CHANGED_BY

В SM31 есть возможность править поля VBELN / RESULT у записи. Как только поле изменено и нажат Enter - чтобы программным путем сразу изменялось и значение поля CHANGED_BY.

_________________
F5-F6-F7-F8


Пометить тему как нерешенную
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Событие изменения данных в Maintenance View таблицы
СообщениеДобавлено: Пт, июн 22 2012, 06:19 
Гуру-эксперт
Гуру-эксперт
Аватара пользователя

Зарегистрирован:
Чт, ноя 11 2004, 16:25
Сообщения: 3109
Пол: Мужской
dedzinatajs написал(а):
Добрый день,

Появилась проблема - надо отследить "на лету" изменение данных в таблице, открытой на редактирование в SM30/SM31.
В САПовском конструкторе есть "Событие 5 - Creating New Entries", выстреливает оное просто отлично, а вот с изменением данных в уже введенных записях есть проблемы.
В конструкторе есть события 7 и 8 - Before/After Correcting the Contents of a Selected Field, но они, вопреки названию, срабатывают не при привычном изменении содержимого поля внутри редактора, а при весьма специфическом способе редактирования - Edit -- Change Field Content.

Есть ли способ перехватить событие редактора?

То есть, для примера, таблица из 3 полей:
VBELN RESULT CHANGED_BY

В SM31 есть возможность править поля VBELN / RESULT у записи. Как только поле изменено и нажат Enter - чтобы программным путем сразу изменялось и значение поля CHANGED_BY.

В Вашем случае это как бы системное поле, обычно их не показывают. Имхо, справедливо заполнять это поле при самом сохранение записи в БД. Еще вариант(может подойдет), смотреть в сторону документов изменения. Если включен аудит системы(а в продуктиве он скорее всего включен), то Вашей табличке нужно проставить опцию Log Data Changes, тогда будет видно кто, что и когда делал с таблицей (тр SCU3).


Пометить тему как нерешенную
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Событие изменения данных в Maintenance View таблицы
СообщениеДобавлено: Пт, июн 22 2012, 14:51 
Младший специалист
Младший специалист
Аватара пользователя

Зарегистрирован:
Ср, май 19 2010, 15:54
Сообщения: 77
Да нет, поле CHANGED_BY было взято с потолка для примера, там на самом деле никак не связано с логином меняющего.

Просто надо на лету менять содержимое колонки А на основе изменений в колонке Б (эксель-стайл ;)
Возможно ли это?

_________________
F5-F6-F7-F8


Пометить тему как нерешенную
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Событие изменения данных в Maintenance View таблицы
СообщениеДобавлено: Пн, июн 25 2012, 15:17 
Младший специалист
Младший специалист
Аватара пользователя

Зарегистрирован:
Ср, май 19 2010, 15:54
Сообщения: 77
Вообще кто-нибудь работал с событиями в maintenance view?
Почему-то срабатывает только событие BEFORE SAVING TO DATABASE, а вот AFTER SAVING TO DATABASE - нет. Хотя таблица обновляется
:((((

Заранее благодарю за любую помощь!

_________________
F5-F6-F7-F8


Пометить тему как нерешенную
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Событие изменения данных в Maintenance View таблицы
СообщениеДобавлено: Пн, июн 25 2012, 15:29 
Гуру-эксперт
Гуру-эксперт
Аватара пользователя

Зарегистрирован:
Чт, ноя 11 2004, 16:25
Сообщения: 3109
Пол: Мужской
dedzinatajs написал(а):
Вообще кто-нибудь работал с событиями в maintenance view?
Почему-то срабатывает только событие BEFORE SAVING TO DATABASE, а вот AFTER SAVING TO DATABASE - нет. Хотя таблица обновляется
:((((

Заранее благодарю за любую помощь!

Да, работал. Конкретно для Вашей ситуации не использовал события. В моих случаях достаточно было завязать поля через внешний ключ. Может и в Вашем случае решается этим ? http://sapboard.ru/forum/viewtopic.php?f=13&t=70462&start=0


Пометить тему как нерешенную
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Событие изменения данных в Maintenance View таблицы
СообщениеДобавлено: Пн, июн 25 2012, 15:32 
Старший специалист
Старший специалист

Зарегистрирован:
Вт, ноя 18 2008, 10:40
Сообщения: 342
Откуда: Пермь
Пол: Мужской
Попробуйте к 21-у событию прикрутить


Пометить тему как нерешенную
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Событие изменения данных в Maintenance View таблицы
СообщениеДобавлено: Вт, июн 26 2012, 09:22 
Младший специалист
Младший специалист
Аватара пользователя

Зарегистрирован:
Ср, май 19 2010, 15:54
Сообщения: 77
Спасибо за ответы!

zsap написал:
Попробуйте к 21-у событию прикрутить


Да, но это же "fill hidden fields"?

По теме - пока что решил проблему топорно: сравнением таблицы после AFTER SAVE (оно таки выстреливает) с состоянием BEFORE SAVE, благо число записей будет невелико. Метод с созданием View интересный, но не подходит, там не только Foreign Key, но еще и калькуляции.

_________________
F5-F6-F7-F8


Пометить тему как нерешенную
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Событие изменения данных в Maintenance View таблицы  Тема решена
СообщениеДобавлено: Вт, июн 26 2012, 11:33 
Старший специалист
Старший специалист

Зарегистрирован:
Вт, ноя 18 2008, 10:40
Сообщения: 342
Откуда: Пермь
Пол: Мужской
dedzinatajs написал(а):
Да, но это же "fill hidden fields"?

Срабатывает по ентеру, на hidden fields не обращайте внимания, можно любые поля перезаписывать. Вам ведь это и нужно если я правильно понял


Пометить тему как нерешенную
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Событие изменения данных в Maintenance View таблицы
СообщениеДобавлено: Ср, июл 11 2012, 10:16 
Младший специалист
Младший специалист
Аватара пользователя

Зарегистрирован:
Ср, май 19 2010, 15:54
Сообщения: 77
Цитата:
Срабатывает по ентеру, на hidden fields не обращайте внимания


Фантастика!
Никогда бы сам не догадался, что сумрачный немецкий гений именно так обозвал обработку измененных записей ;)

Спасибо!

_________________
F5-F6-F7-F8


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

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


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

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


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

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