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

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


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

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


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

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