*&---------------------------------------------------------------------* *& Include ZABAPGIT_OBJECT_CMPT *&---------------------------------------------------------------------* CLASS lcl_object_cmpt DEFINITION INHERITING FROM lcl_objects_super FINAL. PUBLIC SECTION. METHODS: constructor IMPORTING is_item TYPE lif_defs=>ty_item iv_language TYPE spras. INTERFACES lif_object. PRIVATE SECTION. DATA: mo_cmp_db TYPE REF TO object. ENDCLASS. CLASS lcl_object_cmpt IMPLEMENTATION. METHOD constructor. super->constructor( is_item = is_item iv_language = iv_language ). TRY. CALL METHOD ('CL_CMP_TEMPLATE')=>('S_GET_DB_ACCESS') RECEIVING r_ref_db_access = mo_cmp_db. CATCH cx_root. ENDTRY. ENDMETHOD. METHOD lif_object~has_changed_since. rv_changed = abap_true. ENDMETHOD. METHOD lif_object~changed_by. DATA: mi_cmp_template TYPE REF TO object. TRY. CALL METHOD ('CL_CMP_TEMPLATE')=>('S_CREATE_FROM_DB') EXPORTING i_name = |{ ms_item-obj_name }| i_version = 'A' RECEIVING r_ref_template = mi_cmp_template. CALL METHOD mi_cmp_template->('IF_CMP_TEMPLATE_EDIT~GET_CHANGE_USER') RECEIVING r_user = rv_user. CATCH cx_root. lcx_exception=>raise( 'CMPT not supported' ). ENDTRY. ENDMETHOD. METHOD lif_object~get_metadata. rs_metadata = get_metadata( ). rs_metadata-delete_tadir = abap_true. ENDMETHOD. METHOD lif_object~exists. DATA: name TYPE c LENGTH 30. name = ms_item-obj_name. TRY. CALL METHOD ('CL_CMP_TEMPLATE')=>('S_TEMPLATE_EXISTS') EXPORTING i_name = name i_version = 'A' RECEIVING r_flg_exists = rv_bool. CATCH cx_root. lcx_exception=>raise( 'CMPT not supported' ). ENDTRY. ENDMETHOD. METHOD lif_object~serialize. DATA: lr_template TYPE REF TO data. FIELD-SYMBOLS: