ABAPDELETE_ITAB_LINE - DELETE ITAB LINE
Fill RESBD Structure from EBP Component Structure General Data in Customer MasterDiese Dokumentation steht unter dem Copyright der SAP AG.
DELETE itab - itab_line
Syntax
... {TABLE itab table_key}
| {itab INDEX idx [USING KEY keyname]}
| {itab [USING KEY loop_key]}.
Alternativen:
1. ... TABLE itab table_key
2. ... itab INDEX idx [USING KEY keyname]
3. ... itab [USING KEY loop_key]
Wirkung
Diese Alternativen spezifizieren, welche einzelne Zeile der internen Tabelle itab gelöscht werden soll.
Alternative 1
... TABLE itab table_key
Wirkung
Bei der Variante mit dem Zusatz TABLE wird die Zeile über den primären Tabellenschlüsseltable_key spezifiziert.
Alternative 2
... itab INDEX idx [USING KEY keyname]
Zusatz:
Wirkung
Mit dem Zusatz INDEX löscht die Anweisung DELETE die Zeile der in idx angegebenen Zeilennummer bezüglich eines Tabellenindex. idx ist einenumerischeAusdrucksposition vom Operandentyp i. Es kommt zu einer unbehandelbaren Ausnahme, falls idx einen Wert kleiner gleich 0 enthält.
Wenn der Zusatz USING KEY nicht verwendet wird, kann der Zusatz INDEX nur beiIndextabellen verwendet werden und bestimmt die zu löschende Zeile aus derenprimären Tabellenindex.
Beispiel
Löschen der Tabellenzeile, die im Schlüsselfeld carrid den gleichen Wert wie p_carrid hat, über den primären Tabellenindex.
PARAMETERS p_carrid TYPE scarr-carrid.
DATA scarr_tab TYPE SORTED TABLE OF scarr
WITH UNIQUE KEY carrid.
SELECT *
FROM scarr
INTO TABLE scarr_tab.
READ TABLE scarr_tab WITH TABLE KEY carrid = p_carrid
TRANSPORTING NO FIELDS.
IF sy-subrc = 0.
DELETE scarr_tab INDEX sy-tabix.
ENDIF.
Zusatz
... USING KEY keyname
Wirkung
Mit dem Zusatz USING KEY kann in keynameein Tabellenschlüssel angegeben werden um explizit den zu verwendenden Tabellenindex anzugeben.
Wenn die Tabelle einen sortiertenSekundärschlüsselhat, kann dieser in keyname angegeben werden und die zu löschende Zeile wird aus dessensekundärem Tabellenindex bestimmt. Ein sekundärerHash-Schlüssel darf nicht angegeben werden.
Falls der primäre Tabellenschlüssel angegeben wird, muss es sich um eine Indextabelle handeln und das Verhalten ist wie ohne die Angabe von USING KEY.
Hinweis
Wenn ein sortierter Sekundärschlüssel vorhanden ist, kann der Zusatz INDEX bei Verwendung von USING KEY bei allen Tabellenarten verwendet werden.
Alternative 3
... itab
Zusatz:
Wirkung
Diese Variante ist nur innerhalb einer LOOP-Schleifeüber die gleiche interne Tabelle möglich. Es wird implizit die aktuelle Tabellenzeileder LOOP-Schleife gelöscht. Wenn bei LOOP der Zusatz USINGKEY angegeben ist, muss bei dieser Variante der Zusatz USING KEY loop_key angegeben sein.
Wenn die aktuelle Zeile im gleichen Schleifendurchgang schon einmal gelöscht wurde, ist das Verhalten undefiniert.
Außerhalb einer LOOP-Schleife ist diese Variante verboten und führt zu einer Warnung bei der Syntaxprüfung, wenn statisch nicht erkennbar ist, dass sie in einer Schleife aufgeführt ist.
Hinweis
Die Verwendung dieser Alternative wird nicht empfohlen. Statt dessen sollte die Zeilennummer explizit mit dem Zusatz INDEX angegeben werden.
Zusatz
... USING KEY loop_key
Wirkung
Dieser Zusatz ist notwendig, wenn der für die LOOP-Schleife verwendete Tabellenschlüsselbei der Anweisung LOOP explizit angegeben ist. Er drückt explizit aus, dass die aktuelleTabellenzeile der LOOP-Schleife gelöscht wird. Außer dem vordefinierten Namen loop_key darf kein anderer Schlüssel angegeben werden. Wenn bei LOOP kein expliziterTabellenschlüssel angegeben ist, kann der Zusatz USING KEY loop_key verwendet werden, muss aber nicht.
General Data in Customer Master PERFORM Short Reference
Diese Dokumentation steht unter dem Copyright der SAP AG.
Length: 7407 Date: 20120526 Time: 194825 triton ( 183 ms )






