Автор Тема: Заказ на поставку: обновление цены позиций (стоимости нетто) программно  (Прочитано 28062 раз)

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

Оффлайн Dmitriy

  • SAP ECC 6.0
  • Кухня
  • Newbie
  • *
  • Сообщений: 380
  • Репутация: +0/-0
  • Пол: Мужской
  • Embracive Fire
  • YearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYears
Добрый день.
Возникла необходимость программно воспроизвести операцию и сохранить заказ. В ME22N последовательность этих действий выглядит так:
1) Выбираем позицию, нажимаем кнопку "Обновить" (обновить цены) на вкладке "Условия" (рис. push_refresh_button).
2) Выбираем вид изменения цены "А" (рис. calctype_selection), поле "Цена нетто" в соотв. позиции пересчитывается.
3) Повторяем пункты 1-2 для всех позиций.
4) Сохраняем заказ.
После отладки и трассировки было испробован следующий способ:
1) Изменение цены при помощи ФМ MEPO_DOC_ITEM_PROCESS, с подстановкой в структуру ch_item-calctype = 'A'.
2) Сохранение при помощи ME_UPDATE_PO_PRICE.
В п.1 ругается на неверную последовательность вызова ФМ-ов. При использовании 2 (предварительно проверив, что заказ и позиции не заблокированы) сохранения не произошло (это пока на стадии отладки). Решал ли кто-нибудь подобную задачу и каким путем лучше пойти? Нет ли BAPI, возможно ли провести подобную операцию при помощи ФМ BAPI_PO_CHANGE?
[attachment=1][attachment=2]

Оффлайн Паганель

  • Я НЕ ЗАНИМАЮСЬ SAP
  • Administrator
  • Full Member
  • *****
  • Сообщений: 1 367
  • Репутация: +20/-0
  • Пол: Мужской
  • https://noteifyapp.com
  • YearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYears
    • MacPlus Software
Ну пока  не сталкивался :), так что так могу только идеи.

- You are not allowed to view links. Register or Login
- у тебя цена реально меняется? или только пересчет надо вызвать? хотя тут тоже либо первое ... либо копать дальше....
- тут посмотрел и нашел ME_CCP_TPO_PRICE_CHANGE  (не для твоего случая) но там пример есть
 CALL FUNCTION 'RV_KONV_SELECT' -> MAP2E_KOMV_TO_BAPICOND -> BAPI_PO_CHANGE
Может даст какие то идеи...
- попробовать использовать RV_CONDITION_COPY - RV_CONDITION_SAVE - RV_CONDITION_RESET
- ноты по номеру ошибки  ;)

Ссори, как я говорил, только идеи....
You are not allowed to view links. Register or Login
You are not allowed to view links. Register or Login
You are not allowed to view links. Register or Login
You are not allowed to view links. Register or Login

Оффлайн Dmitriy

  • SAP ECC 6.0
  • Кухня
  • Newbie
  • *
  • Сообщений: 380
  • Репутация: +0/-0
  • Пол: Мужской
  • Embracive Fire
  • YearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYears
Да, поле "Цена нетто" реально меняется, после нажатия "обновить" и выбора вида "А", как на рисунке. Ок, буду копать дальше.

Оффлайн Паганель

  • Я НЕ ЗАНИМАЮСЬ SAP
  • Administrator
  • Full Member
  • *****
  • Сообщений: 1 367
  • Репутация: +20/-0
  • Пол: Мужской
  • https://noteifyapp.com
  • YearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYears
    • MacPlus Software
Дима, посмотри, может ME_UPDATE_DOCUMENT там структуры для условий есть, и в конечном счете вызывается ME_UPDATE_PO_PRICE
You are not allowed to view links. Register or Login
You are not allowed to view links. Register or Login
You are not allowed to view links. Register or Login
You are not allowed to view links. Register or Login

Оффлайн Dmitriy

  • SAP ECC 6.0
  • Кухня
  • Newbie
  • *
  • Сообщений: 380
  • Репутация: +0/-0
  • Пол: Мужской
  • Embracive Fire
  • YearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYears

