Текущее время: Вс, июл 27 2025, 23:42

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


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


ВНИМАНИЕ!

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



Начать новую тему Ответить на тему  [ Сообщений: 26 ]  На страницу Пред.  1, 2
Автор Сообщение
 Заголовок сообщения: Re: Вопрос выбора типа и возможность реализации customer - exit
СообщениеДобавлено: Ср, окт 12 2011, 14:19 
Старший специалист
Старший специалист

Зарегистрирован:
Сб, июл 28 2007, 20:38
Сообщения: 364
AlexanderGamov написал:
Оу :), не вариант за отсутствие гибкости.

Увы. Такова логика работы всей системы.
Впринципе подойдет реализация через события для workflow


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Вопрос выбора типа и возможность реализации customer - exit
СообщениеДобавлено: Ср, окт 12 2011, 15:00 
Гуру-эксперт
Гуру-эксперт

Зарегистрирован:
Вт, сен 07 2004, 17:47
Сообщения: 2988
AlexanderGamov написал:
Да, видимо про использование расширений я погорячился. :gigi:
Но все-таки хочется понять неужели нельзя отловить момент обновления/добавления записи в таблицу и соответственно по наступлению этих событий заполнить timestamp? Ведь стандартное средство аудита таблицы словаря данных (галка - запись в журнал изменений), после события сохранения данных позволяет просмотреть когда и какая именно часть данных записи была изменена вне зависимости от того как была изменена запись ABAPом или через ведение.

Галка отслеживается на уровне ядра AS, а не на уровне ABAP.

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


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Вопрос выбора типа и возможность реализации customer - exit
СообщениеДобавлено: Чт, окт 13 2011, 14:21 
Почетный гуру
Почетный гуру

Зарегистрирован:
Пт, дек 04 2009, 12:52
Сообщения: 219
AlexanderGamov написал:
по событию вставки или обновления какой -либо записи

Тригера по изменению/удалению/вставке записи в SAP-е, как уже говорилось, нет.
Однако, правильная идеология написания программ состоит в том, чтобы не писать INSERT/UPDATE непосредственно в программах, где требуется сохранить данные в таблицу. Вместо этого следует вызывать специально изготовленный Функциональный модуль (т.н. API), внутри которого и будет реализована логика записи в БД.
Тогда именно этот модуль и будет выполнять функции того тригера, о котором Вы говорите. Туда Вы всегда сможете дописать и заполнение TIMESTAMP и вызов события WORKFLOW и всё, что потребуется.


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Вопрос выбора типа и возможность реализации customer - exit
СообщениеДобавлено: Чт, окт 13 2011, 15:01 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Чт, окт 06 2005, 16:44
Сообщения: 3080
Откуда: Москва
Бородин Игорь написал(а):
Однако, правильная идеология написания программ состоит в том, чтобы не писать INSERT/UPDATE непосредственно в программах

В общем, читайте курс BC414 ;)

_________________
С уважением,
Удав.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Вопрос выбора типа и возможность реализации customer - exit
СообщениеДобавлено: Пт, окт 14 2011, 08:22 
Менеджер
Менеджер
Аватара пользователя

Зарегистрирован:
Пн, май 14 2007, 13:05
Сообщения: 561
Откуда: Москва
AlexanderGamov написал:
Есть Z-таблица определенная в словаре данных, нужно в фоне заполнять поле TIMESTAMP данной таблицы по событию вставки или обновления какой -либо записи.
Меня интересует может кому -то уже доводилось делать подобное, поэтому приветствуется конкретная реализация, перечень транзакций, которые нужно использовать и вообще идеологически правильно ли я понимаю что нужно писать расширение?
Как я понимаю, необходимость заполнения данного поля TIMESTAMP требуется для некого дальнейшего z-анализа, поэтому оперативность заполнения в данном случае не является приоритетной.

Если так и есть, то как вариант решения.
1. Как уже писалось в обсуждении - в тех.настройках Z-таблицы проставляется опция "Запись в журнал изменений".
2. Пишется z-отчет - анализ таблицы журнала DBTABLOG для данной z-таблицы с заполнением поля TIMESTAMP
3. Создается Job на основе этого отчета, с необходимой периодичностью.

_________________
Sapere aude!


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Вопрос выбора типа и возможность реализации customer - exit
СообщениеДобавлено: Пт, окт 14 2011, 15:11 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Чт, окт 06 2005, 16:44
Сообщения: 3080
Откуда: Москва
N/A написал(а):
Если так и есть, то как вариант решения.
1. Как уже писалось в обсуждении - в тех.настройках Z-таблицы проставляется опция "Запись в журнал изменений".
2. Пишется z-отчет - анализ таблицы журнала DBTABLOG для данной z-таблицы с заполнением поля TIMESTAMP
3. Создается Job на основе этого отчета, с необходимой периодичностью.

