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.
2633
Views
2
Antw.
2100
Views
Modifikation von Tabelleneinträgen
von hai_friedrich » 20.11.2007 17:44 • Verfasst in Financials
3
Antw.
2626
Views
Transport von Tabelleneinträgen wie in SM30
von cut1 » 24.07.2006 10:35 • Verfasst in ABAP® Core
0
Antw.
1055
Views
Doku zu Tabelleneinträgen mit WORD
von brunotti » 20.07.2007 08:01 • Verfasst in Basis
5
Antw.
7512
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 5 Stunden von Manfred K. 1 / 172
Daten an Tabelle binden
vor 5 Stunden von Lukas Sanders 4 / 2053
Regex in where
vor 2 Tagen von tar 8 / 828
Programm anlegen mit Vorlage
vor 3 Tagen von DeathAndPain 2 / 648

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 5 Stunden von Manfred K. 1 / 172
Daten an Tabelle binden
vor 5 Stunden von Lukas Sanders 4 / 2053
Regex in where
vor 2 Tagen von tar 8 / 828
Programm anlegen mit Vorlage
vor 3 Tagen von DeathAndPain 2 / 648

Unbeantwortete Forenbeiträge

Rechnung: Belegspez. Adresse
vor 5 Stunden von Manfred K. 1 / 172
BUSOBJEKT zu CMIS PHIO ermitteln
vor 3 Tagen von snooga87 1 / 551
aRFC im OO-Kontext
letzen Monat von ralf.wenzel 1 / 3738