Автор Тема: Изменение МВП в документе материала для транзакции MI07  (Прочитано 8792 раз)

0 Пользователей и 2 Гостей просматривают эту тему.

Оффлайн alexey11

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

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

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

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

Онлайн Uukrul

  • SAP ECC 6.0 Ehp(*)
  • Administrator
  • Epic Member
  • *****
  • Сообщений: 3 780
  • Репутация: +47/-0
  • Пол: Мужской
  • YearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYears
    • Sapforum.BIZ
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
Что можете посоветовать?
Ну искать бади, где можно изменить элементы контировки в момент проводки документа материала. Я находил такую точку при проводке документа поступления к заказу ММ, возможно оно же работает и при проводке разниц, в общем на днях найду эту точку и проверю.

Оффлайн alexey11

  • Newbie
  • *
  • Сообщений: 16
  • Репутация: +2/-0
  • YearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYears
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. Но такого нет .