Текущее время: Пн, июн 23 2025, 22:08

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


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


ВНИМАНИЕ!

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



Начать новую тему Ответить на тему  [ Сообщений: 11 ] 
Автор Сообщение
 Заголовок сообщения: BAPI_CONTRACT_CHANGE перехват сообщений из расширения
СообщениеДобавлено: Пн, май 30 2011, 10:41 
Младший специалист
Младший специалист

Зарегистрирован:
Пн, апр 10 2006, 13:31
Сообщения: 51
Доброго дня, коллеги.

В собственной разработке пользую ФМ BAPI_CONTRACT_CHANGE для изменния данных в позициях закупочного контракта,
При сохранении контракта существует проверка (см. CMOD, MM06E005, EXIT_SAPMM06E_012)
результатом которой является сообщение типа 'E', которое совсем некрасиво завершает работу z-ки, вместо "складирования"
себя в табличку t_return.
Code:
CALL FUNCTION 'BAPI_CONTRACT_CHANGE'
    EXPORTING
            purchasingdocument          = p_contrt
            testrun                     =  p_test
TABLES
      item                        = t_item
      itemx                       = t_itemx
      return                      = t_return.


Подозреваю, что копать нужно где-то в направлении "MESSAGE .... RAISING..." с последующим перехватом исключения и насильным заполнением t_return.

Копаю матчасть, но сделать нужно "бистро"(вчера, в прошлом месяце, году - на выбор),
посему прошу советов и подсказок (можно просто тыцнуть носом в раздел - help-a), по реализации сего сабжа.

Заранне спасибо.

_________________
Даже если тебя съели, у тебя есть два выхода...


Пометить тему как нерешенную
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: BAPI_CONTRACT_CHANGE перехват сообщений из расширения
СообщениеДобавлено: Пн, май 30 2011, 11:45 
Гуру-эксперт
Гуру-эксперт
Аватара пользователя

Зарегистрирован:
Чт, ноя 11 2004, 16:25
Сообщения: 3109
Пол: Мужской
Попробуйте в параметре TECHNICAL_DATA-MESSAGING_APPL = 'A'.


Пометить тему как нерешенную
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: BAPI_CONTRACT_CHANGE перехват сообщений из расширения
СообщениеДобавлено: Пн, май 30 2011, 12:38 
Младший специалист
Младший специалист

Зарегистрирован:
Пн, апр 10 2006, 13:31
Сообщения: 51
Besa, поставил
Code:
TECHNICAL_DATA-MESSAGING_APPL = 'A'.
, эффект тот-же - сообщение и выход из z-ки без возврата в оную.

Ищу дальше...

_________________
Даже если тебя съели, у тебя есть два выхода...


Пометить тему как нерешенную
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: BAPI_CONTRACT_CHANGE перехват сообщений из расширения
СообщениеДобавлено: Пн, май 30 2011, 13:01 
Начинающий
Начинающий

Зарегистрирован:
Пт, янв 16 2009, 21:36
Сообщения: 20
Пол: Мужской
SVT написал(а):
Besa, поставил
Code:
TECHNICAL_DATA-MESSAGING_APPL = 'A'.
, эффект тот-же - сообщение и выход из z-ки без возврата в оную.


может в EXIT_SAPMM06E_012 выводить сообщения с исп. макросов из инклюда MM_MESSAGES_MAC ?


Пометить тему как нерешенную
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: BAPI_CONTRACT_CHANGE перехват сообщений из расширения
СообщениеДобавлено: Пн, май 30 2011, 13:23 
Гуру-эксперт
Гуру-эксперт
Аватара пользователя

Зарегистрирован:
Чт, ноя 11 2004, 16:25
Сообщения: 3109
Пол: Мужской
siga2 написал:
SVT написал(а):
Besa, поставил
Code:
TECHNICAL_DATA-MESSAGING_APPL = 'A'.
, эффект тот-же - сообщение и выход из z-ки без возврата в оную.


может в EXIT_SAPMM06E_012 выводить сообщения с исп. макросов из инклюда MM_MESSAGES_MAC ?

Вариант...

to SVT
Как Вы выводите сообщение? На BAPI_CONTRACT_CHANGE нет возможности проверить, она только в новых версиях, использую BAPI_PO_CREATE1, аналогично процесс проходит через данный экзит, сообщение скидывается в return как надо...


Пометить тему как нерешенную
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: BAPI_CONTRACT_CHANGE перехват сообщений из расширения
СообщениеДобавлено: Пн, май 30 2011, 15:02 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Чт, окт 06 2005, 16:44
Сообщения: 3080
Откуда: Москва
SVT написал(а):
Доброго дня, коллеги.

В собственной разработке пользую ФМ BAPI_CONTRACT_CHANGE для изменния данных в позициях закупочного контракта,
При сохранении контракта существует проверка (см. CMOD, MM06E005, EXIT_SAPMM06E_012)
результатом которой является сообщение типа 'E', которое совсем некрасиво завершает работу z-ки, вместо "складирования"
себя в табличку t_return.
Code:
CALL FUNCTION 'BAPI_CONTRACT_CHANGE'
    EXPORTING
            purchasingdocument          = p_contrt
            testrun                     =  p_test
