Текущее время: Чт, дек 14 2017, 17:02

Часовой пояс: UTC + 4 часа


Правила форума


ВНИМАНИЕ!

Вопросы по SAP Query и Quick View - сюда



Начать новую тему Ответить на тему  [ Сообщений: 17 ]  На страницу 1, 2  След.
Автор Сообщение
 Заголовок сообщения: Узнать направление деблокирования заказа ММ в BAdI заказа ММ
СообщениеДобавлено: Чт, окт 05 2017, 10:05 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Пн, мар 28 2005, 16:38
Сообщения: 1093
Добрый день!

Кто-нибудь знает, каким образом в абап находясь в BAdI заказа ММ узнать направление деблокирования (согласуют или отклоняют) заказа? В этот момент можно получить старый и новый статус заказа. Но не понятно, как, имея эту информацию, получить направление. Нужно для того, что бы при определенных статусах при согласовании выполнять одни действия, а при отклонении - обратные действия. Просто знать статусы старый-новый - мало.

_________________
Там, где я рос, единственным развлечением было запоминать число «π».(С) Н. Стивенсон


Пометить тему как нерешенную
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Узнать направление деблокирования заказа ММ в BAdI заказа ММ
СообщениеДобавлено: Чт, окт 05 2017, 10:15 
Специалист
Специалист

Зарегистрирован:
Пн, июл 11 2011, 11:50
Сообщения: 154
Через ASSIGN не вариант?


Пометить тему как нерешенную
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Узнать направление деблокирования заказа ММ в BAdI заказа ММ
СообщениеДобавлено: Чт, окт 05 2017, 10:39 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Пн, мар 28 2005, 16:38
Сообщения: 1093
Через assign чего? Я же говорю: начальный и конечный статус узнать можно. А вот как узнать, имея их на руках, куда мы движемся по стратегии деблокирования?

_________________
Там, где я рос, единственным развлечением было запоминать число «π».(С) Н. Стивенсон


Пометить тему как нерешенную
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Узнать направление деблокирования заказа ММ в BAdI заказа ММ
СообщениеДобавлено: Чт, окт 05 2017, 11:31 
Младший специалист
Младший специалист

Зарегистрирован:
Чт, дек 02 2010, 09:37
Сообщения: 81
Если пользовательский статус, то можно попытаться
поиграть с таблицей TJ30.


Пометить тему как нерешенную
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Узнать направление деблокирования заказа ММ в BAdI заказа ММ
СообщениеДобавлено: Чт, окт 05 2017, 11:34 
Специалист
Специалист

Зарегистрирован:
Пн, июл 11 2011, 11:50
Сообщения: 154
Кодер писал(а):
Через assign чего?


Наверное EKKO :)

Там проставляется статус, поле PROCSTAT

Хотя как у Вас настроена стратегия деблокирования, я не знаю


Пометить тему как нерешенную
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Узнать направление деблокирования заказа ММ в BAdI заказа ММ
СообщениеДобавлено: Чт, окт 05 2017, 11:38 
Гуру-эксперт
Гуру-эксперт
Аватара пользователя

Зарегистрирован:
Чт, ноя 11 2004, 17:25
Сообщения: 2847
Пол: Мужской
Да там по-моему не все так просто, если стратегия многоуровневая и еще завязана на классификацию...
Наверное надо копать в сторону запуска симуляции стратегии для того чтобы система вычислила следующий уровень.


Пометить тему как нерешенную
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Узнать направление деблокирования заказа ММ в BAdI заказа ММ
СообщениеДобавлено: Чт, окт 05 2017, 12:00 
Младший специалист
Младший специалист

Зарегистрирован:
Пн, фев 02 2009, 11:20
Сообщения: 86
Пол: Мужской
Возможно, окажутся полезными таблица T16FV и BAPI_PO_GETRELINFO (ME_REL_INFO)

_________________
периодически играю в песочнице :)


Пометить тему как нерешенную
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Узнать направление деблокирования заказа ММ в BAdI заказа ММ
СообщениеДобавлено: Чт, окт 05 2017, 12:19 
Младший специалист
Младший специалист

Зарегистрирован:
Чт, дек 02 2010, 09:37
Сообщения: 81
Что за BADI? В пакете ME есть какие-то классы
по стратегии деблокирования.


Пометить тему как нерешенную
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Узнать направление деблокирования заказа ММ в BAdI заказа ММ
СообщениеДобавлено: Чт, окт 05 2017, 12:31 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Пн, мар 28 2005, 16:38
Сообщения: 1093
BAdI в которой хочется поиметь последовательность - ME_PROCESS_PO_CUST
В принципе, можно получить инфу о стратегии: в бади придет объект типа IF_PURCHASE_ORDER_MM. На самом деле это будет CL_PO_HEADER_HANDLE_MM. У него можно выковырять объект стратегии через IF_RELEASE_STATE_MM~GET_STRATEGY. Далее можно получить списки пререквизитов для каждого из кодов деблокирования. Ну и для каждого из кодов можно получить индикатор (вроде бы. еще не проверил). Наверное, проанализировав последовательности индикаторов для кодов и пререквизитов с тем, что есть и что было - можно понять куда мы двигаемся. Попробовать надо

