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

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


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


ВНИМАНИЕ!

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



Начать новую тему Ответить на тему  [ Сообщений: 6 ] 
Автор Сообщение
 Заголовок сообщения: COMMIT собственных данных
СообщениеДобавлено: Вт, апр 01 2008, 18:28 
Начинающий
Начинающий

Зарегистрирован:
Вт, апр 01 2008, 18:08
Сообщения: 3
Добрый день!

Господа профессионалы, помогите любителю :)

Есть некая саповская программа, которая делает некоторые изменения в БД. COMMIT она делает относительно нечасто.

Посреди нее находится вызов метода класса (не BADI), который можно написать самостоятельно. Т.е. класс написан и метод написан мной. В этом методе я делаю запись в собственную Z-таблицу и мне необходимо закоммитить изменения как можно быстрее. В эту таблицу пишет еще N программ и коммитить измененния в ней надо как можно быстрее. И желательно - синхронно, а не в update task. Беда в том, что если я напишу в своем коде COMMIT WORK, то одновременно зафиксирую все изменения, сделанные вышестоящей саповской программой. А это очень нежелательно.

Вообщем мне нужно что-то вроде автономных транзакций ораклового PL/SQL.

Единственная моя мысль - делать свои изменения в отдельном RFC ФМ, вызывая его с параметром DESTINATION 'NONE'. Только я не уверен, что такой ФМ будет выполняться в отдельном LUW.

Подскажите, как вы решаете подобные проблемы?

С уважением,
Евгений


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Вт, апр 01 2008, 19:04 
Гуру-эксперт
Гуру-эксперт
Аватара пользователя

Зарегистрирован:
Ср, ноя 03 2004, 14:51
Сообщения: 1912
Откуда: КраснАдар
Пол: Мужской
Кажется на форуме подобное предлагалось. Тогда повторюсь.
Заверните свои апдейт-команды в репорт, махните в него нужные данные из своего класса (можно через память, к примеру) и в нем уже коммит сделайте.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Вт, апр 01 2008, 20:14 
Президент
Президент

Зарегистрирован:
Пт, апр 28 2006, 22:39
Сообщения: 2514
Откуда: North Taxolina, USA
Пол: Женский
Чисто из любопытства - а что будет, если данные в Z таблице "закомиттятся", а потом основные данные - нет? Как будете разруливать? :?


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: re
СообщениеДобавлено: Вт, апр 01 2008, 20:35 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Пт, сен 23 2005, 11:11
Сообщения: 963
если невозможно договориться и решено ломать идеологию sap luw :)

+1 John Doe
если не сработает destination 'NONE', то submit .. in update task.

вызвать commit/rollback внутри update task причем стандартного - это как дернуть аварийный стоп-кран,
управление luw-ом обычно всегда снаружи,
можно разве что вызвать db_commit, по уважительной причине


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения:
СообщениеДобавлено: Ср, апр 02 2008, 00:17 
Начинающий
Начинающий

Зарегистрирован:
Вт, апр 01 2008, 18:08
Сообщения: 3
Jelena написала:
Чисто из любопытства - а что будет, если данные в Z таблице "закомиттятся", а потом основные данные - нет? Как будете разруливать? :?


Ну это мне и в этом случае надо сделать запись в Z-таблице. Такая вот потребность. Долго рассказывать, да и мало кому будет интересно :)


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: re
СообщениеДобавлено: Ср, апр 02 2008, 00:20 
Начинающий
Начинающий

Зарегистрирован:
Вт, апр 01 2008, 18:08
Сообщения: 3
trop написал(а):
если невозможно договориться и решено ломать идеологию sap luw :)

+1 John Doe
если не сработает destination 'NONE', то submit .. in update task.

вызвать commit/rollback внутри update task причем стандартного - это как дернуть аварийный стоп-кран,
управление luw-ом обычно всегда снаружи,
можно разве что вызвать db_commit, по уважительной причине


Ну LUW я не ломаю. Просто следы в Z-таблице нужно оставлять в любом случае, даже если ROLLBACK у саповской программы пройдет (что очень редко и экстраординарно). Другое дело, что саповская прога может COMMIT сделать через минуту, а Z-таблицу надо освобождать быстро.

Update task не нравится своей асинхронностью. При большой очереди запись может случиться еще позже чем сама программа закоммитится.

/me пошел проверять DESTINATION 'NONE" припарку


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

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


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

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


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

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