Sapforum.Biz
Инструменты => ABAP - Инструментальные средства => Тема начата: sergiucz от Октябрь 15, 2012, 04:01:16 pm
-
Добрый день господа гуру!
Появилась задача поставлять ценны на материал который перемежается со склада на другой склад при одной и той же партии.
То есть . При перемещений с одной партии на другой цена вставляется в mseg-DMBTR но при перемещении на ту же партию на другой завод цена не ставится.
Мне надо при создании перемещений по виду движении 311 и 312 (сторно) поставлять эти цены .
Я нашел MB_DOCUMENT_BADI BADIs при создании документа материала
MB_DOCUMENT_UPDATE BADI в обновлении документа материала: MSEG.
Не знаю они или нет.
-
Можно узнать какие стоимости вы хотите проставлять? Документ перемещения в рамках области оценки, не порождает финансового документа, соответственно и ничего не может быть в поле mseg-DMBTR, движение не приводит к изменению цен. Нет конечно вы от фонаря по своему усмотрению можете туда записать что угодно, но мне кажется это будет несколько не правильно и приведет к нарушению целостности данных, хотя опять же допускаю что в общем виде система не будет никак реагировать на то что в данном поле появилась сумма до некоторой поры, например архивации или какого-либо сбоя и т.д. когда вдруг обнаружится что в поле есть сумма, хотя движение проведено без оценки.
PS: В общем виде изменять какие либо поля можете в экзите: MB_CF001 - Exit функции клиента при обновлении документа материала. После него вообще ничего не проверяется, кстати BADI: mb_document_update, вызывается как раз перед этим экзитом, но там может не все поля даст изменять, а вот в этом экзите вроде как вопросов не задаст.
-
Можно узнать какие стоимости вы хотите проставлять? Документ перемещения в рамках области оценки, не порождает финансового документа, соответственно и ничего не может быть в поле mseg-DMBTR, движение не приводит к изменению цен. Нет конечно вы от фонаря по своему усмотрению можете туда записать что угодно, но мне кажется это будет несколько не правильно и приведет к нарушению целостности данных, хотя опять же допускаю что в общем виде система не будет никак реагировать на то что в данном поле появилась сумма до некоторой поры, например архивации или какого-либо сбоя и т.д. когда вдруг обнаружится что в поле есть сумма, хотя движение проведено без оценки.
PS: В общем виде изменять какие либо поля можете в экзите: MB_CF001 - Exit функции клиента при обновлении документа материала. После него вообще ничего не проверяется, кстати BADI: mb_document_update, вызывается как раз перед этим экзитом, но там может не все поля даст изменять, а вот в этом экзите вроде как вопросов не задаст.
Еще раз спасибо.!! MB_CF001 сделал через него.
Но в отладчике он не заходил . Пока выяснил что для него надо чтобы дебагер был в режиме Update task. Но не рекомендуется чтобы он был в таком режиме в продуктиве.
Спасибо за помощь