Löschen von Tabelleneinträgen mit Bedingung

Getting started ... Alles für einen gelungenen Start.
2 Beiträge • Seite 1 von 1
2 Beiträge Seite 1 von 1

Löschen von Tabelleneinträgen mit Bedingung

Beitrag von Julia.hrtm (ForumUser / 8 / 1 / 4 ) »
Hallo,
ich wollte mein Programm performanter machen und wollte demensprechend meine DELETE Ausführung beschleunigen. Die Tabelle bei welcher ich die Daten löschen möchte ist eine global gespeicherte Tabelle in SAP. Dementsprechend findet ständig ein Zugriff auf diese Tabelle statt, was zu höherer Laufzeit führt. Da das Programm eine große Menge an Daten verarbeitet, ist eine hohe Laufzeit nicht erwünscht.
Bisher war folgender Code in einer großen Loop-Schleife.

Code: Alles auswählen.

DELETE FROM zbi_costoper_h
WHERE
  material = <material>-material
  AND plant = <material>-plant
  AND costing_no = <header>-costing_no
  AND valid_from = <header>-valid_from.
Um diese Lösch-Anweisung performanter zu gestalten habe ich die zu löschenden Einträge in eine Tabelle geschrieben und wollte dann diese nach beenden der Schleife löschen.
Code:

Code: Alles auswählen.

      CLEAR gs_delete_costoper_h.
      gs_delete_costoper_h-material = <material>-material.
      gs_delete_costoper_h-plant = <material>-plant.
      gs_delete_costoper_h-costing_no = <header>-costing_no.
      gs_delete_costoper_h-valid_from = <header>-valid_from.
      APPEND gs_delete_costoper_h TO gt_delete_costoper_h.

      ...

  DELETE FROM zbi_costoper_h WHERE (gt_delete_costoper_h).
Bei der Ausführung des Codes im Testsystem bekomme ich den Fehler, siehe Bild.
Screenshot 2024-12-02 082902.png

gesponsert
Stellenangebote auf ABAPforum.com schalten
kostenfrei für Ausbildungsberufe und Werksstudenten


Re: Löschen von Tabelleneinträgen mit Bedingung

Beitrag von a-dead-trousers (Top Expert / 4400 / 223 / 1182 ) »
Hi.

Sofern die Datenbanktabelle "zbi_costoper_h" den gleichen Aufbau hat wie die interne Tabelle "gt_delete_costoper_h" wäre der korrekte Aufruf

Code: Alles auswählen.

DELETE zbi_costoper_h FROM TABLE gt_delete_costoper_h.
Die Syntax

Code: Alles auswählen.

DELETE FROM zbi_costoper_h WHERE (...).
ist für dynamische WHERE-Klauseln vorgesehen.

lg ADT
Theory is when you know something, but it doesn't work.
Practice is when something works, but you don't know why.
Programmers combine theory and practice: Nothing works and they don't know why.

ECC: 6.18
Basis: 7.50

Seite 1 von 1

Vergleichbare Themen

5
Antw.
2628
Views
2
Antw.
2098
Views
Modifikation von Tabelleneinträgen
von hai_friedrich » 20.11.2007 17:44 • Verfasst in Financials
3
Antw.
2624
Views
Transport von Tabelleneinträgen wie in SM30
von cut1 » 24.07.2006 10:35 • Verfasst in ABAP® Core
0
Antw.
1053
Views
Doku zu Tabelleneinträgen mit WORD
von brunotti » 20.07.2007 08:01 • Verfasst in Basis
5
Antw.
7510
Views
Transport von einzelnen Tabelleneinträgen
von Mr.Black » 03.04.2008 10:31 • Verfasst in Sonstige Module

Aktuelle Forenbeiträge

Rechnung: Belegspez. Adresse
vor 2 Stunden von Manfred K. 1 / 107
Daten an Tabelle binden
vor 3 Stunden von Lukas Sanders 4 / 1990
Regex in where
Gestern von tar 8 / 750
Programm anlegen mit Vorlage
vor 3 Tagen von DeathAndPain 2 / 584

Newsletter Anmeldung

Keine Beiträge verpassen! Wöchentlich versenden wir lesenwerte Beiträge aus unserer Community.
Die letzte Ausgabe findest du hier.
Details zum Versandverfahren und zu Ihren Widerrufsmöglichkeiten findest du in unserer Datenschutzerklärung.

Aktuelle Forenbeiträge

Rechnung: Belegspez. Adresse
vor 2 Stunden von Manfred K. 1 / 107
Daten an Tabelle binden
vor 3 Stunden von Lukas Sanders 4 / 1990
Regex in where
Gestern von tar 8 / 750
Programm anlegen mit Vorlage
vor 3 Tagen von DeathAndPain 2 / 584

Unbeantwortete Forenbeiträge

Rechnung: Belegspez. Adresse
vor 2 Stunden von Manfred K. 1 / 107
BUSOBJEKT zu CMIS PHIO ermitteln
vor 3 Tagen von snooga87 1 / 494
aRFC im OO-Kontext
letzen Monat von ralf.wenzel 1 / 3677