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 / 2010 / 271 / 425 ) »
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.
2379
Views
Hostorie - Lokale Daten
von ICO-Man » 26.04.2007 16:02 • Verfasst in Basis
0
Antw.
1863
Views
Optionen - Lokale Daten - Verzeichnis für Dokumente
von MartinZapf » 25.11.2016 08:13 • Verfasst in Sonstige Module
2
Antw.
3458
Views
Form / Endform in Layout funktioniert nicht
von Kona » 02.05.2006 11:30 • Verfasst in Web-Dynpro, BSP + BHTML
7
Antw.
3265
Views
Lokale Tabellen.
von Dzhan » 24.06.2008 10:22 • Verfasst in ABAP® für Anfänger
1
Antw.
1515
Views
Lokale Dateien durchsuchen
von Migges » 24.07.2006 10:44 • Verfasst in ABAP® Core

Ü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

LSMW-Problem
Gestern von mazu gelöst 5 / 921
ATC Finding in Smartforms
vor 5 Tagen von sap_enthusiast 2 / 902

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

LSMW-Problem
Gestern von mazu gelöst 5 / 921
ATC Finding in Smartforms
vor 5 Tagen von sap_enthusiast 2 / 902

Unbeantwortete Forenbeiträge

SFP/SEGW - Fehler beim Rendering
letzen Monat von Manfred K. 1 / 82816
Benutzerdefinierte Felder PSP
January 2026 von Rabea1103 1 / 135987