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

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


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

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


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

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