diff --git a/zsaplink_generic_obj.clas.abap b/zsaplink_generic_obj.clas.abap index 5103622e7..e6aaa64f9 100644 --- a/zsaplink_generic_obj.clas.abap +++ b/zsaplink_generic_obj.clas.abap @@ -54,7 +54,7 @@ CLASS zsaplink_generic_obj DEFINITION METHODS deleteobject REDEFINITION . - PRIVATE SECTION. + PRIVATE SECTION. DATA mo_xml_bridge TYPE REF TO lcl_tlogo_xml_bridge . data include_last_changed type abap_bool. @@ -64,6 +64,7 @@ CLASS zsaplink_generic_obj DEFINITION METHODS get_xml_bridge RETURNING VALUE(ro_xml_bridge) TYPE REF TO lcl_tlogo_xml_bridge . + METHODS metadata_to_xml IMPORTING !it_metadata TYPE lcl_tlogo_xml_bridge=>tt_obj_metadata diff --git a/zsaplink_generic_obj.clas.locals_def.abap b/zsaplink_generic_obj.clas.locals_def.abap index ef223eb37..59b604330 100644 --- a/zsaplink_generic_obj.clas.locals_def.abap +++ b/zsaplink_generic_obj.clas.locals_def.abap @@ -47,6 +47,7 @@ CLASS lcl_rso_tlogo_xml_bridge DEFINITION METHODS get_timestmp_of_data RETURNING VALUE(r_timestmp) TYPE rstimestmp . + PROTECTED SECTION. *"* protected components of class CL_RSO_TLOGO_XML_BRIDGE *"* do not include other source files here!!! @@ -96,6 +97,16 @@ CLASS lcl_rso_tlogo_xml_bridge DEFINITION data mv_include_last_changed type abap_bool. METHODS read_tlogo_prop . + + METHODS do_delete + IMPORTING + iv_tlogo_table TYPE lcl_rso_tlogo_xml_bridge=>pt_s_tlogo_tables-tabname + iv_where_clause type lcl_rso_tlogo_xml_bridge=>pt_s_tlogo_tables-where_clause. + + METHODS do_insert + IMPORTING + iv_tlogo_table TYPE lcl_rso_tlogo_xml_bridge=>pt_s_tlogo_tables-tabname + it_data TYPE STANDARD TABLE. ENDCLASS. CLASS lcl_tlogo_xml_bridge DEFINITION INHERITING FROM lcl_rso_tlogo_xml_bridge diff --git a/zsaplink_generic_obj.clas.locals_imp.abap b/zsaplink_generic_obj.clas.locals_imp.abap index 683e6ea74..4e4a71c0a 100644 --- a/zsaplink_generic_obj.clas.locals_imp.abap +++ b/zsaplink_generic_obj.clas.locals_imp.abap @@ -608,12 +608,13 @@ WITH UNIQUE KEY num. i_detlevel = i_detlevel. e_subrc = 8. ELSE. -* #CP-SUPPRESS: FP secure coding, no user input - DELETE FROM (-tabname) WHERE (-where_clause). + do_delete( iv_tlogo_table = -tabname + iv_where_clause = -where_clause ). ENDIF. * actual insert ASSIGN -data->* TO . - INSERT (-tabname) FROM TABLE . + do_insert( iv_tlogo_table = -tabname + it_data = ). IF sy-subrc <> 0. MESSAGE e221(rsoxml) WITH p_objnm p_tlogo -tabname INTO l_dummy. CALL METHOD cl_rso_application_log=>if_rso_application_log~add_message_level @@ -625,6 +626,21 @@ WITH UNIQUE KEY num. ENDLOOP. ENDMETHOD. " + + METHOD do_delete. + +* #CP-SUPPRESS: FP secure coding, no user input + DELETE FROM (iv_tlogo_table) WHERE (iv_where_clause). + + ENDMETHOD. + + + METHOD do_insert. + + INSERT (iv_tlogo_table) FROM TABLE it_data. + + ENDMETHOD. + ENDCLASS. CLASS lcl_tlogo_xml_bridge IMPLEMENTATION. @@ -694,8 +710,8 @@ CLASS lcl_tlogo_xml_bridge IMPLEMENTATION. * Some sanity checks ASSERT lv_where_clause IS NOT INITIAL. - DELETE FROM (-tobj_name) WHERE (lv_where_clause). - + do_delete( iv_tlogo_table = conv #( -tobj_name ) + iv_where_clause = lv_where_clause ). IF -prim_table = abap_true. DATA(lv_dbcnt) = sy-dbcnt. validate_count_prim_table( iv_dbcount = lv_dbcnt iv_objname = iv_objname ).