ERLEDIGT
NEIN
NEIN
ANTWORTEN
2
2
ZUGRIFFE
1227
1227
EMPFEHLEN
-
Hi
Ich hoffe das ist hier an der richtigen Stelle. Ich habe folgendes Problem, ich habe in ABAP eine rekursive Funktion geschrieben, nachdem sich z.B. die Funktion 3 mal selbst aufgerufen hat soll diese ab einer bestimmten Stelle abbrechen und auf die vorherige Funktion (oder aufgerufenen Ebene) zurück gehen. Habe es schon mit dem Befehl EXIT versucht der bricht aber nicht nur eine Ebene ab, sondern alle. Ein Schalter zu setzten klappt auch nicht da die Variable immer wieder überschrieben wird (da immer die gleiche Funktion und somit die gleichen Variablen), und somit nicht zu gebrauchen ist.
Weiß jemand ne Lösung?
-
Habs teilweise hinbekommen, indem ich eine Loop-schleife benutzt habe, und um die Funktion gelegt habe, jetzt wird mit exit die loopschleife beendet und die Funktion auch. Aber jetzt springt der immer zwei Ebenen zurück dabei. Keine Ahnung wieso.
Hier mal das Script zum besseren Verständnis.
Der Aufruf sieht genauso aus.
Code :1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44
FORM struktur using value(hierar2) like hierarchie. loop at tabelle1. * wenn noch nicht bearbeitet (flag ist bearbeitungsschalter) if tabelle1-flag NE '1'. kontrolltabelle-hierarchie = '9999'. *überprüfung ob eintrag schon einmal in ähnlicher art. read table kontrolltabelle with key sum = split_summenregeln-sum1. * Wenn noch nicht geschrieben if sy-subrc NE 0. write:/ ''. leerz = '0'. * Wenn Wert bereits vorhanden if kontrolltabelle-hierarchie NE '9999'. hierar2 = kontrolltabelle-hierarchie. endif. while leerz < hierar2. write: ' |--'. leerz = leerz + 1. endwhile. write: tabelle1-sum1. * schreiben der Einträge in die Kontrolltabelle move tabelle1-sum1 to kontrolltabelle-sum. move hierar2 to kontrolltabelle-hierarchie. append kontrolltabelle. loop at tabelle1 where sum1 = tabelle1-sum1 and sum2 = tabelle1-sum2. split_summenregeln-flag = '1'. modify tabelle1. endloop. * wenn eine Unterposition vorhanden. if tabelle1-sum2(1) NE ' '. hierar2 = hierar2 + 1. perform struktur using hierar2. else. exit. endif. endif. endif. endloop. ENDFORM.
Ich hoffe es kann jemand ABAP der mir auch helfen kann. Anonsten habt ihr mal ABAP gesehen, so nen Mist
.
-
Schade das keiner helfen konnte, habe es aber gerade selber geschafft.
Ähnliche Themen
-
Probleme mit rekursiver Funktion
Von xtramen01 im Forum PHPAntworten: 1Letzter Beitrag: 16.12.09, 16:25 -
Problem mit rekursiver Funktion: Array wird nicht zurückgegeben
Von tequito im Forum PHPAntworten: 4Letzter Beitrag: 04.05.08, 14:20 -
Problem mit rekursiver Funktion
Von visiondpc im Forum PHPAntworten: 4Letzter Beitrag: 09.09.07, 16:09 -
Probleme bei rekursiver Funktion für Menü
Von Klopfdreh im Forum Javascript & AjaxAntworten: 1Letzter Beitrag: 10.01.06, 14:21 -
Rechtehandling per rekursiver Funktion -> Prob
Von Morph im Forum PHPAntworten: 2Letzter Beitrag: 25.04.03, 02:31





Zitieren
Login




