Текущее время: Вс, авг 03 2025, 23:02

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


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


ВНИМАНИЕ!

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



Начать новую тему Ответить на тему  [ Сообщений: 9 ] 
Автор Сообщение
 Заголовок сообщения: va41, user-exit ПОСЛЕ сохранения
СообщениеДобавлено: Пт, окт 31 2008, 13:41 
Специалист
Специалист

Зарегистрирован:
Пт, июл 27 2007, 13:06
Сообщения: 137
Добрый день. Подскажите, кто знает, user-exit, срабатывающий после того, как данные ложаться в базу. Необходимо к контракту создать доп.документы, однако они завязаны на номер контракта, который еще не сохранен. Соответственно данных в таблицах нет. Часть нашел в X-таблицах в памяти (xvbap и тп), а часть - нет. В частности интересует таблица FMZUOB, мож до сохранения можно оттуда вытащить связанные данные?
Тяну по FMZUOB-OBJNR='%'+VBAK-VBELN+VBAP-POSNR

Кручу-верчу здесь: Include MV45AFZZ, USEREXIT_SAVE_DOCUMENT.


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

Зарегистрирован:
Ср, ноя 03 2004, 14:51
Сообщения: 1912
Откуда: КраснАдар
Пол: Мужской
В подпрограмме USEREXIT_SAVE_DOCUMENT номер контракта уже известен (поле VBAK-VBELN). Если нужно по нему селектануть из VBAK, то сделайте предварительно COMMIT WORK AND WAIT.


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

Зарегистрирован:
Пт, июл 27 2007, 13:06
Сообщения: 137
а это никаких отрицательных последствий не принесет?


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

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


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

Зарегистрирован:
Пт, июл 27 2007, 13:06
Сообщения: 137
Эти записи формируются системой (либо каким-то дополнением/настройками), как именно - не могу сказать, не искал. Факт в том, что по вышеописанному ключу в FMZUOB данные появляются после сохранения. Мне же из этой таблицы нужны финпозиция, фонд и прочие для создания сметного поступления. Так консультант написал в ТЗ :)
Пока потестирую с коммитом, посмотрю что да как.


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

Зарегистрирован:
Пт, апр 28 2006, 22:39
Сообщения: 2514
Откуда: North Taxolina, USA
Пол: Женский
Sam Stone написал(а):
Эти записи формируются системой (либо каким-то дополнением/настройками), как именно - не могу сказать, не искал. Факт в том, что по вышеописанному ключу в FMZUOB данные появляются после сохранения. Мне же из этой таблицы нужны финпозиция, фонд и прочие для создания сметного поступления. Так консультант написал в ТЗ


То, что должно произойти после сохранения документа, не делается в user exit, а обычно делается с помощью output type, который привязывается к программе. Таким образом сначала проходят все обновления (и COMMIT) по документу, а потом уже срабатывает программа.

Мне, правда, совершенно, не понятно, зачем нужно производить какие-то махинации с FI/CO-PA таблицами в момент сохранения SD контракта... Если должны создаваться какие-то документы, то неужели для этого нет стандартных программ? :?

_________________
"One of the symptoms of an approaching nervous breakdown is the belief that one's work is terribly important." Bertrand Russell


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пт, окт 31 2008, 23:59 
Модератор
Модератор
Аватара пользователя

Зарегистрирован:
Пт, июн 16 2006, 00:43
Сообщения: 1686
Откуда: Москва <-> Красноярск
Пол: Мужской
Кроме output type вполне себе рабочий вариант - запустить свой ФМ в апдейт таске и наслаждаться теми же закоммиченными данными.


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

Зарегистрирован:
Пт, апр 28 2006, 22:39
Сообщения: 2514
Откуда: North Taxolina, USA
Пол: Женский
Пономарев Артем написал:
Кроме output type вполне себе рабочий вариант - запустить свой ФМ в апдейт таске и наслаждаться теми же закоммиченными данными.

Сдается, что имеет место несоответствие сабжа вопросу автора, а также возможно просто разная интерпретация "после сохранения". Если что-то должно сохраняться вместе с документом (обычная ситуация, когда, например, нужно сохранить какие-то относящиеся к документу данные в Z табличке), то тут как раз подойдет UPDATE TASK .

В моем скромном понимании "после сохранения" - это когда уже прошли все коммиты и блокировки. Довольно распространенный пример: при сохранении поставки нужно изменить что-то в заказе. Заказ на время всех обновлений поставки блокируется и любые обновления в нем натыкаются на сообщение "Document ... is blocked by ...". Но можно обновить заказ с помощью output + программы.

Вообще думается автору (и/или составителю ТЗ) неплохо бы сначала разобраться в процессах, т.к. есть большое подозрение, что в данном конкретном случае не все так просто, как нам тут рисуют. :?

_________________
"One of the symptoms of an approaching nervous breakdown is the belief that one's work is terribly important." Bertrand Russell


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

Зарегистрирован:
Чт, окт 06 2005, 16:44
Сообщения: 3080
Откуда: Москва
Sam Stone написал(а):
Эти записи формируются системой (либо каким-то дополнением/настройками), как именно - не могу сказать, не искал. Факт в том, что по вышеописанному ключу в FMZUOB данные появляются после сохранения. Мне же из этой таблицы нужны финпозиция, фонд и прочие для создания сметного поступления. Так консультант написал в ТЗ :)
Пока потестирую с коммитом, посмотрю что да как.

Используйте CALL FUNCTION ... IN BACKGROUND TASK

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


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

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


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

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


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

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