Sapforum.Biz

Инструменты => ABAP - Инструментальные средства => Тема начата: sergiucz от Октябрь 15, 2012, 04:01:16 pm

Название: badi для изменения вида движения 311.
Отправлено: sergiucz от Октябрь 15, 2012, 04:01:16 pm
Добрый день господа гуру!
Появилась задача поставлять ценны на материал который перемежается со склада на другой склад при одной и той же партии.
То есть . При перемещений с одной партии на другой цена вставляется в mseg-DMBTR но при перемещении на ту же партию на другой завод цена не ставится. 

Мне надо при создании перемещений по виду движении 311 и 312 (сторно) поставлять эти цены .

Я нашел MB_DOCUMENT_BADI                 BADIs при создании документа материала
              MB_DOCUMENT_UPDATE             BADI в обновлении документа материала: MSEG.
Не знаю они или нет.
Название: Re: badi для изменения вида движения 311.
Отправлено: Uukrul от Октябрь 16, 2012, 01:09:30 am
Можно узнать какие стоимости вы хотите проставлять? Документ перемещения в рамках области оценки, не порождает финансового документа, соответственно и ничего не может  быть в поле mseg-DMBTR, движение не приводит к изменению цен. Нет конечно вы от фонаря по своему усмотрению можете туда записать что угодно, но мне кажется это будет несколько не правильно и приведет к нарушению целостности данных, хотя опять же допускаю что в общем виде система не будет никак реагировать на то что в данном поле появилась сумма до некоторой поры, например архивации или какого-либо сбоя и т.д. когда вдруг обнаружится что в поле есть сумма, хотя движение проведено без оценки.

PS: В общем виде изменять какие либо поля можете в экзите: MB_CF001 - Exit функции клиента при обновлении документа материала. После него вообще ничего не проверяется, кстати BADI: mb_document_update, вызывается как раз перед этим экзитом, но там может не все поля даст изменять, а вот в этом экзите вроде как вопросов не задаст.
Название: Re: badi для изменения вида движения 311.
Отправлено: sergiucz от Октябрь 18, 2012, 11:21:47 am
You are not allowed to view links. Register or Login
Можно узнать какие стоимости вы хотите проставлять? Документ перемещения в рамках области оценки, не порождает финансового документа, соответственно и ничего не может  быть в поле mseg-DMBTR, движение не приводит к изменению цен. Нет конечно вы от фонаря по своему усмотрению можете туда записать что угодно, но мне кажется это будет несколько не правильно и приведет к нарушению целостности данных, хотя опять же допускаю что в общем виде система не будет никак реагировать на то что в данном поле появилась сумма до некоторой поры, например архивации или какого-либо сбоя и т.д. когда вдруг обнаружится что в поле есть сумма, хотя движение проведено без оценки.

PS: В общем виде изменять какие либо поля можете в экзите: MB_CF001 - Exit функции клиента при обновлении документа материала. После него вообще ничего не проверяется, кстати BADI: mb_document_update, вызывается как раз перед этим экзитом, но там может не все поля даст изменять, а вот в этом экзите вроде как вопросов не задаст.

Еще раз спасибо.!! MB_CF001 сделал через него.
Но в отладчике он не заходил . Пока выяснил что для него надо чтобы дебагер был в режиме Update task. Но не рекомендуется чтобы он был в таком режиме в продуктиве.

Спасибо за помощь