Inhalt eines Datenobjekts löschen: DELETE

ExEC TAA 
   DELETE [ FIRST | NEXT | PREVIOUS | LAST | CURRENT ] <Objektname> 
END-EXEC 

EXEC TAA 
   DELETE <Objektname>( <Datenname> | <num.Literal> | FIRST | NEXT | PREVIOUS | LAST | CURRENT ) 
END-EXEC 

Die Anweisung DELETE löscht den Inhalt eines Datenobjekts. Bei Listenobjekte wird ein bestimmtes Tabellenelement gelöscht, nicht das gesamte Listenobjekt.

Wenn als Index ein Datenname angegeben wird, muss dies eine numerische COBOL-Variable sein.

Bei Listenobjekten ist die Angabe einer Positionierung zwingend.

Nach dem DELETE ist der auf den gelöschten Satz folgende Eintrag die neue aktuelle Position (CURRENT) wenn der hinterste Satz einer Liste gelöscht wurde, wird der vorherige Satz CURRENT. Wird der letzte Satz einer Liste gelöscht, d.h. die Liste ist anschließend leer, gibt es keine gültige Position mehr, solange nicht ein ADD oder INSERT erfolgte.

Das Ergebnis der Anweisung können Sie über die Bedingungsnamen OM-RC-OK und OM-RC-NOT-OK (beim Listenobjekt ggf. auch OM-RC-EOL) abfragen.

Vorsicht bei Schleifen!