*&---------------------------------------------------------------------* *& Include ZABAPGIT_OBJECT_SUSO *&---------------------------------------------------------------------* *----------------------------------------------------------------------* * CLASS lcl_object_suso DEFINITION *----------------------------------------------------------------------* * *----------------------------------------------------------------------* CLASS lcl_object_suso DEFINITION INHERITING FROM lcl_objects_super FINAL. PUBLIC SECTION. INTERFACES lif_object. ALIASES mo_files FOR lif_object~mo_files. ENDCLASS. "lcl_object_suso DEFINITION *----------------------------------------------------------------------* * CLASS lcl_object_suso IMPLEMENTATION *----------------------------------------------------------------------* * *----------------------------------------------------------------------* CLASS lcl_object_suso IMPLEMENTATION. METHOD lif_object~has_changed_since. rv_changed = abap_true. ENDMETHOD. "lif_object~has_changed_since METHOD lif_object~changed_by. rv_user = c_user_unknown. " todo ENDMETHOD. METHOD lif_object~get_metadata. rs_metadata = get_metadata( ). ENDMETHOD. "lif_object~get_metadata METHOD lif_object~exists. DATA: lv_objct TYPE tobj-objct. SELECT SINGLE objct FROM tobj INTO lv_objct WHERE objct = ms_item-obj_name. rv_bool = boolc( sy-subrc = 0 ). ENDMETHOD. "lif_object~exists METHOD lif_object~serialize. DATA: ls_tobj TYPE tobj, ls_tobjt TYPE tobjt, ls_tobjvorflg TYPE tobjvorflg, lt_tactz TYPE TABLE OF tactz, lt_tobjvordat TYPE TABLE OF tobjvordat, lt_tobjvor TYPE TABLE OF tobjvor. SELECT SINGLE * FROM tobj INTO ls_tobj WHERE objct = ms_item-obj_name. IF sy-subrc <> 0. RETURN. ENDIF. CLEAR ls_tobj-bname. SELECT SINGLE * FROM tobjt INTO ls_tobjt WHERE object = ms_item-obj_name AND langu = mv_language. "#EC CI_GENBUFF IF sy-subrc <> 0. lcx_exception=>raise( 'TOBJT no english description' ). ENDIF. SELECT SINGLE * FROM tobjvorflg INTO ls_tobjvorflg WHERE objct = ms_item-obj_name. "#EC CI_SUBRC SELECT * FROM tactz INTO TABLE lt_tactz WHERE brobj = ms_item-obj_name ORDER BY PRIMARY KEY. "#EC CI_SUBRC "#EC CI_GENBUFF SELECT * FROM tobjvordat INTO TABLE lt_tobjvordat WHERE objct = ms_item-obj_name ORDER BY PRIMARY KEY. "#EC CI_SUBRC "#EC CI_GENBUFF SELECT * FROM tobjvor INTO TABLE lt_tobjvor WHERE objct = ms_item-obj_name ORDER BY PRIMARY KEY. "#EC CI_SUBRC io_xml->add( iv_name = 'TOBJ' ig_data = ls_tobj ). io_xml->add( iv_name = 'TOBJT' ig_data = ls_tobjt ). io_xml->add( iv_name = 'TOBJVORFLG' ig_data = ls_tobjvorflg ). io_xml->add( ig_data = lt_tactz iv_name = 'TACTZ' ). io_xml->add( ig_data = lt_tobjvordat iv_name = 'TOBJVORDAT' ). io_xml->add( ig_data = lt_tobjvor iv_name = 'TOBJVOR' ). ENDMETHOD. "serialize METHOD lif_object~deserialize. * see function group SUSA DATA: lv_objectname TYPE e071-obj_name, ls_tobj TYPE tobj, ls_tobjt TYPE tobjt, ls_tobjvorflg TYPE tobjvorflg, lt_tactz TYPE TABLE OF tactz, lt_tobjvordat TYPE TABLE OF tobjvordat, lt_tobjvor TYPE TABLE OF tobjvor. ASSERT NOT ms_item-obj_name IS INITIAL. io_xml->read( EXPORTING iv_name = 'TOBJ' CHANGING cg_data = ls_tobj ). ls_tobj-bname = sy-uname. io_xml->read( EXPORTING iv_name = 'TOBJT' CHANGING cg_data = ls_tobjt ). io_xml->read( EXPORTING iv_name = 'TOBJVORFLG' CHANGING cg_data = ls_tobjvorflg ). io_xml->read( EXPORTING iv_name = 'TACTZ' CHANGING cg_data = lt_tactz ). io_xml->read( EXPORTING iv_name = 'TOBJVORDAT' CHANGING cg_data = lt_tobjvordat ). io_xml->read( EXPORTING iv_name = 'TOBJVOR' CHANGING cg_data = lt_tobjvor ). tadir_insert( iv_package ). lv_objectname = ms_item-obj_name. CALL FUNCTION 'SUSR_COMMEDITCHECK' EXPORTING objectname = lv_objectname transobjecttype = 'O'. MODIFY tobj FROM ls_tobj. "#EC CI_SUBRC MODIFY tobjt FROM ls_tobjt. "#EC CI_SUBRC MODIFY tobjvorflg FROM ls_tobjvorflg. "#EC CI_SUBRC DELETE FROM tactz WHERE brobj = ms_item-obj_name. "#EC CI_SUBRC INSERT tactz FROM TABLE lt_tactz. "#EC CI_SUBRC DELETE FROM tobjvordat WHERE objct = ms_item-obj_name. "#EC CI_SUBRC INSERT tobjvordat FROM TABLE lt_tobjvordat. "#EC CI_SUBRC DELETE FROM tobjvor WHERE objct = ms_item-obj_name. "#EC CI_SUBRC INSERT tobjvor FROM TABLE lt_tobjvor. "#EC CI_SUBRC ENDMETHOD. "deserialize METHOD lif_object~delete. DATA: lv_object TYPE tobj-objct. lv_object = ms_item-obj_name. CALL FUNCTION 'SUSR_DELETE_OBJECT' EXPORTING object = lv_object. ENDMETHOD. "delete METHOD lif_object~jump. DATA: lv_object TYPE tobj-objct. lv_object = ms_item-obj_name. CALL FUNCTION 'SUSR_SHOW_OBJECT' EXPORTING object = lv_object. ENDMETHOD. "jump METHOD lif_object~compare_to_remote_version. CREATE OBJECT ro_comparison_result TYPE lcl_null_comparison_result. ENDMETHOD. ENDCLASS. "lcl_object_suso IMPLEMENTATION