Rheinwerk < openbook > SAP-Wissen aus erster Hand
SAP-Wissen aus erster Hand.
 
Inhaltsverzeichnis
Vorwort zur vierten Auflage
1 ABAP und die ersten Schritte im SAP-System
2 ABAP Dictionary
3 Programmieren im ABAP Editor
4 Felder und Berechnungen
5 Modifikation von Zeichenketten
6 Debugging von Programmen
7 Modifikation von transparenten Datenbanktabellen
8 Rechnen mit Datum und Zeit, Mengen und Währungen
9 Mit Daten in einer Datenbanktabelle arbeiten
10 Programmablaufsteuerung und logische Ausdrücke
11 Selektionsbildschirme
12 Interne Tabellen
13 Modularisierung von Programmen
14 Weiterführende Themen
A Icons auf einen Blick
B Abkürzungsverzeichnis
C Die Autoren
Stichwortverzeichnis

Download:
- Beispielprogramme, ca. 23 KB

Buch bestellen
Ihre Meinung?

Spacer
<< zurück
Einstieg in ABAP von Karl-Heinz Kühnhauser, Thorsten Franz
Buch: Einstieg in ABAP

Einstieg in ABAP
Pfeil 12 Interne Tabellen
Pfeil 12.1 Sinn und Zweck interner Tabellen
Pfeil 12.2 Aufbau und Arten von internen Tabellen
Pfeil 12.3 Interne Standardtabelle anlegen
Pfeil 12.3.1 Objektorientierte Schreibweise mit Workarea
Pfeil 12.3.2 Obsolete Schreibweise mit Kopfzeile
Pfeil 12.4 Interne Standardtabelle füllen
Pfeil 12.4.1 Interne Tabelle mit Workarea füllen
Pfeil 12.4.2 Interne Tabelle mit Kopfzeile füllen
Pfeil 12.5 Interne Tabelle zeilenweise verarbeiten
Pfeil 12.5.1 Interne Tabelle mit Workarea verarbeiten
Pfeil 12.5.2 Interne Tabelle mit Kopfzeile verarbeiten
Pfeil 12.6 Inhalte von internen Tabellen löschen
Pfeil 12.6.1 Workareas und interne Tabellen mit Workarea löschen
Pfeil 12.6.2 Interne Tabellen mit Kopfzeile löschen
Pfeil 12.7 Codebeispiel zu ITAB mit Workarea
Pfeil 12.8 Codebeispiel zu ITAB mit Kopfzeile
 
Zum Seitenanfang

12.6    Inhalte von internen Tabellen löschen Zur vorigen ÜberschriftZur nächsten Überschrift

Je nach betriebswirtschaftlicher Aufgabenstellung und der Programmablaufsteuerung könnte sich auch noch ein weiteres kleines Problem ergeben – insbesondere dann, wenn das Füllen und Verarbeiten einer internen Tabelle in einer Schleife steckt: Die Inhalte der Workarea und des Tabellenrumpfes bleiben im Programm so lange erhalten, bis sie überschrieben werden.

Bei bestimmten Verarbeitungen würde dies aber zu unsinnigen Ergebnissen führen. Falls es erforderlich ist, dass der neue Verarbeitungsschritt mit einer leeren internen Tabelle startet, müssen Arbeitsbereiche und Tabellenrumpf gelöscht bzw. initialisiert werden. Hierzu gibt es mehrere Möglichkeiten und Anweisungen, wobei die Unterscheidung zwischen internen Tabellen mit Kopfzeile und internen Tabellen ohne Kopfzeile von zentraler Bedeutung ist.

 
Zum Seitenanfang

12.6.1    Workareas und interne Tabellen mit Workarea löschen Zur vorigen ÜberschriftZur nächsten Überschrift

Interne Tabellen mit Workarea werden durch die Anweisung CLEAR gelöscht. So bewirkt die folgende Anweisung das Löschen der Rumpfzeilen:

CLEAR itab01.

Die Anweisung CLEAR löscht den Tabellenrumpf komplett. Alle alten Zeilen sind nicht mehr vorhanden. Die Workarea für diese Tabelle muss gesondert initialisiert werden, und zwar mit folgender Anweisung:

CLEAR wa_itab01.

Die Anweisung REFRESH bewirkt im Umfeld von ABAP Objects genau das Gleiche und gilt daher als obsolet. Die Workarea der internen Tabelle bleibt auch von der Anweisung REFRESH unberührt und muss mit einem gesonderten CLEAR-Kommando initialisiert werden. Die Zeilen der internen Tabelle ITAB01 und ihre Workarea WA_ITAB01 werden mit zwei Anweisungen gelöscht bzw. initialisiert:

CLEAR itab01.
CLEAR wa_itab01.

Diese Anweisungen können auch komfortabel als Kettensatz formuliert werden:

CLEAR: itab01, wa_itab01.

Als Alternative zur CLEAR-Anweisung bietet sich eventuell die FREE-Anweisung an:

FREE itab01.