_________________
Там, где я рос, единственным развлечением было запоминать число «π».(С) Н. Стивенсон


Пометить тему как нерешенную
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Узнать направление деблокирования заказа ММ в BAdI заказа ММ
СообщениеДобавлено: Чт, окт 05 2017, 17:26 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Чт, сен 09 2004, 08:32
Сообщения: 776
Откуда: Москва
Пол: Мужской
Реализацию нечто подобного встречал.
Суть реализации - в сохранении информации по OK-коду (например, с использованием Enhancement'а) в памяти (например, Set/Get parameter id). Потом, в реализации BAdI, считывание этого параметра и обработка.
Кривенько, но, в принципе, работает...

_________________
"Прежде чем сделать что-то, подумай, к чему это может привести..."


Пометить тему как нерешенную
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Узнать направление деблокирования заказа ММ в BAdI заказа ММ
СообщениеДобавлено: Чт, окт 05 2017, 18:35 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Пн, мар 28 2005, 16:38
Сообщения: 1093
nicky555 писал(а):
Кривенько, но, в принципе, работает...

Навскидку придумал как завалить такой вариант: если в согласовании больше 4 шагов, то пусть находимся на шаге 3. Откатываем не сохраняя в самый низ, согласуем до шага 2 и сохраняем. Если анализировать по кнопкам, то запомнится последнее нажатие ("согласовать"). Тогда как реально будет происходить обратная операция.
Или я не правильно понял вашу идею?

_________________
Там, где я рос, единственным развлечением было запоминать число «π».(С) Н. Стивенсон


Пометить тему как нерешенную
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Узнать направление деблокирования заказа ММ в BAdI заказа ММ
СообщениеДобавлено: Пт, окт 06 2017, 13:04 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Чт, сен 09 2004, 08:32
Сообщения: 776
Откуда: Москва
Пол: Мужской
Возможно, мы друг друга не понимаем?

Я говорю о том, чтобы в динамике узнать, какую кнопку нажимает пользователь в текущей статусной схеме - деблокирование или отмена деблокирования.
В примере, о котором я говорил, это реализовано для дополнительных проверок, которые разнятся в зависимости от процесса.
Для этого расширяем Enhancement'ом метод LCL_RELVIEW_MM~EXECUTE (ГрФ MERELVI), где сохраняем код деблокирования (my_tmp_rel_code) и код функции (im_fcode) в памяти.
В расширении BAdI ME_PROCESS_PO_CUST считываем эти значения в методе CHECK и делаем дополнительные проверки.
То есть, фактически, мы в реализации BAdI "ловим" нажатие кнопки деблокирования на сетке "Стратегия деблокирования" для последнего статуса. Причем можем сказать, деблокируют или отменяют деблокирование (по коду функции).

Это я имел ввиду. Извините, если не по делу :?

_________________
"Прежде чем сделать что-то, подумай, к чему это может привести..."


Пометить тему как нерешенную
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Узнать направление деблокирования заказа ММ в BAdI заказа ММ
СообщениеДобавлено: Пт, окт 06 2017, 13:58 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Пн, мар 28 2005, 16:38
Сообщения: 1093
nicky555 писал(а):
Возможно, мы друг друга не понимаем?

Вполне может быть.
Вашу мысль я понял. Описанный вами подход пойдет для использования в методе CHECK бади ME_PROCESS_PO_CUST. Это понятно.
Но как я описал, тр-ция me29n позволяет гонять туда-сюда операции согласования-отклонения без сохранения. Мне необходимо выполнять действия именно при сохранении. Если талантливые пользователи используют перевод туда-сюда как я описал в примере, то на момент сохранения нельзя будет понять, что же на самом деле произошло. Я не прав?

_________________
Там, где я рос, единственным развлечением было запоминать число «π».(С) Н. Стивенсон


Пометить тему как нерешенную
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Узнать направление деблокирования заказа ММ в BAdI заказа ММ
СообщениеДобавлено: Пт, окт 06 2017, 14:25 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Чт, сен 09 2004, 08:32
Сообщения: 776
Откуда: Москва
Пол: Мужской
Так вы попробуйте :)
Ядро работает одно и то же независимо от транзакции.
Идею я донес, а конкретную реализацию вашей задачи вам придется додумать самому.

_________________
"Прежде чем сделать что-то, подумай, к чему это может привести..."


Пометить тему как нерешенную
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Узнать направление деблокирования заказа ММ в BAdI заказа ММ
СообщениеДобавлено: Пт, окт 06 2017, 14:58 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Пн, мар 28 2005, 16:38
Сообщения: 1093
Не поленился. Попробовал.
Заказ. У него 3 этапа согласования: 1-2-3
1) согласуем 1 . в буфере будет функ.код MERELEASE код 1
2) согласуем 2. в буфере будет функ.код MERELEASE код 2
3) отклоняем 2. в буфере будет функ.код MERESET код 2
4) нажимаем сохранить. в буфере все еще функ.код MERESET код 2.
Т.е. как я и предполагал - оставаться будут последние данные.

_________________
Там, где я рос, единственным развлечением было запоминать число «π».(С) Н. Стивенсон


Пометить тему как нерешенную
Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 17 ]  На страницу 1, 2  След.

Часовой пояс: UTC + 4 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: BingBot, LAT и гости: 25


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB