METHOD /iwbep/if_mgw_appl_srv_runtime~changeset_process.
DATA:
lt_keys TYPE /iwbep/t_mgw_tech_pairs,
lo_delete_context TYPE REF TO /iwbep/if_mgw_req_entity_d,
ls_changeset_response TYPE /iwbep/if_mgw_appl_types=>ty_s_changeset_response,
ls_data TYPE zcertinfo.
LOOP AT it_changeset_request INTO DATA(ls_changeset_request)
WHERE
operation_type EQ /iwbep/if_mgw_appl_types=>gcs_operation_type-delete_entity.
lo_delete_context ?= ls_changeset_request-request_context.
CASE lo_delete_context->get_entity_type_name( ).
WHEN 'ZCERTINFO'.
lo_delete_context->get_keys(
RECEIVING
rt_keys = lt_keys ).
READ TABLE lt_keys INTO DATA(ls_key)
WITH KEY name = 'CERTID'.
IF sy-subrc EQ 0.
DELETE FROM zcertinfo_deep
WHERE
certid EQ ls_key-value.
IF sy-subrc EQ 0.
DELETE FROM zempcert
WHERE
certid EQ ls_key-value.
ELSE.
RAISE EXCEPTION TYPE /iwbep/cx_mgw_busi_exception
EXPORTING
textid = /iwbep/cx_mgw_busi_exception=>business_error_unlimited
http_status_code = /iwbep/cx_mgw_busi_exception=>gcs_http_status_codes-not_found
message_unlimited = |삭제하는데 실패하였습니다.|.
ENDIF.
ENDIF.
ENDCASE.
ls_changeset_response-operation_no = ls_changeset_request-operation_no.
INSERT ls_changeset_response INTO TABLE ct_changeset_response.
ENDLOOP.
ENDMETHOD.