anchor.diff:  
     METHOD read_controller.
   
  -    DATA: lt_components TYPE TABLE OF wdy_ctlr_compo_vrs,
  -          lt_sources    TYPE TABLE OF wdy_ctlr_compo_source_vrs,
  -          lt_definition TYPE TABLE OF wdy_controller,
  -          lt_psmodilog  TYPE TABLE OF smodilog,
  +    DATA: lt_components   TYPE TABLE OF wdy_ctlr_compo_vrs,
  +          lt_sources      TYPE TABLE OF wdy_ctlr_compo_source_vrs,
  +          lt_definition   TYPE TABLE OF wdy_controller,
  +          lt_psmodilog    TYPE TABLE OF smodilog,
             lt_psmodisrc    TYPE TABLE OF smodisrc,
             lt_fm_param     TYPE abap_func_parmbind_tab,
             lt_fm_exception TYPE abap_func_excpbind_tab.
  
positive.code:                                    value    = is_key ) INTO TABLE lt_fm_param.
      INSERT add_fm_param_exporting( name     = 'GET_ALL_TRANSLATIONS'
                                     value    = abap_false ) INTO TABLE lt_fm_param.
      INSERT add_fm_param_tables( name     = 'DEFINITION'
                                  value    = lt_definition ) INTO TABLE lt_fm_param.
      INSERT add_fm_param_tables( name     = 'DESCRIPTIONS'
                                  value    = rs_controller-descriptions ) INTO TABLE lt_fm_param.
      INSERT add_fm_param_tables( name     = 'CONTROLLER_USAGES'
                                  value    = rs_controller-controller_usages ) INTO TABLE lt_fm_param.
      INSERT add_fm_param_tables( name     = 'CONTROLLER_COMPONENTS'
                                  value    = lt_components ) INTO TABLE lt_fm_param.
      INSERT add_fm_param_tables( name     = 'CONTROLLER_COMPONENT_SOURCES'
                                  value    = lt_sources ) INTO TABLE lt_fm_param.
      INSERT add_fm_param_tables( name     = 'CONTROLLER_COMPONENT_TEXTS'
                                  value    = rs_controller-controller_component_texts ) INTO TABLE lt_fm_param.
      INSERT add_fm_param_tables( name     = 'CONTROLLER_PARAMETERS'
                                  value    = rs_controller-controller_parameters ) INTO TABLE lt_fm_param.
      INSERT add_fm_param_tables( name     = 'CONTROLLER_PARAMETER_TEXTS'
                                  value    = rs_controller-controller_parameter_texts ) INTO TABLE lt_fm_param.
      INSERT add_fm_param_tables( name     = 'CONTEXT_NODES'
                                  value    = rs_controller-context_nodes ) INTO TABLE lt_fm_param.
      INSERT add_fm_param_tables( name     = 'CONTEXT_ATTRIBUTES'
                                  value    = rs_controller-context_attributes ) INTO TABLE lt_fm_param.
      INSERT add_fm_param_tables( name     = 'CONTEXT_MAPPINGS'
                                  value    = rs_controller-context_mappings ) INTO TABLE lt_fm_param.
      INSERT add_fm_param_tables( name     = 'FIELDGROUPS'
                                  value    = rs_controller-fieldgroups ) INTO TABLE lt_fm_param.
  *   Version 702 doesn't have these two attributes so we
  *   use them dynamically for downward compatibility
      ASSIGN COMPONENT 'CONTROLLER_EXCEPTIONS' OF STRUCTURE rs_controller TO <lt_ctrl_exceptions>.
      IF sy-subrc = 0.
        INSERT add_fm_param_tables( name     = 'CONTROLLER_EXCEPTIONS'
                                    value    = <lt_ctrl_exceptions> ) INTO TABLE lt_fm_param.
      ENDIF.
      ASSIGN COMPONENT 'CONTROLLER_EXCEPTION_TEXTS' OF STRUCTURE rs_controller TO <lt_ctrl_exception_texts>.
      IF sy-subrc = 0.
        INSERT add_fm_param_tables( name     = 'CONTROLLER_EXCEPTION_TEXTS'
                                    value    = <lt_ctrl_exception_texts> ) INTO TABLE lt_fm_param.
      ENDIF.
      INSERT add_fm_param_tables( name     = 'PSMODILOG'
                                  value    = lt_psmodilog ) INTO TABLE lt_fm_param.
      INSERT add_fm_param_tables( name     = 'PSMODISRC'
                                  value    = lt_psmodisrc ) INTO TABLE lt_fm_param.
  
  *   FM exceptions
      INSERT add_fm_exception( name = 'NOT_EXISTING'
  
negative.code:       add_fm_param_exporting
          IMPORTING name            TYPE string
                    value           TYPE any
          RETURNING VALUE(rs_param) TYPE abap_func_parmbind,
        add_fm_param_tables
          IMPORTING name            TYPE string
          CHANGING  value           TYPE ANY TABLE
          RETURNING VALUE(rs_param) TYPE abap_func_parmbind,
        add_fm_exception
          IMPORTING name                TYPE string
                    value               TYPE i
          RETURNING VALUE(rs_exception) TYPE abap_func_excpbind.
  
  ENDCLASS.                    "lcl_object_wdyn DEFINITION
  
  