anchor.diff:        line_number ASCENDING.
   
     ENDMETHOD.                    "read
  +
  +  METHOD add_fm_param_exporting.
  +
  +    rs_param-kind = abap_func_exporting.
  +    rs_param-name = name.
  +    GET REFERENCE OF value INTO rs_param-value.
  +
  +  ENDMETHOD.                    "add_fm_param_exporting
  +
  +  METHOD add_fm_param_tables.
  +
  +    rs_param-kind = abap_func_tables.
  +    rs_param-name = name.
  +    GET REFERENCE OF value INTO rs_param-value.
  +
  +  ENDMETHOD.                    "add_fm_param_tables
  +
  +  METHOD add_fm_exception.
  +
  +    rs_exception-name = name.
  +    rs_exception-value = value.
  +
  +  ENDMETHOD.                    "add_fm_exception
   
     METHOD lif_object~serialize.
   
  
positive.code:           ls_obj_old    TYPE svrs2_versionable_object.
  
      FIELD-SYMBOLS: <ls_component> LIKE LINE OF mt_components,
                     <ls_source>    LIKE LINE OF mt_sources.
  
  
      ls_key-component_name = is_controller-definition-component_name.
  
negative.code:     ls_obj_old-wdyc-cnode = is_controller-context_nodes.
      ls_obj_old-wdyc-cattr = is_controller-context_attributes.
      ls_obj_old-wdyc-cmapp = is_controller-context_mappings.
  *   Version 702 doesn't have these two attributes so we
  *   use them dynamically for downward compatibility
      ASSIGN COMPONENT 'CONTROLLER_EXCEPTIONS' OF STRUCTURE is_controller TO <lt_ctrl_exceptions>.
      IF sy-subrc = 0.
        ASSIGN COMPONENT 'EXCP' OF STRUCTURE ls_obj_old-wdyc TO <excp>.
        IF sy-subrc = 0.
          <excp> = <lt_ctrl_exceptions>.
        ENDIF.
      ENDIF.
      ASSIGN COMPONENT 'CONTROLLER_EXCEPTIONS_TEXTS' OF STRUCTURE is_controller TO <lt_ctrl_exception_texts>.
      IF sy-subrc = 0.
        ASSIGN COMPONENT 'EXCPT' OF STRUCTURE ls_obj_old-wdyc TO <excpt>.
        IF sy-subrc = 0.
          <excpt> = <lt_ctrl_exception_texts>.
        ENDIF.
      ENDIF.
      ls_obj_old-wdyc-fgrps = is_controller-fieldgroups.
  
      CALL FUNCTION 'SVRS_MAKE_OBJECT_DELTA'
  