Code: Alles auswählen.
DELETE * FROM DBTAB
Ja, das ist wohl wahr, aber ich finde auch in der Hilfe kein Mittel ein standardisiertes SQL Statement wie "DELETE * FROM DBTAB" oder "DELETE FROM DBTAB" in SAPs eigene SQL-Welt OpenSQL zu überführen.DeathGuardian hat geschrieben:Der Delete löscht ganze Zeillen, sprich da musst keine Felder selectieren, sprich es steht nix zwischen DELETE und FROM.
Oder einfach mal F1 auf Delete.
Du stehst aber auf einem gewaltigen Schlauch!Timo7 hat geschrieben:Wie gesagt, die Hilfe habe ich schon gelesen und da ich nicht glaube, dass es so ein einfaches SQL-Statement in der ABAP-Welt nicht gibt, muss ich wohl grade auf dem Schlauch stehen?!
DELETE FROM dbtab.
Zusätze:
1. ... WHERE condition
2. ... CLIENT SPECIFIED
3. ... CONNECTION con
Wirkung
Löschen von Zeilen einer Datenbanktabelle. Ist keine WHERE-Klausel angegeben, so werden alle Zeilen (im aktuellen Mandanten) gelöscht. Bei Angabe einer WHERE-Klausel werden alle Zeilen gelöscht, die der WHERE-Bedingung condition genügen.
Das Systemfeld SY-DBCNT enthält nach Ausführung der Anweisung die Anzahl gelöschter Zeilen.
Der Rückgabewert wird folgendermaßen gesetzt:
SY-SUBRC = 0:
Es wurde mindestens eine Zeile gelöscht.
SY-SUBRC = 4:
Es wurde keine Zeile gelöscht, da keine Zeile selektiert wurde.
Beispiel
Löschen aller Flugbuchungen (im aktuellen Mandanten):
DELETE FROM SBOOK.
Hmm, anscheinend nicht wirklich - aus meiner SAP Hilfe:DeathGuardian hat geschrieben:Du stehst aber auf einem gewaltigen Schlauch!
Und die Variante 1 ist die einzige mit einem "FROM" und ohne eine iTab in der Syntax.Variante 1
DELETE FROM dbtab WHERE condition.
DELETE FROM (dbtabname) WHERE condition.
Zusatz:
... CLIENT SPECIFIED
Wirkung
Löschen der Menge von Zeilen einer Datenbanktabelle, dieder WHERE-Klausel conditiongenügen. Die Angabe einer WHERE-Bedingung ist bei dieserVariante obligatorisch.
Das Systemfeld SY-DBCNT enthält nach Ausführung der Anweisungdie Anzahl gelöschter Zeilen.
Der Rückgabewert wird folgendermaßen gesetzt:
SY-SUBRC = 0:
Es wurde mindestens eine Zeile gelöscht.
SY-SUBRC = 4:
Es wurde keine Zeile gelöscht, da keine Zeileselektiert wurde.
Also hat man bei SAP anscheinend erst spät dazu gelernt - Releaseproblem!?!Nach "DELETE FROM dbtab" muß "WHERE" folgen.
Auch wenn ich das eigentlich vermeiden wollte, geht wohl kein Weg dran vorbei! Naja, wenigstens bleibt die Gewissheit nicht auf dem Schlauch gestanden zu haben!DeathGuardian hat geschrieben:In deinem Fall musst halt ein wenig tricksen.