Code: Alles auswählen.
  call function 'EQUI_HIERARCHY_READ'
    exporting
      equipment  = equipment
      level_down = '99'
    tables
      hier_tab   = equis.
Code: Alles auswählen.
DATA: lt_equi_all      LIKE TABLE OF v_equi.
DATA: ls_equi_all      LIKE v_equi.
DATA: lt_equi_all_tmp  LIKE TABLE OF v_equi.
DATA: ls_equi_all_tmp  LIKE v_equi.
DATA: lt_equi_return   LIKE TABLE OF v_equi.
DATA: ls_equi_return   LIKE v_equi.
* Alle unter dem Ausgangsequipment hängenden Equis in Tabelle sammeln
* --------------------------------------------------------------------
ls_equi_all_tmp-equnr = data_equi-equnr.
APPEND ls_equi_all_tmp TO lt_equi_all_tmp.
LOOP AT lt_equi_all_tmp INTO ls_equi_all_tmp.
  CALL FUNCTION 'EQUIPMENT_SUCCESSORS'
    EXPORTING
      equi_no               =  ls_equi_all_tmp-equnr
    TABLES
      equi_tab              = lt_equi_return
   EXCEPTIONS
     no_successors         = 1
     succ_read_error       = 2
     OTHERS                = 3.
* Rückgabe-Equis an Endergebnis- und TMP-Tabelle hängen
  LOOP AT lt_equi_return INTO ls_equi_return.
    APPEND ls_equi_return TO lt_equi_all_tmp.
    APPEND ls_equi_return TO lt_equi_all.
  ENDLOOP.
  CLEAR lt_equi_return.
ENDLOOP.
Hallo,babap hat geschrieben:Hallo,
Wenn's um die Ehre geht, macht man doch keinen rekursiven Funktionsbaustein. Dann gleich mit Abap-OO.
Gruß
babap