Объектные исключения и RFC

В документации к системе версии 7.30 (sy-saprl) было обнаружено интересное нововведение, возможность обработки RFC исключений в объектном представлении:

In the interface of a remote enabled function module, you can either specify class-based exceptions (as of release 7.1, EhP1) or define classic exceptions, that is, non class-based exceptions.

Все классические исключения согласно документации транслируются в объектное исключение cx_classic_exception. Рассмотрим пример RFC модуля:

Пример программы:

В результате её работы исключение будет преобразовано в объектное и система отобразит сообщение о произошедшей ошибке:

oop_exception

Однако документация в системе версии 7.31 изменилась:

In the interface of a remote enabled function module you can currently only specify classical exception, in other words non-class-based exceptions. Class-based exceptions are supported in other release tracks.

А все из-за того что:

With respect to the ABAP and ABAP runtime environment, Release 7.31 is not the successor to Release 7.3 from the track 7.1, 7.2, 7.3. The following Release 7.3 features are not included

  • The operational package concept in which package errors are detected by the syntax check and produced syntax errors

  • Support for class-based exceptions in RFC

Соответственно использование объектных исключений не допускается, в результате проверки программы вы получите предупреждение (верно и для 7.40):

oop_exception_error

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *