Текущее время: Вс, авг 03 2025, 00:39

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


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


ВНИМАНИЕ!

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



Начать новую тему Ответить на тему  [ Сообщений: 5 ] 
Автор Сообщение
 Заголовок сообщения: ФМ и сообщение типа Е
СообщениеДобавлено: Пт, июл 06 2007, 12:59 
Специалист
Специалист
Аватара пользователя

Зарегистрирован:
Вт, янв 16 2007, 19:00
Сообщения: 168
Откуда: город
День добрый, коллеги.

Есть стандартный ФМ, при выполнении которого с некоторыми параметрами вызывается сообщение типа Е. В ФМ-е нет исключений, поэтому дальнейшее выполнение программы прерывается. А хотелось бы как-то отловить тот факт, что произошла ошибка в ФМ и продолжить выполнение основной программы. Как это осуществить?

Есть вариант с копированием этого ФМа в свой, в котором уже делать raise exception, но это на крайний случай. Может посоветуете еще что?


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: ФМ и сообщение типа Е
СообщениеДобавлено: Пт, июл 06 2007, 13:17 
Гуру-эксперт
Гуру-эксперт

Зарегистрирован:
Вт, сен 07 2004, 17:47
Сообщения: 2988
влад написал(а):
День добрый, коллеги.

Есть стандартный ФМ, при выполнении которого с некоторыми параметрами вызывается сообщение типа Е. В ФМ-е нет исключений, поэтому дальнейшее выполнение программы прерывается. А хотелось бы как-то отловить тот факт, что произошла ошибка в ФМ и продолжить выполнение основной программы. Как это осуществить?

Есть вариант с копированием этого ФМа в свой, в котором уже делать raise exception, но это на крайний случай. Может посоветуете еще что?

Зависит от того какая у вас версия - начиная то-ли с 4.7, то-ли с Erp2004 у CALL FUNCTION в секции exceptions появилась опция error_message = n_error -
Цитата:
Messages of the type E and A trigger the exception error_message and set sy-subrc to n_error. The message class, message type, message number, and the contents of possible placeholders for the MESSAGE statement are in the fields sy-msgid, sy-msgno, sy-msgty, and sy-msgv1, ... , sy-msgv4. With messages of the type A, the ROLLBACK WORK statement is also explicitly executed.

_________________
"После" - не значит "вследствие"


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пт, июл 06 2007, 13:25 
Менеджер
Менеджер

Зарегистрирован:
Вт, авг 17 2004, 13:14
Сообщения: 664
Откуда: Москва
Пол: Мужской
Попробуй CATCH ... ENDCATCH Я в таких случаях его не пробовал, но может быть поможет?


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пт, июл 06 2007, 13:25 
Специалист
Специалист
Аватара пользователя

Зарегистрирован:
Вт, янв 16 2007, 19:00
Сообщения: 168
Откуда: город
Версия 4.7. Спасибо, ваша помощь была как всегда кстати. Есть такое стандартное исключение :D


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пт, июл 06 2007, 13:29 
Специалист
Специалист
Аватара пользователя

Зарегистрирован:
Вт, янв 16 2007, 19:00
Сообщения: 168
Откуда: город
Tim написал:
Попробуй CATCH ... ENDCATCH Я в таких случаях его не пробовал, но может быть поможет?

Вы, наверное, имели в виду try...catch...endtry. Пробовал, не проходит. В любом случае проблема решена, спасибо sy-uname.


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

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


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

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


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

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