Текущее время: Чт, июн 21 2018, 19:40

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


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


ВНИМАНИЕ!

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



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

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

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

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


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

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


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

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

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


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

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


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

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


Наверное EKKO :)

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

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


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

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


Пометить тему как нерешенную
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: 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
Сообщения: 87
Что за BADI? В пакете ME есть какие-то классы
по стратегии деблокирования.


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

Зарегистрирован:
Пн, мар 28 2005, 16:38
Сообщения: 1139
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
Сообщения: 777
Откуда: Москва
Пол: Мужской
Реализацию нечто подобного встречал.
Суть реализации - в сохранении информации по OK-коду (например, с использованием Enhancement'а) в памяти (например, Set/Get parameter id). Потом, в реализации BAdI, считывание этого параметра и обработка.
Кривенько, но, в принципе, работает...

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


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

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

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

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


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

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

Я говорю о том, чтобы в динамике узнать, какую кнопку нажимает пользователь в текущей статусной схеме - деблокирование или отмена деблокирования.
В примере, о котором я говорил, это реализовано для дополнительных проверок, которые разнятся в зависимости от процесса.
Для этого расширяем 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
Сообщения: 1139
nicky555 написал:
Возможно, мы друг друга не понимаем?

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

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


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

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

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


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

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

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


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

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


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

Сейчас этот форум просматривают: нет зарегистрированных пользователей


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

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