Posted: Tue Nov 20, 2007 12:20 am Post subject: Отлавливание сообщений типа E, A функционального модуля
Q. Есть стандартный ФМ, при выполнении которого с некоторыми параметрами вызывается сообщение типа Е. В ФМ-е нет исключений, поэтому дальнейшее выполнение программы прерывается. А хотелось бы как-то отловить тот факт, что произошла ошибка в ФМ и продолжить выполнение основной программы. Как это осуществить?
A.
Начиная с 4.7 у CALL FUNCTION в секции exceptions появилась опция error_message = n_error
Quote:
[EXCEPTIONS [exc1 = n1 exc2 = n2 ...]
[error_message = n_error]
[OTHERS = n_others]].
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.
Пишите так:
Code:
CALL FUNCTION '...'
...
EXCEPTIONS
error_message = 1
other = 2.
IF NOT sy-subrc IS INITIAL.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum You cannot attach files in this forum You can download files in this forum
All product names are trademarks of their respective companies. SAPNET.RU websites are in no way affiliated with SAP AG. SAP, SAP R/3, R/3 software, mySAP, ABAP, BAPI, xApps, SAP NetWeaver and any other are registered trademarks of SAP AG. Every effort is made to ensure content integrity. Use information on this site at your own risk.