+ Sapforum.Biz » Инструменты » ABAP - Инструментальные средства » SMOD/CMOD - Расширения (Модератор: Dmitriy)Тема:
|- user-exit PPCO0001 и изменение Вид оценки в позиции заказа




Автор Тема: user-exit PPCO0001 и изменение Вид оценки в позиции заказа  (Прочитано 5334 раз)

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

Оффлайн r00xus

  • Newbie
  • *
  • Сообщений: 30
  • Reputation Power: 0
  • r00xus has no influence.
  • YearsYearsYearsYearsYears
здравствуйте коллеги.

возникла задача проставить вид оценки, хранящейся в пользовательской Z-таблице в позиции заказа. предполагалось это делать через user-ext PPCO0001. там есть таблица POSITION_TABLE с позициями заказа, в которой я изменяю поле BWTAR (Вид оценки). exit срабатывает, однако после создания заказа через CO01 в таблице словаря AFPO (Позиции заказа) поле не изменяется.

подскажет плиз чем дело? почему не работает exit? может есть какой-то другой способ? BADI?

заранее благодарен.

Оффлайн Uukrul

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

PS: Да кстати, по поводу приведенного экзита, там похоже менять что-то бесполезно, это точка для обновления связанных данных, т.е. к моменту вызова вы можете проанализировать например предыдущее состояние заказа с новыми изменениями и обновить какие-то свои таблицы, но повлиять на что-то из полей заказа не сможете.

PPS: Пост перенес в более подходящий раздел как мне кажется.
« Последнее редактирование: Сентябрь 04, 2013, 09:24:41 pm от Uukrul »

Оффлайн r00xus

  • Newbie
  • *
  • Сообщений: 30
  • Reputation Power: 0
  • r00xus has no influence.
  • YearsYearsYearsYearsYears
совершенно верно. речь идет о производственном заказе.

собственно я поле "Вид оценки" и не видел нигде в CO01. меня бы устроило просто сохранить его в AFPO-BWTAR. подскажите пожалуйста как сделать хотя бы это.

а тема перемещена правильно да. я не заметил что есть раздел конкретно по расширениям.

Оффлайн Uukrul

  • SAP ECC 6.0 Ehp(*)
  • Administrator
  • Epic Member
  • *****
  • Сообщений: 3 635
  • Reputation Power: 2
  • Uukrul barely matters.Uukrul barely matters.
  • Пол: Мужской
  • YearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYears
    • Sapforum.BIZ
You are not allowed to view links. Register or Login
собственно я поле "Вид оценки" и не видел нигде в CO01. меня бы устроило просто сохранить его в AFPO-BWTAR. подскажите пожалуйста как сделать хотя бы это.
Ну в момент записи отрабатывает функция CO_ZV_ORDER_POST, в ней полно разных энхансментов. Я бы использовал в строке 557 есть такая запись:
Код: You are not allowed to view links. Register or Login
      IF gv_wipbatch_active EQ yx.                              "WIP batch active
ENHANCEMENT-POINT EHP4_CO_ZV_ORDER_POST_01 SPOTS ES_SAPLCOZV.
      ELSE.                                                     "WIP batch inactive
ENHANCEMENT-POINT co_zv_order_post_08 SPOTS es_saplcozv.
      ENDIF.
т.е. gv_wipbatch_active определяет вызов идет в фоне или диалоге. В вашем случае это диалог значит надо делать вставку в энхнасмент ENHANCEMENT-POINT co_zv_order_post_08 SPOTS es_saplcozv.  Почему в этом месте, ну потому что ниже идет функциональность проверки данных, так что все что запишете в позиции будет проверено перед сохранением. Само собой работаем аккуратно и тестируем результат.

Читать про энхансменты тут: You are not allowed to view links. Register or Login

Оффлайн r00xus

  • Newbie
  • *
  • Сообщений: 30
  • Reputation Power: 0
  • r00xus has no influence.
  • YearsYearsYearsYearsYears
еще раз спасибо за помощь.

осталось найти где в группе функций хранятся позиции заказа. в структуре AFPOD есть данные позиции. но если в ней поменять BWTAR то ничего не происходит. есть таблица AFPOD_TAB там вообще всегда пусто... :(

Оффлайн Uukrul

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

PS: В общем виде почитать про партии и виды оценки можно тут: You are not allowed to view links. Register or Login