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

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


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

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


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

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