ENDFORM - werden lokale Daten verworfen?

Die Frage ist als "gelöst" markiert. Den entsprechend Beitrag findest du hier.

Getting started ... Alles für einen gelungenen Start.
2 Beiträge • Seite 1 von 1
2 Beiträge Seite 1 von 1

ENDFORM - werden lokale Daten verworfen?

Beitrag von DeathAndPain (Top Expert / 1939 / 257 / 412 ) »
Hallo zusammen,

eine Frage beschäftigt mich, auf die hier vielleicht jemand eine Antwort weiß. Bei FORMs ist es ja (im Gegensatz etwa zu Funktionsbausteinen und ich glaube, auch zu Methoden) so, dass alle lokal mit DATA definierten Variablen bei jedem Aufruf der FORM initial sind (wer das nicht will, nimmt STATICS statt DATA). Was ich mich jetzt frage: Bedeutet das, dass die FORM an ihrem Ende auch den Speicherplatz aller lokalen Variablen sofort wieder freigibt, oder bleibt dieser trotzdem bis zum Programmende belegt? Bei internen Tabellen ist es ja z.B. so, dass das Löschen einzelner Zeilen nicht dazu führt, dass ABAP Speicher freigibt. Will ich den Speicher schon vor Programmende freigeben, dann muss ich explizit den FREE-Befehl nutzen.

Um meine Frage auf den Punkt zu bringen: Wenn ich in einer Form eine dicke interne Hilfstabelle anlege, die die Form für ihre Berechnungen braucht, die aber nach dem Verlassen der Form keine Bedeutung mehr hat, macht es dann Sinn, als letzten Befehl in der Form FREE HILFSTABELLE zu schreiben, oder macht der Interpreter das schon von sich aus?

gesponsert
Stellenangebote auf ABAPforum.com schalten
kostenfrei für Ausbildungsberufe und Werksstudenten


Re: ENDFORM - werden lokale Daten verworfen?

Beitrag von lausek (ForumUser / 64 / 2 / 20 ) »
Hi,

also in der Regel ist es ja so, dass lokale Daten auf dem Stack abgelegt werden. Willst du eine Tabelle aus dem lokalen Kontext rausbekommen, musst du sie irgendwie auf den Heap kopieren. Ich hatte schon mehrmals den Fall, dass Referenzen auf lokale Tabellen nach dem Verlassen auf bereinigten Speicher zeigten, weil die Umgebung irgendwie doch nicht so clever war wie vermutet.

Kurz: Nein, um diese Form der Speicherverwaltung sollte man sich in ABAP keine Sorgen mehr machen

Kannst du auch damit mal testen (o_ptr zeigt auf "FREED STACK"):

Code: Alles auswählen.

TYPES t_kna1_tt TYPE STANDARD TABLE OF kna1 WITH EMPTY KEY.

DATA o_ptr TYPE REF TO t_kna1_tt.

PERFORM test CHANGING o_ptr.

FORM test CHANGING co_ptr TYPE REF TO t_kna1_tt.

  DATA li_kna1 TYPE t_kna1_tt.

  SELECT *
    FROM kna1
    INTO TABLE li_kna1
    UP TO 10 ROWS.

  GET REFERENCE OF li_kna1 INTO co_ptr.

ENDFORM.

Folgende Benutzer bedankten sich beim Autor lausek für den Beitrag:
DeathAndPain


Seite 1 von 1

Vergleichbare Themen

2
Antw.
1975
Views
Hostorie - Lokale Daten
von ICO-Man » 26.04.2007 16:02 • Verfasst in Basis
0
Antw.
1359
Views
Optionen - Lokale Daten - Verzeichnis für Dokumente
von MartinZapf » 25.11.2016 08:13 • Verfasst in Sonstige Module
3
Antw.
2015
Views
Auf "Verzeichnis für lokale Daten" zugreifen
von rueschenbaum » 01.04.2006 12:19 • Verfasst in ABAP® Core
2
Antw.
1965
Views
Form / Endform in Layout funktioniert nicht
von Kona » 02.05.2006 11:30 • Verfasst in Web-Dynpro, BSP + BHTML
7
Antw.
2636
Views
Lokale Tabellen.
von Dzhan » 24.06.2008 10:22 • Verfasst in ABAP® für Anfänger

Über diesen Beitrag


Die Frage ist als "gelöst" markiert. Den entsprechend Beitrag findest du hier.

Unterstütze die Community und teile den Beitrag für mehr Leser und Austausch

Aktuelle Forenbeiträge

Zeilenumbrüche ersetzen
vor 6 Minuten von ralf.wenzel 3 / 13
Dialog-Container mit Toolbar/Status
vor 19 Stunden von tar gelöst 19 / 2084
SAP Trial Version für SAP Fiori
Gestern von tar 2 / 1444

Newsletter Anmeldung

Keine Beiträge verpassen! Wöchentlich versenden wir lesenwerte Beiträge aus unserer Community.
Die letzte Ausgabe findest du hier.
Details zum Versandverfahren und zu Ihren Widerrufsmöglichkeiten findest du in unserer Datenschutzerklärung.

Aktuelle Forenbeiträge

Zeilenumbrüche ersetzen
vor 6 Minuten von ralf.wenzel 3 / 13
Dialog-Container mit Toolbar/Status
vor 19 Stunden von tar gelöst 19 / 2084
SAP Trial Version für SAP Fiori
Gestern von tar 2 / 1444

Unbeantwortete Forenbeiträge

Daten an Tabelle binden
Gestern von Bright4.5 1 / 504
aRFC im OO-Kontext
vor 4 Wochen von ralf.wenzel 1 / 2143
Hilfe bei SWEC/SWE2
letzen Monat von retsch 1 / 8738