Sapforum.Biz

Инструменты => ABAP - Инструментальные средства => SMOD/CMOD - Расширения => Тема начата: alexey11 от Июль 06, 2011, 05:48:34 pm

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

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

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

Что можете посоветовать?
Название: Re: Изменение МВП в документе материала для транзакции MI07
Отправлено: Uukrul от Июль 06, 2011, 11:30:32 pm
You are not allowed to view links. Register or Login
Теоретически обновлять документ материала можно было бы в BADI MB_DOCUMENT_BADI , вызывая функциональный модуль в Update task'е, в котором собственно и реализуется само обновление поля. Но спокойно можно изменять только Z-поля.
Ну вот нельзя такого делать, МВЗ там не просто как код стоит, оно влияет на документ СО, который у вас там скорее всего порождается в момент проводки разниц, а следовательно менять в апдейт-таск этот код уже поздно, документ то СО уже сформирован и проведен.

You are not allowed to view links. Register or Login
А в нашем случае - стандартное поле таблицы MSEG , обновлять которое нельзя т.к неивестно, где потом вылезет.
Ну ничего не вылезет, как написал выше, просто ваше изменение никак не отразится в модуле СО, а вам то как раз надо чтобы оно на СО влияло, а не само по себе в документе ММ фигурировало.

You are not allowed to view links. Register or Login
1) Искал BAPI для изменения документа материала, но таковых нет .
Ну бади то есть, но МВЗ там менять бесполезно.

You are not allowed to view links. Register or Login
2) думал запускать через Batch-input транзакцию MB02, но там вообще нет поля МВП + для редактирования в позициях доступны лишь поля Получатель и Текст.
Ну да изменять данные бесполезно, нужно искать как это делать в момент проводки...

You are not allowed to view links. Register or Login
Что можете посоветовать?
Ну искать бади, где можно изменить элементы контировки в момент проводки документа материала. Я находил такую точку при проводке документа поступления к заказу ММ, возможно оно же работает и при проводке разниц, в общем на днях найду эту точку и проверю.
Название: Re: Изменение МВП в документе материала для транзакции MI07
Отправлено: alexey11 от Июль 07, 2011, 09:35:39 am
You are not allowed to view links. Register or Login
Ну вот нельзя такого делать, МВЗ там не просто как код стоит, оно влияет на документ СО, который у вас там скорее всего порождается в момент проводки разниц, а следовательно менять в апдейт-таск этот код уже поздно, документ то СО уже сформирован и проведен.
В последующих CO/FI документов, которые создаются при проводке разниц, для заполнения МВП коллеги сделали настройки и замещения FI. Поэтому мне остается исправить неправильные данные как раз только в ММ документах.

You are not allowed to view links. Register or Login
Ну бади то есть, но МВЗ там менять бесполезно.
Искал и BADI/CMOD расширения и BAPI (функц.модули) .
Все те более-менее подходящие расширения, которые я находил не сохраняют изменения в таблице mseg на выходе.
Так вот была мысль в BADI-методе ZMM_MB_DOCUMENT_BADI-MB_DOCUMENT_UPDATE вызвать baPi типа BAPI_GOODSMVT_CREATE, только не *create, а *Change. Но такого нет .