Оффлайн Dmitriy

  • SAP ECC 6.0
  • Кухня
  • Newbie
  • *
  • Сообщений: 380
  • Репутация: +0/-0
  • Пол: Мужской
  • Embracive Fire
  • YearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYears
Я вчера еще промахнулся маленько: там сначала FM MEPO_DOC_PROCESS запускается, а уже из него FM MEPO_DOC_ITEM_PROCESS, так что пока в эту сторону копаю, всё же трассировка показывает, что в ME22N этот функционал работает. А вот как сохранять всё это дело потом, будем и думать потом. ;)

Оффлайн Uukrul

  • SAP ECC 6.0 Ehp(*)
  • Administrator
  • Epic Member
  • *****
  • Сообщений: 3 762
  • Репутация: +47/-0
  • Пол: Мужской
  • YearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYears
    • Sapforum.BIZ
Ну это я конечно понимаю, что в век энхансментов, бапи и SAP NetWeaver 7.0 EhP2, говорить про такое как транзакция SHDB для ME22, звучит просто кощунственно, но там пакетник для CALL TRANSACTION пишется даже не на два, а сразу на раз и вся задача решается за пару часов. Или у тебя тысячи заказов надо обновлять за минуты?

Оффлайн Dmitriy

  • SAP ECC 6.0
  • Кухня
  • Newbie
  • *
  • Сообщений: 380
  • Репутация: +0/-0
  • Пол: Мужской
  • Embracive Fire
  • YearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYears
You are not allowed to view links. Register or Login
Ну это я конечно понимаю, что в век энхансментов, бапи и SAP NetWeaver 7.0 EhP2, говорить про такое как транзакция SHDB для ME22, звучит просто кощунственно, но там пакетник для CALL TRANSACTION пишется даже не на два, а сразу на раз и вся задача решается за пару часов. Или у тебя тысячи заказов надо обновлять за минуты?
Мы лёгких путей не ищем, ты же знаешь. Это решение, как наиболее явное, оставлено на потом, если по-другому не получится. Запускать пакетник придется с некоторой задержкой, поскольку в момент его формирования заказ, как часть истории поставки, блокирован. Красные кнопки делаем-с. ;)

P.S. Причём эта задача - лишь часть автоматов с автопилотами. Идёт освоение системы Заказчиком. :D
« Последнее редактирование: Июнь 16, 2011, 04:51:15 pm от Dmitriy »

Оффлайн Dmitriy

  • SAP ECC 6.0
  • Кухня
  • Newbie
  • *
  • Сообщений: 380
  • Репутация: +0/-0
  • Пол: Мужской
  • Embracive Fire
  • YearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYears
You are not allowed to view links. Register or Login
звучит просто кощунственно, но там пакетник для CALL TRANSACTION пишется
Кстати, а вы ведь еретик, батенька, да. В наш-то век! ;D

Оффлайн Uukrul

  • SAP ECC 6.0 Ehp(*)
  • Administrator
  • Epic Member
  • *****
  • Сообщений: 3 762
  • Репутация: +47/-0
  • Пол: Мужской
  • YearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYears
    • Sapforum.BIZ
You are not allowed to view links. Register or Login
Мы лёгких путей не ищем, ты же знаешь. Это решение, как наиболее явное, оставлено на потом, если по-другому не получится. Запускать пакетник придется с некоторой задержкой, поскольку в момент его формирования заказ, как часть истории поставки, блокирован. Красные кнопки делаем-с. ;)

P.S. Причём эта задача - лишь часть автоматов с автопилотами. Идёт освоение системы Заказчиком. :D
Да какая там задержка, проверил блокировку заказа через объект блокирования с параметром вайт, и если тебя отпустило то вызывай пакетник и не лохмать бабушку. То что ты хочешь сделать через эти ФМ сильно не кошерно, они для внутреннего использования в рамках вызовов работы группы функций по созданию/изменению заказа ММ. Работа их может быть нарушена после очередного патча или обновления версии системы.

