Löschen von Tabelleneinträgen mit Bedingung

Getting started ... Alles für einen gelungenen Start.
3 Beiträge • Seite 1 von 1
3 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 / 4414 / 224 / 1186 ) »
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

Re: Löschen von Tabelleneinträgen mit Bedingung

Beitrag von DeathAndPain (Top Expert / 1961 / 261 / 415 ) »
Mich hätte ja auch mal interessiert, welchen Primärschlüssel (und ggf. welche weiteren Indizes) diese Datenbanktabelle hat...

Seite 1 von 1

Vergleichbare Themen

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

Aktuelle Forenbeiträge

Nach MESSAGE TYPE E Felder entsperren
vor einer Woche von rob_abc gelöst 8 / 8598
ABAP - Mail so10 Text
vor einer Woche von retsch 6 / 2494
selection-screen comment mit icon
vor einer Woche von DeathAndPain 9 / 3801

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

Nach MESSAGE TYPE E Felder entsperren
vor einer Woche von rob_abc gelöst 8 / 8598
ABAP - Mail so10 Text
vor einer Woche von retsch 6 / 2494
selection-screen comment mit icon
vor einer Woche von DeathAndPain 9 / 3801

Unbeantwortete Forenbeiträge

SD_PRINT_TERMS_OF_PAYMENT
vor einer Woche von Manfred K. 1 / 2903
BUSOBJEKT zu CMIS PHIO ermitteln
vor 4 Wochen von snooga87 1 / 4710