anchor.diff:        CATCH cx_enh_not_found.
           lcx_exception=>raise( |error serializing ENHO wdyn { ms_item-obj_name }| ).
       ENDTRY.
  -
  -*    DATA: lo_wdyconf  TYPE REF TO cl_wdr_cfg_enhancement,
  -*          lt_data     TYPE wdy_cfg_expl_data_tab,
  -*          ls_outline  TYPE wdy_cfg_outline_data,
  -*          ls_obj      TYPE wdy_config_key,
  -*          li_document TYPE REF TO if_ixml_document,
  -*          li_element  TYPE REF TO if_ixml_element.
  -*
  -*
  -*    lo_wdyconf ?= ii_enh_tool.
  -*
  -*    ls_obj = lo_wdyconf->get_original_object( ).
  -*    io_xml->add( iv_name = 'TOOL'
  -*                 ig_data = ii_enh_tool->get_tool( ) ).
  -*    io_xml->add( iv_name = 'ORIGINAL_OBJECT'
  -*                 ig_data = ls_obj ).
  -*
  -** 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.
  -*
  -*    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.
  -*
  -*    io_xml->add_xml( iv_name = 'ENHANCEMENT_DATA'
  -*                     ii_xml = li_element ).
   
     ENDMETHOD.                    "lif_object_enho~serialize
   
  
positive.code:         lcx_exception=>raise( |error deserializing ENHO wdyn { ms_item-obj_name }| ).
      ENDTRY.
  
  
  *    DATA: lv_enhname TYPE enhname,
  *          lo_wdyconf TYPE REF TO cl_wdr_cfg_enhancement,
  *          li_tool    TYPE REF TO if_enh_tool,
  *          ls_obj     TYPE wdy_config_key,
  *          lv_package TYPE devclass.
  *
  *
  *    io_xml->read( EXPORTING iv_name = 'ORIGINAL_OBJECT'
  *                  CHANGING cg_data  = ls_obj ).
  *
  *    lv_enhname = ms_item-obj_name.
  *    lv_package = iv_package.
  *    TRY.
  *        cl_enh_factory=>create_enhancement(
  *          EXPORTING
  *            enhname     = lv_enhname
  *            enhtype     = ''
  *            enhtooltype = cl_wdr_cfg_enhancement=>tooltype
  *          IMPORTING
  *            enhancement = li_tool
  *          CHANGING
  *            devclass    = lv_package ).
  *        lo_wdyconf ?= li_tool.
  *
  ** todo
  ** io_xml->read_xml()
  ** CL_WDR_CFG_PERSISTENCE_UTILS=>COMP_XML_TO_TABLES( )
  ** lo_wdyconf->set_enhancement_data( )
  *        ASSERT 0 = 1.
  *
  *        lo_wdyconf->if_enh_object~save( ).
  *        lo_wdyconf->if_enh_object~unlock( ).
  *      CATCH cx_enh_root.
  *        lcx_exception=>raise( 'error deserializing ENHO wdyconf' ).
  *    ENDTRY.
  
    ENDMETHOD.                    "lif_object_enho~deserialize
  
    METHOD lif_object_enho~serialize.
  
negative.code: 
          lo_wdyn->set_component_data( ls_enh_data-component_data ).
  
          LOOP AT ls_enh_data-controller_data ASSIGNING <controller_data>.
  
            lo_wdyn->set_controller_data( p_controller_name = <controller_data>-controller_name
                                          p_enh_data        = <controller_data> ).
  
          ENDLOOP.
  
          LOOP AT ls_enh_data-view_data ASSIGNING <view_data>.
  
            lo_wdyn->set_view_data( p_view_name = <view_data>-view_name
                                    p_enh_data  = <view_data> ).
  
          ENDLOOP.
  
  