Изменение МВП в документе материала для транзакции MI07

Автор alexey11, Липень 06, 2011, 05:48:34 ПП

Попередня тема - Наступна тема

0 Користувачі і 1 Гість дивляться цю тему.

alexey11

Доброго времени суток.
Необходимо при проводке инвентаризационной разницы в транзакции MI07 в складских документах изменять значение поля МВП (mseg-PRCTR) в зависимости от БЕ и завода (для 1 БЕ настроены несколько заводов). (В бухгалтерских документах для этой цели создаются замещения).
Теоретически обновлять документ материала можно было бы в BADI MB_DOCUMENT_BADI , вызывая функциональный модуль в Update task'е, в котором собственно и реализуется само обновление поля. Но спокойно можно изменять только Z-поля.
А в нашем случае - стандартное поле таблицы MSEG , обновлять которое нельзя т.к неивестно, где потом вылезет.

Других подходящих baDi нет.

1) Искал BAPI для изменения документа материала, но таковых нет .
2) думал запускать через Batch-input транзакцию MB02, но там вообще нет поля МВП + для редактирования в позициях доступны лишь поля Получатель и Текст.

Что можете посоветовать?

Uukrul

Цитата: alexey11 від Липень 06, 2011, 05:48:34 ПП
Теоретически обновлять документ материала можно было бы в BADI MB_DOCUMENT_BADI , вызывая функциональный модуль в Update task'е, в котором собственно и реализуется само обновление поля. Но спокойно можно изменять только Z-поля.
Ну вот нельзя такого делать, МВЗ там не просто как код стоит, оно влияет на документ СО, который у вас там скорее всего порождается в момент проводки разниц, а следовательно менять в апдейт-таск этот код уже поздно, документ то СО уже сформирован и проведен.

Цитата: alexey11 від Липень 06, 2011, 05:48:34 ПП
А в нашем случае - стандартное поле таблицы MSEG , обновлять которое нельзя т.к неивестно, где потом вылезет.
Ну ничего не вылезет, как написал выше, просто ваше изменение никак не отразится в модуле СО, а вам то как раз надо чтобы оно на СО влияло, а не само по себе в документе ММ фигурировало.

Цитата: alexey11 від Липень 06, 2011, 05:48:34 ПП
1) Искал BAPI для изменения документа материала, но таковых нет .
Ну бади то есть, но МВЗ там менять бесполезно.

Цитата: alexey11 від Липень 06, 2011, 05:48:34 ПП
2) думал запускать через Batch-input транзакцию MB02, но там вообще нет поля МВП + для редактирования в позициях доступны лишь поля Получатель и Текст.
Ну да изменять данные бесполезно, нужно искать как это делать в момент проводки...

Цитата: alexey11 від Липень 06, 2011, 05:48:34 ПП
Что можете посоветовать?
Ну искать бади, где можно изменить элементы контировки в момент проводки документа материала. Я находил такую точку при проводке документа поступления к заказу ММ, возможно оно же работает и при проводке разниц, в общем на днях найду эту точку и проверю.

alexey11

Цитата: Uukrul від Липень 06, 2011, 11:30:32 ПП
Ну вот нельзя такого делать, МВЗ там не просто как код стоит, оно влияет на документ СО, который у вас там скорее всего порождается в момент проводки разниц, а следовательно менять в апдейт-таск этот код уже поздно, документ то СО уже сформирован и проведен.
В последующих CO/FI документов, которые создаются при проводке разниц, для заполнения МВП коллеги сделали настройки и замещения FI. Поэтому мне остается исправить неправильные данные как раз только в ММ документах.

Цитата: Uukrul від Липень 06, 2011, 11:30:32 ПП
Ну бади то есть, но МВЗ там менять бесполезно.
Искал и BADI/CMOD расширения и BAPI (функц.модули) .
Все те более-менее подходящие расширения, которые я находил не сохраняют изменения в таблице mseg на выходе.
Так вот была мысль в BADI-методе ZMM_MB_DOCUMENT_BADI-MB_DOCUMENT_UPDATE вызвать baPi типа BAPI_GOODSMVT_CREATE, только не *create, а *Change. Но такого нет .