anchor.diff:        _raise 'error from RS_CORR_INSERT'.
       ENDIF.
   
  -    READ TABLE it_tpool INTO ls_tpool WITH KEY id = 'R'.
  -    ASSERT sy-subrc = 0.
  +    READ TABLE it_tpool INTO ls_tpool WITH KEY id = 'R'.  "#EC CI_SUBRC
       lv_title = ls_tpool-entry.
   
       SELECT SINGLE progname FROM reposrc INTO lv_progname
  
positive.code: 
    ENDMETHOD.                    "delete
  
    METHOD resolve_tabl.
  * this will make sure the deletion sequence of structures/tables work
  * in case they have dependencies with .INCLUDE
  
      TYPES: BEGIN OF ty_edge,
               from TYPE sobj_name,
               to   TYPE sobj_name,
             END OF ty_edge.
  
      DATA: lt_nodes       TYPE TABLE OF sobj_name,
            lt_edges       TYPE TABLE OF ty_edge,
            lt_findstrings TYPE TABLE OF rsfind,
            lv_plus        TYPE i VALUE 0,
            lv_index       TYPE i,
            lv_before      TYPE i,
            lt_founds      TYPE TABLE OF rsfindlst,
            lt_scope       TYPE STANDARD TABLE OF seu_obj.
  
      FIELD-SYMBOLS: <ls_tadir> LIKE LINE OF ct_tadir,
                     <ls_edge>  LIKE LINE OF lt_edges,
                     <ls_found> LIKE LINE OF lt_founds,
                     <lv_node>  LIKE LINE OF lt_nodes.
  
  
  * build nodes
      LOOP AT ct_tadir ASSIGNING <ls_tadir> WHERE object = 'TABL'.
        APPEND <ls_tadir>-obj_name TO lt_nodes.
      ENDLOOP.
  
      APPEND 'TABL' TO lt_scope.
      APPEND 'STRU' TO lt_scope.
  
  * build edges
      LOOP AT lt_nodes ASSIGNING <lv_node>.
  
        CLEAR lt_findstrings.
        APPEND <lv_node> TO lt_findstrings.
  
        CALL FUNCTION 'RS_EU_CROSSREF'
          EXPORTING
            i_find_obj_cls           = 'TABL'
          TABLES
            i_findstrings            = lt_findstrings
            o_founds                 = lt_founds
  
negative.code: 
        LOOP AT lt_founds ASSIGNING <ls_found>.
          APPEND INITIAL LINE TO lt_edges ASSIGNING <ls_edge>.
          <ls_edge>-from = <ls_node>.
  
          <ls_edge>-to-obj_name   = <ls_found>-object.
          CASE <ls_found>-object_cls.
            WHEN 'DS'.
              <ls_edge>-to-obj_type = 'TABL'.
            WHEN 'DA'.
              <ls_edge>-to-obj_type = 'TTYP'.
            WHEN OTHERS.
              _raise 'resolve_ddic, unknown object_cls'.
          ENDCASE.
        ENDLOOP.
  
      ENDLOOP.
  
      DO.
        lv_before = lines( lt_nodes ).
        LOOP AT lt_nodes ASSIGNING <ls_node>.
          lv_index = sy-tabix.
          READ TABLE lt_edges WITH KEY
            from-obj_name = <ls_node>-obj_name
            from-obj_type = <ls_node>-obj_type
            TRANSPORTING NO FIELDS.
          IF sy-subrc <> 0.
            LOOP AT ct_tadir ASSIGNING <ls_tadir>
                WHERE obj_name = <ls_node>-obj_name
                AND object = <ls_node>-obj_type.
              <ls_tadir>-korrnum = <ls_tadir>-korrnum + lv_plus.
              CONDENSE <ls_tadir>-korrnum.
            ENDLOOP.
            DELETE lt_edges
              WHERE to-obj_name = <ls_node>-obj_name
              AND to-obj_type = <ls_node>-obj_type.
            DELETE lt_nodes INDEX lv_index.
            EXIT. " make sure the sequence is fixed
          ENDIF.
  