Während bei CLEAR die initiale Speicheranforderung reserviert bleibt, gibt FREE den gesamten durch die Tabelle beanspruchten Speicherplatz für andere Anforderungen frei. Die interne Tabelle kann zwar jederzeit erneut angesprochen werden, nur muss dann vom System erst wieder der Speicherbereich reserviert werden, was Performance kosten könnte. Selbstverständlich bleibt auch bei der FREE-Anweisung die Workarea der Tabelle unberührt.

 
Zum Seitenanfang

12.6.2    Interne Tabellen mit Kopfzeile löschen Zur vorigen ÜberschriftZur nächsten Überschrift

Haben Sie eine interne Tabelle mit Kopfzeile, beispielsweise die Tabelle ITAB01, können Sie mit folgender Anweisung die Kopfzeile der internen Tabelle initialisieren:

CLEAR itab01.

Die alten Feldinhalte werden gelöscht und die Felder auf ihren Initialwert gesetzt. Die Einträge im Tabellenrumpf bleiben von dieser Anweisung allerdings unberührt.

Möchten Sie mit der CLEAR-Anweisung nicht nur die Kopfzeile, sondern auch die Rumpfzeilen der internen Tabelle von alten Inhalten befreien, müssen Sie zwei eckige Klammern hinter den Namen setzen:

CLEAR itab01[].
[»]  Rumpfzeilen löschen

Beachten Sie, dass die Rumpfzeilen mit dieser Anweisung nicht initialisiert, sondern tatsächlich gelöscht werden.

Die Anweisung REFRESH wirkt bei beiden internen Tabellenarten gleich und löscht die Rumpfzeilen der Tabelle. Möchten Sie beispielsweise die Rumpfzeilen der internen Tabelle ITAB02 löschen, schreiben Sie:

REFRESH itab02.

Möchten Sie sowohl die Kopfzeile initialisieren als auch den Tabellenrumpf löschen, benötigen Sie zwei Anweisungen, beispielsweise:

CLEAR itab02.
REFRESH itab02.

Auch bei Tabellen mit Kopfzeile wird mit folgender Anweisung nicht nur der Tabellenrumpf gelöscht, sondern auch der reservierte Speicherbereich für andere Anforderungen freigegeben:

FREE itab03.

Wie die Anweisungen CLEAR und REFRESH wirkt auch die Anweisung FREE bei beiden internen Tabellenarten gleich; sie löscht die Zeilen des Tabellenrumpfes und gibt den reservierten Speicherplatz frei. Sie tangiert den Inhalt der Kopfzeile nicht. Für das Initialisieren der Workarea wird wiederum zusätzlich die CLEAR-Anweisung benötigt.

Die Kopfzeile der internen Tabelle wird von der FREE-Anweisung nicht tangiert. Als Alternative für CLEAR und REFRESH könnten Sie schreiben:

CLEAR itab03.
FREE itab03.

 


Ihre Meinung?

Wie hat Ihnen das Openbook gefallen? Wir freuen uns immer über Ihre Rückmeldung. Schreiben Sie uns gerne Ihr Feedback als E-Mail an kommunikation@rheinwerk-verlag.de

<< zurück
 Zum Rheinwerk-Shop
Zum Rheinwerk-Shop: Einstieg in ABAP Einstieg in ABAP
Jetzt Buch bestellen

 Buchempfehlungen
Zum Rheinwerk-Shop: SAP – Der technische Einstieg
SAP – Der technische Einstieg


Zum Rheinwerk-Shop: ABAP Objects – Das umfassende Handbuch
ABAP Objects – Das umfassende Handbuch


Zum Rheinwerk-Shop: ABAP-Entwicklung für SAP S/4HANA
ABAP-Entwicklung für SAP S/4HANA


Zum Rheinwerk-Shop: Kundeneigene Erweiterungen mit ABAP
Kundeneigene Erweiterungen mit ABAP


Zum Rheinwerk-Shop: Schrödinger programmiert ABAP
Schrödinger programmiert ABAP


Zum Rheinwerk-Shop: Migration nach SAP S/4HANA
Migration nach SAP S/4HANA


Zum Rheinwerk-Shop: Design Thinking mit SAP
Design Thinking mit SAP


 Lieferung
Versandkostenfrei bestellen in Deutschland, Österreich und in die Schweiz
InfoInfo

 
 


Copyright © Rheinwerk Verlag GmbH 2020
Für Ihren privaten Gebrauch dürfen Sie die Online-Version natürlich ausdrucken. Ansonsten unterliegt das <openbook> denselben Bestimmungen, wie die gebundene Ausgabe: Das Werk einschließlich aller seiner Teile ist urheberrechtlich geschützt.
Alle Rechte vorbehalten einschließlich der Vervielfältigung, Übersetzung, Mikroverfilmung sowie Einspeicherung und Verarbeitung in elektronischen Systemen.

 
[Rheinwerk]

Rheinwerk Verlag GmbH, Rheinwerkallee 4, 53227 Bonn, Tel.: 0228.42150.0, Fax 0228.42150.77, service@rheinwerk-verlag.de

Cookie-Einstellungen ändern