Sapforum.Biz

Инструменты => ABAP - Инструментальные средства => SMOD/CMOD - Расширения => Тема начата: r00xus от Сентябрь 04, 2013, 04:54:35 pm

Название: user-exit PPCO0001 и изменение Вид оценки в позиции заказа
Отправлено: r00xus от Сентябрь 04, 2013, 04:54:35 pm
здравствуйте коллеги.

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

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

заранее благодарен.
Название: Re: user-exit PPCO0001 и изменение Вид оценки в позиции заказа
Отправлено: Uukrul от Сентябрь 04, 2013, 09:10:57 pm
You are not allowed to view links. Register or Login
возникла задача проставить вид оценки, хранящейся в пользовательской Z-таблице в позиции заказа. предполагалось это делать через user-ext PPCO0001. там есть таблица POSITION_TABLE с позициями заказа, в которой я изменяю поле BWTAR (Вид
Имеется в виду производственный заказ (PP), тогда следующий вопрос, вы хотите чтобы при вводе пользователь увидел значение проставленное автоматически в поле вида оценки или это можно сделать при сохранении.

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

PPS: Пост перенес в более подходящий раздел как мне кажется.
Название: Re: user-exit PPCO0001 и изменение Вид оценки в позиции заказа
Отправлено: r00xus от Сентябрь 04, 2013, 09:45:15 pm
совершенно верно. речь идет о производственном заказе.

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

а тема перемещена правильно да. я не заметил что есть раздел конкретно по расширениям.
Название: Re: user-exit PPCO0001 и изменение Вид оценки в позиции заказа
Отправлено: Uukrul от Сентябрь 04, 2013, 09:57:38 pm
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.  Почему в этом месте, ну потому что ниже идет функциональность проверки данных, так что все что запишете в позиции будет проверено перед сохранением. Само собой работаем аккуратно и тестируем результат.

Читать про энхансменты тут: http://sapforum.biz/index.php/topic,546.0.html
Название: Re: user-exit PPCO0001 и изменение Вид оценки в позиции заказа
Отправлено: r00xus от Сентябрь 04, 2013, 10:58:36 pm
еще раз спасибо за помощь.

осталось найти где в группе функций хранятся позиции заказа. в структуре AFPOD есть данные позиции. но если в ней поменять BWTAR то ничего не происходит. есть таблица AFPOD_TAB там вообще всегда пусто... :(
Название: Re: user-exit PPCO0001 и изменение Вид оценки в позиции заказа
Отправлено: Uukrul от Сентябрь 05, 2013, 09:38:38 am
You are not allowed to view links. Register or Login
осталось найти где в группе функций хранятся позиции заказа. в структуре AFPOD есть данные позиции. но если в ней поменять BWTAR то ничего не происходит.
Ну это потому что вид оценки без партии не существует, т.е. у вас с теорией как работает вид оценки и партия проблемы. Удаленно я тоже сказать не смогу как у вас настроена в системе эта связь, в общем я думаю что нужно заполнять так же поле партии запаса CHARG, кажется. Однако связь между партией и видом оценки нужно перед этим посмотреть. В общем случае, скорее всего код партии = код вида оценки.

PS: В общем виде почитать про партии и виды оценки можно тут: http://sapforum.biz/index.php/topic,694.0.html