Текущее время: Сб, июл 19 2025, 20:00

Часовой пояс: 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 часа


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

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


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

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