Оффлайн Dmitriy

  • SAP ECC 6.0
  • Кухня
  • Newbie
  • *
  • Сообщений: 380
  • Репутация: +0/-0
  • Пол: Мужской
  • Embracive Fire
  • YearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYears
You are not allowed to view links. Register or Login
Да какая там задержка, проверил блокировку заказа через объект блокирования с параметром вайт, и если тебя отпустило то вызывай пакетник и не лохмать бабушку.
Я же говорил - еретик. Если бы всё было так просто, как ты мне тут расписываешь, я бы даже и тему не стал создавать. Есть ещё вообще-то LOCAL UPDATE TASK, а блокировку снять и поставить после для пущей убедительности, чтобы никто не догадался - не проблема. А кто-то еще тельняшку на груди рвал "да я, да не ломаю систему". SAP-стандарт, кстати, не зря эту блокировку на заказ выставляет при проводке ОМ из поставки.

Оффлайн Uukrul

  • SAP ECC 6.0 Ehp(*)
  • Administrator
  • Epic Member
  • *****
  • Сообщений: 3 762
  • Репутация: +47/-0
  • Пол: Мужской
  • YearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYears
    • Sapforum.BIZ
You are not allowed to view links. Register or Login
тельняшку на груди рвал "да я, да не ломаю систему". SAP-стандарт, кстати, не зря эту блокировку на заказ выставляет при проводке ОМ из поставки.
Я не понял где было предложено что-то ломать?

Оффлайн Dmitriy

  • SAP ECC 6.0
  • Кухня
  • Newbie
  • *
  • Сообщений: 380
  • Репутация: +0/-0
  • Пол: Мужской
  • Embracive Fire
  • YearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYears
Как временное решение проблемы был использован пакетный ввод перед вызовом FM 'MB_CREATE_GOODS_MOVEMENT' (программа FV50WF0W, управляющая SAPFV50W, работаем из VL02N -> "Проводка ОМ" ). Снимаем выставленные стандартом блокировки (ОБ 'EMEKKOS') типа "E", с заказов на поставку (ссылки в позициях ДДМ imseg-ebeln/imseg-ebelp или xmseg-ebeln/xmseg-ebelp), осуществляем пакетный ввод (ME22) и снова выставляем снятые блокировки на задействованные заказы. Предварительно убедившись, что не зарегистрировано функц. модулей обновления (CALL FUNCTION fname IN UPDATE TASK). Почему временно? В своем расширении не совсем правильно снимать блокировки, установленные стандартом.

Оффлайн Uukrul

  • SAP ECC 6.0 Ehp(*)
  • Administrator
  • Epic Member
  • *****
  • Сообщений: 3 762
  • Репутация: +47/-0
  • Пол: Мужской
  • YearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYears
    • Sapforum.BIZ
You are not allowed to view links. Register or Login
Как временное решение проблемы был использован пакетный ввод перед вызовом FM
Мда, не только временное но и очень спорное?!

Оффлайн Dmitriy

  • SAP ECC 6.0
  • Кухня
  • Newbie
  • *
  • Сообщений: 380
  • Репутация: +0/-0
  • Пол: Мужской
  • Embracive Fire
  • YearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYears
You are not allowed to view links. Register or Login
Мда, не только временное но и очень спорное?!
Консультант (ныне отсутствующий), отвечающий за постановку и тестирование задачи говорил, что "когда-то" ему с разработчиком удалось решить похожую задачу без BI. Подождем, когда вернется и разыщет своего разработчика.

Оффлайн Dmitriy

  • SAP ECC 6.0
  • Кухня
  • Newbie
  • *
  • Сообщений: 380
  • Репутация: +0/-0
  • Пол: Мужской
  • Embracive Fire
  • YearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYears
А вообще - решение таки еретическое по сути своей. Нельзя снимать блокировку, которую ставит стандарт. Про пакетный ввод вообще молчу - секта его поклонников давно уже в глубоком подполье из-за преследования адептами (тысячи их!) новомодной религии энхансметов, бади и бапи, дарующей радость.
« Последнее редактирование: Июнь 24, 2011, 12:00:15 pm от Dmitriy »

