anchor.diff:          lcx_exception=>raise( 'error deserializing ENHO hook' ).
       ENDTRY.
   
  -  ENDMETHOD.                    "deserialize_hook
  -
  -  METHOD serialize_badi.
  -
  -    DATA: lo_badi_impl TYPE REF TO cl_enh_tool_badi_impl,
  -          lv_spot_name TYPE enhspotname,
  -          lv_shorttext TYPE string,
  -          lt_impl      TYPE enh_badi_impl_data_it.
  -
  -    FIELD-SYMBOLS: <ls_impl>   LIKE LINE OF lt_impl,
  -                   <ls_values> LIKE LINE OF <ls_impl>-filter_values,
  -                   <ls_filter> LIKE LINE OF <ls_impl>-filters.
  -
  -
  -    lo_badi_impl ?= ii_enh_tool.
  -
  -    lv_shorttext = lo_badi_impl->if_enh_object_docu~get_shorttext( ).
  -    lv_spot_name = lo_badi_impl->get_spot_name( ).
  -    lt_impl      = lo_badi_impl->get_implementations( ).
  -
  -    LOOP AT lt_impl ASSIGNING <ls_impl>.
  -* make sure the XML serialization does not dump, field type = N
  -      LOOP AT <ls_impl>-filter_values ASSIGNING <ls_values>.
  -        IF <ls_values>-filter_numeric_value1 CA space.
  -          CLEAR <ls_values>-filter_numeric_value1.
  -        ENDIF.
  -      ENDLOOP.
  -      LOOP AT <ls_impl>-filters ASSIGNING <ls_filter>.
  -        IF <ls_filter>-filter_numeric_value1 CA space.
  -          CLEAR <ls_filter>-filter_numeric_value1.
  -        ENDIF.
  -      ENDLOOP.
  -    ENDLOOP.
  -
  -    io_xml->add( iv_name = 'TOOL'
  -                 ig_data = iv_tool ).
  -    io_xml->add( ig_data = lv_shorttext
  -                 iv_name = 'SHORTTEXT' ).
  -    io_xml->add( iv_name = 'SPOT_NAME'
  -                 ig_data = lv_spot_name ).
  -    io_xml->add( iv_name = 'IMPL'
  -                 ig_data = lt_impl ).
  -
  -  ENDMETHOD.                    "serialize_badi
  -
  -  METHOD serialize_class.
  +  ENDMETHOD.
  +
  +ENDCLASS.
  +
  +CLASS lcl_object_enho_class DEFINITION.
  +
  +  PUBLIC SECTION.
  +    METHODS:
  +      constructor
  +        IMPORTING
  +          is_item  TYPE ty_item
  +          io_files TYPE REF TO lcl_objects_files.
  +    INTERFACES: lif_object_enho.
  +
  +  PRIVATE SECTION.
  +    DATA: ms_item TYPE ty_item.
  +    DATA: mo_files TYPE REF TO lcl_objects_files.
  +
  +ENDCLASS.
  +
  +CLASS lcl_object_enho_class IMPLEMENTATION.
  +
  +  METHOD constructor.
  +    ms_item = is_item.
  +    mo_files = io_files.
  +  ENDMETHOD.
  +
  +  METHOD lif_object_enho~serialize.
   
       DATA: lo_enh_class TYPE REF TO cl_enh_tool_class,
             lt_owr       TYPE enhmeth_tabkeys,
  
positive.code: 
      TYPES: ty_spaces_tt TYPE STANDARD TABLE OF ty_spaces WITH DEFAULT KEY.
  
      METHODS deserialize_badi
        IMPORTING io_xml     TYPE REF TO lcl_xml_input
                  iv_package TYPE devclass
        RAISING   lcx_exception.
      METHODS deserialize_hook
        IMPORTING io_xml     TYPE REF TO lcl_xml_input
                  iv_package TYPE devclass
        RAISING   lcx_exception.
      METHODS deserialize_class
        IMPORTING io_xml     TYPE REF TO lcl_xml_input
                  iv_package TYPE devclass
        RAISING   lcx_exception.
      METHODS hook_impl_deserialize
        IMPORTING it_spaces TYPE ty_spaces_tt
        CHANGING  ct_impl   TYPE enh_hook_impl_it
        RAISING   lcx_exception.
  
  
      METHODS serialize_badi
        IMPORTING io_xml      TYPE REF TO lcl_xml_output
                  iv_tool     TYPE enhtooltype
                  ii_enh_tool TYPE REF TO if_enh_tool
        RAISING   lcx_exception.
      METHODS serialize_hook
        IMPORTING io_xml      TYPE REF TO lcl_xml_output
                  iv_tool     TYPE enhtooltype
                  ii_enh_tool TYPE REF TO if_enh_tool
        RAISING   lcx_exception.
      METHODS serialize_class
        IMPORTING io_xml      TYPE REF TO lcl_xml_output
                  iv_tool     TYPE enhtooltype
                  ii_enh_tool TYPE REF TO if_enh_tool
        RAISING   lcx_exception.
      METHODS hook_impl_serialize
        EXPORTING et_spaces TYPE ty_spaces_tt
        CHANGING  ct_impl   TYPE enh_hook_impl_it
        RAISING   lcx_exception.
  
  ENDCLASS.                    "lcl_object_enho DEFINITION
  
  *----------------------------------------------------------------------*
  *       CLASS lcl_object_enho IMPLEMENTATION
  *----------------------------------------------------------------------*
  *
  *----------------------------------------------------------------------*
  CLASS lcl_object_enho IMPLEMENTATION.
  
    METHOD lif_object~has_changed_since.
      rv_changed = abap_true.
    ENDMETHOD.  "lif_object~has_changed_since
  
    METHOD lif_object~get_metadata.
      rs_metadata = get_metadata( ).
    ENDMETHOD.                    "lif_object~get_metadata
  
    METHOD lif_object~changed_by.
      rv_user = c_user_unknown. " todo
    ENDMETHOD.
  
    METHOD hook_impl_serialize.
  
negative.code: 
    ENDMETHOD.
  
    METHOD lif_object_enho~deserialize.
  
      DATA: lv_shorttext       TYPE string,
            lo_hook_impl       TYPE REF TO cl_enh_tool_hook_impl,
  