Текущее время: Вс, июл 20 2025, 14:55

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


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


ВНИМАНИЕ!

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



Начать новую тему Ответить на тему  [ Сообщений: 9 ] 
Автор Сообщение
 Заголовок сообщения: BADI ME_PROCESS_PO_CUST не выполняется
СообщениеДобавлено: Чт, ноя 14 2013, 16:44 
Начинающий
Начинающий

Зарегистрирован:
Ср, окт 13 2010, 09:10
Сообщения: 21
Добрый день, уважаемые коллеги!

Возник вопрос в сабже.
Расскажу конкретней есть пользовательская вкладка в транзакции ME21N/22N Хочу оттуда из PAI запустить сабжевую бадиху примерно так
Code:
  DATA: lo_exit_ref TYPE REF TO if_ex_me_process_po_cust,
        lo_header TYPE REF TO if_purchase_order_mm.
  CALL METHOD cl_exithandler=>get_instance
    CHANGING
      instance = lo_exit_ref.
  lo_exit_ref->process_header( lo_header ).


Внимание вопрос откель мне взять ссылку на заголовок lo_header. Т.е. я понимаю что при выполнении
Code:
lo_exit_ref->process_header( lo_header ).
я получу дамп потому как инстанция lo_header не определена.
Заранее спасибо. На буржуйских форумах ничего не нашел к сожалению.


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: BADI ME_PROCESS_PO_CUST не выполняется
СообщениеДобавлено: Пт, ноя 15 2013, 08:21 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Пт, сен 23 2005, 11:11
Сообщения: 963
смотри гр/ф mepo, megui, классы в пакете mereq,
а для чего это, нужно изменить поле в заголовке?

есть другая badi для пользов. закладок - ME_GUI_PO_CUST


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: BADI ME_PROCESS_PO_CUST не выполняется
СообщениеДобавлено: Пт, ноя 15 2013, 09:27 
Гуру-модератор
Гуру-модератор
Аватара пользователя

Зарегистрирован:
Вт, май 17 2005, 13:35
Сообщения: 4871
Откуда: Москва
Пол: Мужской
Вообще подход очень странный.
Сама идея badi заключается том, что сап определяет безопасные места, где можно клиентам написать свой код, определяет интерфейс (что можно менять, что нет) и с технической точки зрения называет это все вызовом бади.

Самостоятельный вызов саповских бади из совершенно другого программного контекста выглядит странной идеей и может привести к грустным результатам.

_________________
Удача - результат нашего желания (© А. Нортон)


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: BADI ME_PROCESS_PO_CUST не выполняется
СообщениеДобавлено: Пт, ноя 15 2013, 10:22 
Начинающий
Начинающий

Зарегистрирован:
Ср, окт 13 2010, 09:10
Сообщения: 21
trop написал(а):
смотри гр/ф mepo, megui, классы в пакете mereq,
а для чего это, нужно изменить поле в заголовке?

есть другая badi для пользов. закладок - ME_GUI_PO_CUST

Да я знаю, но вкладка реализована через другое расширение, и переделывать я не буду т.к. там много накручено, с этим разбираться можно мозг сломать (не я делал потому разбираться нет времени).


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: BADI ME_PROCESS_PO_CUST не выполняется
СообщениеДобавлено: Пт, ноя 15 2013, 10:30 
Начинающий
Начинающий

Зарегистрирован:
Ср, окт 13 2010, 09:10
Сообщения: 21
LKU написал:
Вообще подход очень странный.
Сама идея badi заключается том, что сап определяет безопасные места, где можно клиентам написать свой код, определяет интерфейс (что можно менять, что нет) и с технической точки зрения называет это все вызовом бади.

Самостоятельный вызов саповских бади из совершенно другого программного контекста выглядит странной идеей и может привести к грустным результатам.


Хм... Я же вызываю badi в том месте где SAP это предусмотрел т.е. из другого user-exit, я ж не виноват, что транзакцию расширили так что ME_PROCESS_PO_CUST-PROCESS_HEADER не выполняется. Итеперь мне приходится стандартные поля заполнять в методе CHECK, что является не менее странным чем вызов BADI там где по Вашему мнению SAP этого не предусмотрел. В результате я еще и получаю глюк, что если пользователь ничего не менял а просто нажал кнопку проверить, поле ZTERM заполнилось, но сохранить ничего не могу т.к. с точки зрения ME22N ничего таки и не менялось... Короче мне приходится поле проверять при проверке, что не менее глупо чем вызывать BADI из мест, типа, не предусмотренных не так ли?


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: BADI ME_PROCESS_PO_CUST не выполняется
СообщениеДобавлено: Пт, ноя 15 2013, 10:50 
Гуру-модератор
Гуру-модератор
Аватара пользователя

Зарегистрирован:
Вт, май 17 2005, 13:35
Сообщения: 4871
Откуда: Москва
Пол: Мужской
klkuznetsov, ну я написал свое мнение: самому вызывать стандартные бади откуда бы ни было (в том числе из других стандартных расширений сап) - чревато проблемами. Принятие итогового решения конечно за вами.

_________________
Удача - результат нашего желания (© А. Нортон)


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: BADI ME_PROCESS_PO_CUST не выполняется
СообщениеДобавлено: Пт, ноя 15 2013, 10:54 
Начинающий
Начинающий

Зарегистрирован:
Ср, окт 13 2010, 09:10
Сообщения: 21
LKU написал:
klkuznetsov, ну я написал свое мнение: самому вызывать стандартные бади откуда бы ни было (в том числе из других стандартных расширений сап) - чревато проблемами. Принятие итогового решения конечно за вами.


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


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: BADI ME_PROCESS_PO_CUST не выполняется
СообщениеДобавлено: Пт, ноя 15 2013, 12:20 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Пт, сен 23 2005, 11:11
Сообщения: 963
под ME_PROCESS_PO_CUST лежит очередь обновления полей в saplmepo (check, process_header, process_item, ..),
даже если напрямую вызывать - не факт, что последовательность будет верная и не возникнет конкуретной записи


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: BADI ME_PROCESS_PO_CUST не выполняется
СообщениеДобавлено: Пт, ноя 15 2013, 12:36 
Начинающий
Начинающий

Зарегистрирован:
Ср, окт 13 2010, 09:10
Сообщения: 21
trop написал(а):
под ME_PROCESS_PO_CUST лежит очередь обновления полей в saplmepo (check, process_header, process_item, ..),
даже если напрямую вызывать - не факт, что последовательность будет верная и не возникнет конкуретной записи


Да я уже по другому сделал. Написал ФМ определяющий ZTERM и вставил его во все как мне показалось нужные места :) В итоге он отрабатывает и при обработке пользовательского экрана и заполняет ZTERM через assign '(ПРОГА)EKKO-ZTERM', и в методе PROCESS_HEADER срабатывает на всякий пожарный случай.


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 9 ] 

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


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

Сейчас этот форум просматривают: Yandex [Bot]


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

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