Оффлайн Алекс

  • Newbie
  • *
  • Сообщений: 8
  • Репутация: +0/-0
  • Пол: Мужской
  • YearsYearsYearsYearsYearsYearsYears
You are not allowed to view links. Register or Login
Да, поле "Цена нетто" реально меняется, после нажатия "обновить" и выбора вида "А", как на рисунке.

Скажите, а обновление цены таким образом подтягивается из контракта с поставщиком? А то часто бывает, что когда набиваешь накладную поставщика в транзакции МЕ21N по штрих-коду то во вкладке условия "цена нетто" цена не соответствует ценам контракта и приходиться пересчитывать и менять цену каждой позиции.

Оффлайн Uukrul

  • SAP ECC 6.0 Ehp(*)
  • Administrator
  • Epic Member
  • *****
  • Сообщений: 3 762
  • Репутация: +47/-0
  • Пол: Мужской
  • YearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYears
    • Sapforum.BIZ
You are not allowed to view links. Register or Login
Скажите, а обновление цены таким образом подтягивается из контракта с поставщиком?
Так это от схемы формирования цены зависит, откуда и что копируется. В позиции кнопка анализ, покажет как сформирована цена и откуда что берется.

Оффлайн Алекс

  • Newbie
  • *
  • Сообщений: 8
  • Репутация: +0/-0
  • Пол: Мужской
  • YearsYearsYearsYearsYearsYearsYears
You are not allowed to view links. Register or Login
Так это от схемы формирования цены зависит, откуда и что копируется. В позиции кнопка анализ, покажет как сформирована цена и откуда что берется.
Спасибо за полезную информацию :) Подскажите пожалуйста, как можно сделать настройку, чтобы при сканировании товара по штрих-коду "цена нетто" копировались из контракта поставщика, в частности из транзакции МЕ3L. Очень много времени и нервов отнимает поиск конкретной карточки товара через контракт.

Оффлайн Uukrul

  • SAP ECC 6.0 Ehp(*)
  • Administrator
  • Epic Member
  • *****
  • Сообщений: 3 762
  • Репутация: +47/-0
  • Пол: Мужской
  • YearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYears
    • Sapforum.BIZ
You are not allowed to view links. Register or Login
Спасибо за полезную информацию :) Подскажите пожалуйста, как можно сделать настройку, чтобы при сканировании товара по штрих-коду "цена нетто" копировались из контракта поставщика, в частности из транзакции МЕ3L. Очень много времени и нервов отнимает поиск конкретной карточки товара через контракт.
Ну вот именно кто такой  ME3L не знаю, но предполагаю что имелось в виду ME31L - Соглашение о поставках. Если честно выбираете тип обновления цены B - Провести новый расчет цен и если у вас никто схему калькуляции не переписывал сильно под себя, то цены должны скопироваться из ссылочного документа. Если кто-то сильно поломал, то это надо идти в настройку схемы калькуляции. Например у меня видно что используется стандартная схема RM0000 и при расчете цены используется предпосылка контракт найден и цена берется из него. Настройка схем калькуляции находится по пути, рисунок COMP-06.png, только если вы не очень представляете что и как у вас настроено, я бы вам туда не очень советовал сразу так лезть, если сломаете что, потому что тут нет рецепта из разряда нажмите вот эту вот галочку, схемы калькуляции часто на проектах настраивают индивидуально.

PS: Предваряю вопрос, у меня нет пошагового описания, как по шагам настроить схему калькуляции на все случаю жизни и что за что там отвечает в этой таблице. Сам бы хотел почитать если бы нашел подробное описание таких зависимостей. 8) Все что есть это документация на всем известном сайте You are not allowed to view links. Register or Login ну и в сети стандартные курсы.
« Последнее редактирование: Сентябрь 25, 2013, 11:32:08 am от Uukrul »

Оффлайн Uukrul

  • SAP ECC 6.0 Ehp(*)
  • Administrator
  • Epic Member
  • *****
  • Сообщений: 3 762
  • Репутация: +47/-0
  • Пол: Мужской
  • YearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYears
    • Sapforum.BIZ