Что-то жестко. Зачем тогда вообще это поле нужно, если есть DBTABLOG? :? Это сложнее и менее надежно, чем найти INSERT/UPDATE и вставить там свой код. К тому же DBTABLOG будет расти...

_________________
С уважением,
Удав.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Вопрос выбора типа и возможность реализации customer - exit
СообщениеДобавлено: Пн, окт 17 2011, 07:48 
Менеджер
Менеджер
Аватара пользователя

Зарегистрирован:
Пн, май 14 2007, 13:05
Сообщения: 561
Откуда: Москва
Удав написал(а):
Что-то жестко. Зачем тогда вообще это поле нужно, если есть DBTABLOG? :? Это сложнее и менее надежно, чем найти INSERT/UPDATE и вставить там свой код. К тому же DBTABLOG будет расти...
Ну я отдельно выделил "необходимость заполнения данного поля TIMESTAMP", так как полностью процесс не был озвучен ТС. Понятно, что для учета изменений, галка в свойствах таблицы и SCU3 решают.
А почему Вам кажется, что это решение менее надежно? INSERT и UPDATE вполне могут вызываться динамически, и найти такие вызовы очень затрудительно. Данное же решение работает по факту изменения данных, неважно в каком процессе эти данные были изменены. При этом является автономным.
DBTABLOG действительно всегда увеличивается, но так как задание будет периодическим, кто мешает обрабатывать дельту :wink:?

_________________
Sapere aude!


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Вопрос выбора типа и возможность реализации customer - exit
СообщениеДобавлено: Пн, окт 17 2011, 11:19 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Чт, окт 06 2005, 16:44
Сообщения: 3080
Откуда: Москва
N/A написал(а):
А почему Вам кажется, что это решение менее надежно?

1.Потому что job. ;)
2.Потому что анализировать dbtablog долго. Пока считывается информация, данные могут обновиться.
N/A написал(а):
INSERT и UPDATE вполне могут вызываться динамически, и найти такие вызовы очень затрудительно.

Хотел бы я посмотеть в глаза разработчику, который сохраняет данные с помощью динамического INSERT :lol:

_________________
С уважением,
Удав.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Вопрос выбора типа и возможность реализации customer - exit
СообщениеДобавлено: Пн, окт 17 2011, 12:58 
Менеджер
Менеджер
Аватара пользователя

Зарегистрирован:
Пн, май 14 2007, 13:05
Сообщения: 561
Откуда: Москва
Удав написал(а):
1.Потому что job.
2.Потому что анализировать dbtablog долго. Пока считывается информация, данные могут обновиться.
А что с Job не так? :roll: Корректность же обработки анализа dbtablog зависит от логики отчета - все в руках разработчика.
Удав написал(а):
Хотел бы я посмотеть в глаза разработчику, который сохраняет данные с помощью динамического INSERT
Имелась ввиду конструкция вида, INSERT (dbtabname) FROM wa, где имя таблицы определяется динамически.

_________________
Sapere aude!


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Вопрос выбора типа и возможность реализации customer - exit
СообщениеДобавлено: Пн, окт 17 2011, 13:33 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Чт, окт 06 2005, 16:44
Сообщения: 3080
Откуда: Москва
N/A написал(а):
А что с Job не так? Корректность же обработки анализа dbtablog зависит от логики отчета - все в руках разработчика.

То, что момент запуска отличается от момента записи в таблицу. И анализ dbtablog - зачем все усложнять?
N/A написал(а):
Имелась ввиду конструкция вида, INSERT (dbtabname) FROM wa, где имя таблицы определяется динамически.

Я в курсе, что имелось в виду ;)
Только зачем так делать в случае со своей таблицей? :twisted:

_________________
С уважением,
Удав.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Вопрос выбора типа и возможность реализации customer - exit
СообщениеДобавлено: Пн, окт 17 2011, 14:39 
Менеджер
Менеджер
Аватара пользователя

Зарегистрирован:
Пн, май 14 2007, 13:05
Сообщения: 561
Откуда: Москва
Удав написал(а):
То, что момент запуска отличается от момента записи в таблицу. И анализ dbtablog - зачем все усложнять?
Я уже писал, что это решение применительно конкретно к задаче "записать timestamp-поле при изменении z-таблицы".
Про разницу моментов не понял.
Удав написал(а):
Только зачем так делать в случае со своей таблицей?
Ну если есть такая техническая возможность, почему нет? Может гдето и удобно такую конструкцию выхова использщваоть. Ну это отвлечение от темы.

_________________
Sapere aude!


Принять этот ответ
Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 26 ]  На страницу Пред.  1, 2

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


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

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


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

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