Code: Alles auswählen.
DATA lo_feh_lock TYPE REF TO if_ws_callback.
*Zuvor prüfen ob wirklich die übergebene Message-ID vorhanden und gesperrt ist
CALL METHOD cl_xms_persist=>determine_table_container.
CALL METHOD cl_xms_persist=>get_current_table_container
IMPORTING
ex_master = lv_master
ex_master_retry = lv_master_retry.
SELECT SINGLE * FROM (lv_master) INTO ls_sxmspmast
WHERE msgguid = iv_msg_guid.
IF sy-subrc <> 0.
IF lv_master_retry IS INITIAL.
ev_error_msg = 'Message-ID in Empfaengersystem nicht gefunden'.
EXIT.
ENDIF.
SELECT SINGLE * FROM (lv_master_retry) INTO ls_sxmspmast
WHERE msgguid = iv_msg_guid.
IF sy-subrc <> 0.
ev_error_msg = 'Message-ID in Empfaengersystem nicht gefunden'.
EXIT.
ENDIF.
*Sperre Prüfen
SELECT SINGLE * FROM sxms_feh INTO ls_sxms_feh "#EC WARNOK
WHERE queue = ls_sxmspmast-queueint.
"Wenn alles in Ordnung
TRY.
lo_feh_lock = cl_xms_feh_factory_ext=>get_unlock_api( iv_msg_guid ).
lo_feh_lock->message_processed( ).
CATCH cx_ws_callback INTO DATA(lo_ws_cb).
ev_msg = lo_ws_cb->get_text( ).
EXIT.
ENDTRY.