Hi
Finally I solved the problem, I changed this code in the method CREATE_DEEP_ENTITY
READ TABLE lt_return INDEX 1 REFERENCE INTO lr_return.
IF lr_return->*-type NE 'S'.
lo_meco = mo_context->get_message_container( ).
lo_meco->add_messages_from_bapi(
it_bapi_messages = lt_return
iv_determine_leading_msg = /iwbep/if_message_container=>gcs_leading_msg_search_option-first
).
CREATE OBJECT lx_busi_exc
EXPORTING
message_container = lo_meco.
RAISE EXCEPTION lx_busi_exc.
ELSE.
COMMIT WORK.
ls_so-OrderID = lv_soid.
ENDIF.
For the next code:
DO.
READ TABLE lt_return INDEX sy-index REFERENCE INTO lr_return.
IF sy-subrc = 0.
IF lr_return->*-type EQ 'E'.
lo_meco = mo_context->get_message_container( ).
lo_meco->add_messages_from_bapi(
it_bapi_messages = lt_return
iv_determine_leading_msg = /iwbep/if_message_container=>gcs_leading_msg_search_option-first
).
CREATE OBJECT lx_busi_exc
EXPORTING
message_container = lo_meco.
RAISE EXCEPTION lx_busi_exc.
ENDIF.
ELSE.
EXIT.
ENDIF.
ENDDO.
COMMIT WORK.
ls_so-OrderID = lv_soid.
Regards
Edison