From 1e4884be596b12943b39b2b64e43681642c6736c Mon Sep 17 00:00:00 2001 From: larshp Date: Thu, 19 Jan 2017 11:27:22 +0100 Subject: [PATCH] ENHO: wdyconf downport --- src/zabapgit_object_enho.prog.abap | 143 ++++++++++++++++++++--------- 1 file changed, 102 insertions(+), 41 deletions(-) diff --git a/src/zabapgit_object_enho.prog.abap b/src/zabapgit_object_enho.prog.abap index 466d59b64..3515f207c 100644 --- a/src/zabapgit_object_enho.prog.abap +++ b/src/zabapgit_object_enho.prog.abap @@ -16,8 +16,13 @@ INTERFACE lif_object_enho. ii_enh_tool TYPE REF TO if_enh_tool RAISING lcx_exception. -ENDINTERFACE. +ENDINTERFACE. "lif_object_enho +*----------------------------------------------------------------------* +* CLASS lcl_object_enho_wdyconf DEFINITION +*----------------------------------------------------------------------* +* +*----------------------------------------------------------------------* CLASS lcl_object_enho_wdyconf DEFINITION. PUBLIC SECTION. @@ -31,14 +36,19 @@ CLASS lcl_object_enho_wdyconf DEFINITION. DATA: ms_item TYPE ty_item, mo_files TYPE REF TO lcl_objects_files. -ENDCLASS. +ENDCLASS. "lcl_object_enho_wdyconf DEFINITION +*----------------------------------------------------------------------* +* CLASS lcl_object_enho_wdyconf IMPLEMENTATION +*----------------------------------------------------------------------* +* +*----------------------------------------------------------------------* CLASS lcl_object_enho_wdyconf IMPLEMENTATION. METHOD constructor. ms_item = is_item. mo_files = io_files. - ENDMETHOD. + ENDMETHOD. "constructor METHOD lif_object_enho~deserialize. @@ -78,7 +88,7 @@ CLASS lcl_object_enho_wdyconf IMPLEMENTATION. lcx_exception=>raise( 'error deserializing ENHO wdyconf' ). ENDTRY. - ENDMETHOD. + ENDMETHOD. "lif_object_enho~deserialize METHOD lif_object_enho~serialize. @@ -98,29 +108,35 @@ CLASS lcl_object_enho_wdyconf IMPLEMENTATION. io_xml->add( iv_name = 'ORIGINAL_OBJECT' ig_data = ls_obj ). - lo_wdyconf->get_enhancement_data( +* only works on new ABAP versions, parameters differ between versions + CALL METHOD lo_wdyconf->('GET_ENHANCEMENT_DATA') EXPORTING p_scope = 1 IMPORTING - p_enh_data = lt_data ). + p_enh_data = lt_data. - cl_wdr_cfg_persistence_utils=>comp_tables_to_xml( + CALL METHOD cl_wdr_cfg_persistence_utils=>('COMP_TABLES_TO_XML') EXPORTING outline_data = ls_outline expl_data_tab = lt_data IMPORTING element = li_element CHANGING - document = li_document ). + document = li_document. io_xml->add_xml( iv_name = 'ENHANCEMENT_DATA' ii_xml = li_element ). - ENDMETHOD. + ENDMETHOD. "lif_object_enho~serialize -ENDCLASS. +ENDCLASS. "lcl_object_enho_wdyconf IMPLEMENTATION +*----------------------------------------------------------------------* +* CLASS lcl_object_enho_clif DEFINITION +*----------------------------------------------------------------------* +* +*----------------------------------------------------------------------* CLASS lcl_object_enho_clif DEFINITION. PUBLIC SECTION. @@ -142,8 +158,13 @@ CLASS lcl_object_enho_clif DEFINITION. io_clif TYPE REF TO cl_enh_tool_clif RAISING lcx_exception. -ENDCLASS. +ENDCLASS. "lcl_object_enho_clif DEFINITION +*----------------------------------------------------------------------* +* CLASS lcl_object_enho_clif IMPLEMENTATION +*----------------------------------------------------------------------* +* +*----------------------------------------------------------------------* CLASS lcl_object_enho_clif IMPLEMENTATION. METHOD serialize_includes. @@ -179,7 +200,7 @@ CLASS lcl_object_enho_clif IMPLEMENTATION. ENDIF. ENDLOOP. - ENDMETHOD. + ENDMETHOD. "serialize_includes METHOD serialize. @@ -221,7 +242,7 @@ CLASS lcl_object_enho_clif IMPLEMENTATION. io_xml->add( iv_name = 'TAB_METHODS' ig_data = lt_tab_methods ). - ENDMETHOD. + ENDMETHOD. "serialize METHOD deserialize. @@ -273,10 +294,15 @@ CLASS lcl_object_enho_clif IMPLEMENTATION. ENDLOOP. - ENDMETHOD. + ENDMETHOD. "deserialize -ENDCLASS. +ENDCLASS. "lcl_object_enho_clif IMPLEMENTATION +*----------------------------------------------------------------------* +* CLASS lcl_object_enho_badi DEFINITION +*----------------------------------------------------------------------* +* +*----------------------------------------------------------------------* CLASS lcl_object_enho_badi DEFINITION. PUBLIC SECTION. @@ -290,14 +316,19 @@ CLASS lcl_object_enho_badi DEFINITION. DATA: ms_item TYPE ty_item, mo_files TYPE REF TO lcl_objects_files. -ENDCLASS. +ENDCLASS. "lcl_object_enho_badi DEFINITION +*----------------------------------------------------------------------* +* CLASS lcl_object_enho_badi IMPLEMENTATION +*----------------------------------------------------------------------* +* +*----------------------------------------------------------------------* CLASS lcl_object_enho_badi IMPLEMENTATION. METHOD constructor. ms_item = is_item. mo_files = io_files. - ENDMETHOD. + ENDMETHOD. "constructor METHOD lif_object_enho~serialize. @@ -340,7 +371,7 @@ CLASS lcl_object_enho_badi IMPLEMENTATION. io_xml->add( iv_name = 'IMPL' ig_data = lt_impl ). - ENDMETHOD. + ENDMETHOD. "lif_object_enho~serialize METHOD lif_object_enho~deserialize. @@ -387,10 +418,15 @@ CLASS lcl_object_enho_badi IMPLEMENTATION. lcx_exception=>raise( 'error deserializing ENHO badi' ). ENDTRY. - ENDMETHOD. + ENDMETHOD. "lif_object_enho~deserialize -ENDCLASS. +ENDCLASS. "lcl_object_enho_badi IMPLEMENTATION +*----------------------------------------------------------------------* +* CLASS lcl_object_enho_hook DEFINITION +*----------------------------------------------------------------------* +* +*----------------------------------------------------------------------* CLASS lcl_object_enho_hook DEFINITION. PUBLIC SECTION. METHODS: constructor @@ -421,14 +457,19 @@ CLASS lcl_object_enho_hook DEFINITION. CHANGING ct_impl TYPE enh_hook_impl_it RAISING lcx_exception. -ENDCLASS. +ENDCLASS. "lcl_object_enho_hook DEFINITION +*----------------------------------------------------------------------* +* CLASS lcl_object_enho_hook IMPLEMENTATION +*----------------------------------------------------------------------* +* +*----------------------------------------------------------------------* CLASS lcl_object_enho_hook IMPLEMENTATION. METHOD constructor. ms_item = is_item. mo_files = io_files. - ENDMETHOD. + ENDMETHOD. "constructor METHOD lif_object_enho~serialize. @@ -468,7 +509,7 @@ CLASS lcl_object_enho_hook IMPLEMENTATION. io_xml->add( iv_name = 'SPACES' ig_data = lt_spaces ). - ENDMETHOD. + ENDMETHOD. "lif_object_enho~serialize METHOD hook_impl_serialize. * handle normalization of XML values @@ -491,7 +532,7 @@ CLASS lcl_object_enho_hook IMPLEMENTATION. ENDWHILE. ENDLOOP. ENDLOOP. - ENDMETHOD. + ENDMETHOD. "hook_impl_serialize METHOD hook_impl_deserialize. @@ -515,7 +556,7 @@ CLASS lcl_object_enho_hook IMPLEMENTATION. ENDIF. ENDLOOP. - ENDMETHOD. + ENDMETHOD. "hook_impl_deserialize METHOD lif_object_enho~deserialize. @@ -583,10 +624,15 @@ CLASS lcl_object_enho_hook IMPLEMENTATION. lcx_exception=>raise( 'error deserializing ENHO hook' ). ENDTRY. - ENDMETHOD. + ENDMETHOD. "lif_object_enho~deserialize -ENDCLASS. +ENDCLASS. "lcl_object_enho_hook IMPLEMENTATION +*----------------------------------------------------------------------* +* CLASS lcl_object_enho_interface DEFINITION +*----------------------------------------------------------------------* +* +*----------------------------------------------------------------------* CLASS lcl_object_enho_interface DEFINITION. PUBLIC SECTION. @@ -601,14 +647,19 @@ CLASS lcl_object_enho_interface DEFINITION. DATA: ms_item TYPE ty_item, mo_files TYPE REF TO lcl_objects_files. -ENDCLASS. +ENDCLASS. "lcl_object_enho_interface DEFINITION +*----------------------------------------------------------------------* +* CLASS lcl_object_enho_interface IMPLEMENTATION +*----------------------------------------------------------------------* +* +*----------------------------------------------------------------------* CLASS lcl_object_enho_interface IMPLEMENTATION. METHOD constructor. ms_item = is_item. mo_files = io_files. - ENDMETHOD. + ENDMETHOD. "constructor METHOD lif_object_enho~serialize. @@ -634,7 +685,7 @@ CLASS lcl_object_enho_interface IMPLEMENTATION. io_files = mo_files io_clif = lo_enh_intf ). - ENDMETHOD. + ENDMETHOD. "lif_object_enho~serialize METHOD lif_object_enho~deserialize. @@ -679,10 +730,15 @@ CLASS lcl_object_enho_interface IMPLEMENTATION. lcx_exception=>raise( 'error deserializing ENHO interface' ). ENDTRY. - ENDMETHOD. + ENDMETHOD. "lif_object_enho~deserialize -ENDCLASS. +ENDCLASS. "lcl_object_enho_interface IMPLEMENTATION +*----------------------------------------------------------------------* +* CLASS lcl_object_enho_class DEFINITION +*----------------------------------------------------------------------* +* +*----------------------------------------------------------------------* CLASS lcl_object_enho_class DEFINITION. PUBLIC SECTION. @@ -697,14 +753,19 @@ CLASS lcl_object_enho_class DEFINITION. DATA: ms_item TYPE ty_item. DATA: mo_files TYPE REF TO lcl_objects_files. -ENDCLASS. +ENDCLASS. "lcl_object_enho_class DEFINITION +*----------------------------------------------------------------------* +* CLASS lcl_object_enho_class IMPLEMENTATION +*----------------------------------------------------------------------* +* +*----------------------------------------------------------------------* CLASS lcl_object_enho_class IMPLEMENTATION. METHOD constructor. ms_item = is_item. mo_files = io_files. - ENDMETHOD. + ENDMETHOD. "constructor METHOD lif_object_enho~serialize. @@ -746,7 +807,7 @@ CLASS lcl_object_enho_class IMPLEMENTATION. io_files = mo_files io_clif = lo_enh_class ). - ENDMETHOD. + ENDMETHOD. "lif_object_enho~serialize METHOD lif_object_enho~deserialize. @@ -809,9 +870,9 @@ CLASS lcl_object_enho_class IMPLEMENTATION. lcx_exception=>raise( 'error deserializing ENHO class' ). ENDTRY. - ENDMETHOD. + ENDMETHOD. "lif_object_enho~deserialize -ENDCLASS. +ENDCLASS. "lcl_object_enho_class IMPLEMENTATION *----------------------------------------------------------------------* * CLASS lcl_object_enho DEFINITION @@ -831,7 +892,7 @@ CLASS lcl_object_enho DEFINITION INHERITING FROM lcl_objects_super FINAL. IMPORTING iv_tool TYPE enhtooltype RETURNING - VALUE(ri_enho) TYPE REF TO lif_object_enho + value(ri_enho) TYPE REF TO lif_object_enho RAISING lcx_exception. @@ -854,7 +915,7 @@ CLASS lcl_object_enho IMPLEMENTATION. METHOD lif_object~changed_by. rv_user = c_user_unknown. " todo - ENDMETHOD. + ENDMETHOD. "lif_object~changed_by METHOD lif_object~exists. @@ -935,7 +996,7 @@ CLASS lcl_object_enho IMPLEMENTATION. lcx_exception=>raise( |Unsupported ENHO type { iv_tool }| ). ENDCASE. - ENDMETHOD. + ENDMETHOD. "factory METHOD lif_object~deserialize. @@ -992,6 +1053,6 @@ CLASS lcl_object_enho IMPLEMENTATION. METHOD lif_object~compare_to_remote_version. CREATE OBJECT ro_comparison_result TYPE lcl_null_comparison_result. - ENDMETHOD. + ENDMETHOD. "lif_object~compare_to_remote_version ENDCLASS. "lcl_object_enho IMPLEMENTATION \ No newline at end of file