TABLES
      item                        = t_item
      itemx                       = t_itemx
      return                      = t_return.


При вызове BAPI используйте дополнение
Code:
EXCEPTIONS
  error_message = 1.

_________________
С уважением,
Удав.


Пометить тему как нерешенную
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: BAPI_CONTRACT_CHANGE перехват сообщений из расширения
СообщениеДобавлено: Пн, май 30 2011, 15:33 
Младший специалист
Младший специалист

Зарегистрирован:
Пн, апр 10 2006, 13:31
Сообщения: 51
siga2 написал:
SVT написал(а):
Besa, поставил
Code:
TECHNICAL_DATA-MESSAGING_APPL = 'A'.
, эффект тот-же - сообщение и выход из z-ки без возврата в оную.


может в EXIT_SAPMM06E_012 выводить сообщения с исп. макросов из инклюда MM_MESSAGES_MAC ?


Сасибо, посмотрю.

To Besa:
MESSAGE обычный
Code:
MESSAGE e003(ZMESS_ME32K)
      WITH wa_ekpo-ebeln wa_ekpo-ebelp. " Всё плохо - не сохранить!!!


Удав написал(а):
SVT написал(а):
При вызове BAPI используйте дополнение
Код:
EXCEPTIONS
error_message = 1.


Задействовал, но теперь визуализации мессаджа нет, - есть возврат в гл.прогу и пустая t_return.

Дальнейший анализ ошибок BAPI-шки
Code:
READ TABLE t_return WITH KEY type = 'E'.

становится не актуален. :(

_________________
Даже если тебя съели, у тебя есть два выхода...


Пометить тему как нерешенную
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: BAPI_CONTRACT_CHANGE перехват сообщений из расширения
СообщениеДобавлено: Пн, май 30 2011, 17:05 
Младший специалист
Младший специалист

Зарегистрирован:
Пн, апр 10 2006, 13:31
Сообщения: 51
siga2 написал:
может в EXIT_SAPMM06E_012 выводить сообщения с исп. макросов из инклюда MM_MESSAGES_MAC ?


Можно, чуток поподробнее, какие из них лучше использовать, если можно пример использования.

Нашёл ноту Note 310154 - ME21N/ME51N: Customer-specific check, generating error log - пересекается с вашим советом.

_________________
Даже если тебя съели, у тебя есть два выхода...


Пометить тему как нерешенную
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: BAPI_CONTRACT_CHANGE перехват сообщений из расширения  Тема решена
СообщениеДобавлено: Пн, май 30 2011, 17:29 
Младший специалист
Младший специалист

Зарегистрирован:
Пн, апр 10 2006, 13:31
Сообщения: 51
siga2, спасибо, за наводку.
Вопрос решен вызовом макроса mmpur_message_forced в EXIT_SAPMM06E_012.

Всем ответчикам, спасибо за советы и участие в поиске решения.

_________________
Даже если тебя съели, у тебя есть два выхода...


Пометить тему как нерешенную
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: BAPI_CONTRACT_CHANGE перехват сообщений из расширения
СообщениеДобавлено: Вт, май 31 2011, 08:41 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Чт, окт 06 2005, 16:44
Сообщения: 3080
Откуда: Москва
SVT написал(а):
Задействовал, но теперь визуализации мессаджа нет, - есть возврат в гл.прогу и пустая t_return.

Дальнейший анализ ошибок BAPI-шки
Code:
READ TABLE t_return WITH KEY type = 'E'.

становится не актуален. :(

Зато заполнены поля структуры SYST, в которых содержится информация о сообщении с ошибкой ;)
SY-MSGID, SY-MSGNO, SY-MSGTY, SY-MSGV1 - 4

_________________
С уважением,
Удав.


Пометить тему как нерешенную
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: BAPI_CONTRACT_CHANGE перехват сообщений из расширения
СообщениеДобавлено: Вт, май 31 2011, 09:31 
Младший специалист
Младший специалист

Зарегистрирован:
Пн, апр 10 2006, 13:31
Сообщения: 51
Удав написал(а):
Зато заполнены поля структуры SYST, в которых содержится информация о сообщении с ошибкой ;)
SY-MSGID, SY-MSGNO, SY-MSGTY, SY-MSGV1 - 4


А их, то я и не посмотрел. :oops:

Ешшо один вариант решения (по Удаву):

Code:
CALL FUNCTION 'BAPI_CONTRACT_CHANGE'
    EXPORTING
            purchasingdocument          = p_contrt
            testrun                     =  p_test
TABLES
      item                        = t_item
      itemx                       = t_itemx
      return                      = t_return
EXCEPTIONS
error_message = 1.
case sy-subrc.

when 0.
* all is good

when 1.
* Use
* SY-MSGID, SY-MSGNO, SY-MSGTY, SY-MSGV1 etc.

when others.
* no good
endcase.


_________________
Даже если тебя съели, у тебя есть два выхода...


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

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


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

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


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

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