Page 1 of 1

clear auf Standardtabellen

PostPosted: Mon Nov 25, 2013 10:44 am
by Artur3189
Hallo zusammen,
die clear-Anweisung ist ja eigentlich nur für interne Tabellen vorgesehen.
Ist diese auch für Standard-Tabellen einsetztbar / sinnvoll?

Gruss,
Michi

Re: clear auf Standardtabellen

PostPosted: Sun Dec 01, 2013 7:19 pm
by Alessio37
Hallo,

clear geht doch nur auf die Kopfzeile einer Internen-Tabelle.

Grüße
Alex

Re: clear auf Standardtabellen

PostPosted: Wed Dec 25, 2013 7:51 pm
by Angela1614
Kopfzeilen gibt es nur bei eben so definierten Tabellen, also z.B. als OCCURS 0 WITH HEADER LINE.
Bei Standardtabellen ohne Kopfzeilen geht Clear auf die Tabelle.
Und CLEAR TABNAME[] (also mit eckigen Klammern) haat die selbe Wirkung wie REFRESH TABNAME.

Zur Ausgangsfrage: möchtest Du Tabellen auf der Datenbank löschen? Das geht nicht mit CLEAR aber mit DELETE.

Re: clear auf Standardtabellen

PostPosted: Fri Feb 14, 2014 1:50 pm
by Tron
Moin.
Michi hat geschrieben:... die clear-Anweisung ist ja eigentlich nur für interne Tabellen vorgesehen...

das stimmt so nicht ganz !
Um den Wert einer beliebigen Variablen f auf den typgerechten Initialwert zu setzen, verwendet man die Anweisung:
CLEAR f.
Es ist zwischen folgenden Datentypen zu unterscheiden:
· elementare ABAP-Typen
Die CLEAR-Anweisung setzt die Werte von elementaren Variablen auf die Initialwerte, die in der Tabelle unter Eingebaute ABAP-Typen aufgeführt sind und nicht auf den Startwert, der über den VALUE-Parameter der Anweisung DATA gesetzt wurde.
· Referenzen
Die CLEAR-Anweisung setzt den Inhalt einer Referenzvariablen auf ihren Initialwert, bei dem die Referenz auf kein Objekt zeigt.
· Strukturen
Die Anweisung CLEAR setzt die elementaren Komponenten einer Struktur auf ihre typgerechten Initialwerte zurück.
· interne Tabellen
Die Anweisung CLEAR löscht sämtliche Zeilen einer internen Tabelle (siehe auch Interne Tabellen initialisieren).
Konstanten können natürlich nicht mit der Anweisung CLEAR zurückgesetzt werden.


lg Jens