Текущее время: Сб, авг 16 2025, 00:02

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


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

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


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

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