Да в SAP есть отдельный курс по расчету цен SCM521

Оффлайн Алекс

  • Newbie
  • *
  • Сообщений: 8
  • Репутация: +0/-0
  • Пол: Мужской
  • YearsYearsYearsYearsYearsYearsYears
You are not allowed to view links. Register or Login
Ну вот именно кто такой  ME3L не знаю, но предполагаю что имелось в виду ME31L - Соглашение о поставках.
Да,вы совершенно правы МЕ31L, циферку не доставил You are not allowed to view links. Register or Login
Цитировать
Если честно выбираете тип обновления цены B - Провести новый расчет цен и если у вас никто схему калькуляции не переписывал сильно под себя, то цены должны скопироваться из ссылочного документа. Схемы калькуляции часто на проектах настраивают индивидуально.
Я сомневаюсь в том, что схему калькуляции кто-то в нашей сети переписывал, мне кажется, что её даже никто и не настраивал как положено. Пробовал я обновлять цены и через "А" и "В" и прочий там выбор, но "цена нетто" либо не меняется вообще, либо слетает "цена нетто должна быть больше 0(Нуля)"
Цитировать
Если кто-то сильно поломал...
Вот в этом то вся и проблема, что другие пользователи нашей сети часто это делают, а это расхождение по сальдо при поставки счёта на оплату в транзакции MIRO. Максимальный отступ у нас по сальдо это +0,10 и -0,10, а порой расхождение по сальдо бывают просто нереальными. Даже корректировка налога по счёт-фактуре поставщика порой ничего не даёт, расхождение по сальдо всё равно превышает нашу допустимую норму.
Цитировать
то это надо идти в настройку схемы калькуляции. Например у меня видно что используется стандартная схема RM0000 и при расчете цены используется предпосылка контракт найден и цена берется из него. Настройка схем калькуляции находится по пути, рисунок COMP-06.png, только если вы не очень представляете что и как у вас настроено, я бы вам туда не очень советовал сразу так лезть, если сломаете что, потому что тут нет рецепта из разряда нажмите вот эту вот галочку.
Наша сеть относительно совсем недавно перешла на систему SAP, которая толком ещё не доработана и далеко не доведена до ума. Обучение сотрудников этой системе было такое-это рассылались папка с файлами с пошаговой инструкцией каждой необходимой транзакцией например типа этой (см.вложение)

« Последнее редактирование: Сентябрь 25, 2013, 02:17:35 pm от Алекс »

Оффлайн Алекс

  • Newbie
  • *
  • Сообщений: 8
  • Репутация: +0/-0
  • Пол: Мужской
  • YearsYearsYearsYearsYearsYearsYears
Добрый всем вечер! Наконец-то я, конечно не без помощи уважаемого Администратора Uukrul, и методом "тыка" разобрался в настройках схемы калькуляции. Оказалось всё элементарно и просто, всего то и надо было определить схему калькуляции и закрепить в ней нужный контракт поставщика. В моём случае ничего подобного настроено не было, поэтому и цены подтягивались автоматически из последнего изменения цены :o
P.S Извините конечно, но скрины я не сделал. Как скопирую скрины, обязательно выложу тут :)

Оффлайн Uukrul

  • SAP ECC 6.0 Ehp(*)
  • Administrator
  • Epic Member
  • *****
  • Сообщений: 3 762
  • Репутация: +47/-0
  • Пол: Мужской
  • YearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYears
    • Sapforum.BIZ
You are not allowed to view links. Register or Login
Оказалось всё элементарно и просто, всего то и надо было определить схему калькуляции и закрепить в ней нужный контракт поставщика. В моём случае ничего подобного настроено не было, поэтому и цены подтягивались автоматически из последнего изменения цены :o
Да уж.. многое я видел, но чтобы не привязать схему калькуляции к заказу? Кто ж вам делал то настройки системы? Хотелось бы узнать, если это был какой-то консалт, то народ должен знать своих героев  8)