+ Sapforum.Biz » Логистика » Управление материальными потоками (MM)Тема:
|- Изменение блока контировок в зависимости от изменения полей заявки на закупку




Автор Тема: Изменение блока контировок в зависимости от изменения полей заявки на закупку  (Прочитано 871 раз)

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

Оффлайн Uukrul

  • SAP ECC 6.0 Ehp(*)
  • Administrator
  • Epic Member
  • *****
  • Сообщений: 3 700
  • Reputation Power: 2
  • Uukrul barely matters.Uukrul barely matters.
  • Пол: Мужской
  • YearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYears
    • Sapforum.BIZ
В общем уткнулся в проблему, что при изменении некоторых полей заявки, вызов изменения блока контировок не происходит. Точнее оказалось, что блок контировок и как следствие деривация FM отрабатывает только при изменении следующих полей или ситуации:
knttp
werks
kzvbr
sobkz
bwtar
badat
lfdat
menge
meins
matkl
vrtkz
funds_mgt
fixkz

source
service_package - изменение услуг
net_value - изменение цены

В других случаях пересчет контировки не выполняется, а тут потребовалось сделать пересчет контировки при изменении группы закупки. Если покурить написанный код, то в модуле LMEREQF55, есть вызовы которые управляют флагом, нужен или нет пересчет контировки при изменении значения в поле. К сожалению вклиниться через энхансменты в S4/HANA 1709 не вышло, поэтому пока написал петицию в гнездо, может что-то прикрутят, а пока вклинился своим кодом:
Код: You are not allowed to view links. Register or Login
    CALL METHOD add_pre_condition:
          EXPORTING im_rule_base = im_rule_base
                    im_classname = 'lcl_r_ekgrp'
                    im_dependency = mmpur_rule_dep_observer.
который вызывает пересчет контировки при изменении поля группы закупка. Пока все работает, хотя хотелось бы если не настройку или BADI, то хотя бы статический энхансмент для включения своей логики добавления полей. Как формировать имя класса, который должен быть передан, думаю, кому надо, разберетесь.

Оффлайн Uukrul

  • SAP ECC 6.0 Ehp(*)
  • Administrator
  • Epic Member
  • *****
  • Сообщений: 3 700
  • Reputation Power: 2
  • Uukrul barely matters.Uukrul barely matters.
  • Пол: Мужской
  • YearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYears
    • Sapforum.BIZ
Однако SAP "кумедні", прислали ответ, что таки я прав и перечень полей действительно жесток прописан в программном коде, поэтому предложили для решения проблемы воспользоваться BAdI ME_PROCESS_REQ_CUST, я кроме как через вариант фиктивного присвоения значения в какое-то поле контировки, с последующей правильной перезаписью этого присвоения правильным значением - не знаю. Если честно решение через одно место, скажем так. В общем жду их вариант решения вопроса. Может они что-то другое знают.

PS: Вызывать руками, что-то типа FMDERIVE, как-то не хочется...

Оффлайн Uukrul

  • SAP ECC 6.0 Ehp(*)
  • Administrator
  • Epic Member
  • *****
  • Сообщений: 3 700
  • Reputation Power: 2
  • Uukrul barely matters.Uukrul barely matters.
  • Пол: Мужской
  • YearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYears
    • Sapforum.BIZ
You are not allowed to view links. Register or Login
В общем жду их вариант решения вопроса. Может они что-то другое знают.
М-да, похоже ответа не дождусь... типа сам дурак.

Оффлайн Uukrul

  • SAP ECC 6.0 Ehp(*)
  • Administrator
  • Epic Member
  • *****
  • Сообщений: 3 700
  • Reputation Power: 2
  • Uukrul barely matters.Uukrul barely matters.
  • Пол: Мужской
  • YearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYears
    • Sapforum.BIZ
Ну не прошло и полгода, как гнездо написало, что передали запрос разработчикам, которые в ближайшее время свяжутся для решения проблемы.  Однако, посмотрим. Так сказать появилась надежда, что оно заработает  8) так как надо.