Sapforum.Biz

Логистика => Управление материальными потоками (MM) => Тема начата: ildar2005 от Февраль 25, 2013, 06:10:32 am

Название: Цену в заявку из книги цен
Отправлено: ildar2005 от Февраль 25, 2013, 06:10:32 am
Доброго времени суток!
Возникла потребность подставить в заявку цену из книги цен(z-таблица), по материалу из заявки и году из даты потребности  и закрыть поле на изменение. Сейчас подтягивается средняя цена из ОЗМ. Как закрыть нашел, а вот с подставлением проблема есть badi - MM_DELIVERY_ADDR_SAP, который обновляется несколько раз (так как нужно чтоб были введены и материал и цена), но там нет ни материала ни цены и каких туда подставить жестко я не знаю.

Подскажите, пожалуйста, как можно подтянуть цену.
Название: Re: Цену в заявку из книги цен
Отправлено: Uukrul от Февраль 25, 2013, 12:40:00 pm
You are not allowed to view links. Register or Login
нашел, а вот с подставлением проблема есть badi - MM_DELIVERY_ADDR_SAP, который обновляется
А с чего вы решили что BADI для задания адреса поставки должен иметь в своем составе материал, цену и т.д. Почему вы вообще решили использовать данный BADI? Это тоже самое, что использовать микроскоп для забивания гвоздей на основании того, что он вроде бы как тяжелый, поэтому почти как молоток, но возмущаться, что у микроскопа ручка не удобная для процесса забивания.

Для начала я бы попробовал стандартные экзиты например MEREQ001, в нем с системы 6.0 передается класс для доступа к позиции заявки и в нем соответственно есть методы set/get вот там можно попробовать сделать изменение цены.

PS: Кстати, а поле вы закрыли от изменений тоже абапом?
Название: Re: Цену в заявку из книги цен
Отправлено: ildar2005 от Март 05, 2013, 06:28:02 am
Спасибо за ответ. MEREQ001 посмотрю. Пока сделал через бади ME_PROCESS_REQ_CUST по вашей инструкции.
Код: You are not allowed to view links. Register or Login
method IF_EX_ME_PROCESS_REQ_CUST~PROCESS_ITEM.
  DATA: ls_mereq_item TYPE mereq_item.

  ls_mereq_item = im_item->get_data( ).
*проверка присвоения цены
  ls_mereq_item-preis = 1000.
  im_item->set_data( ls_mereq_item ).

endmethod.