Select Abfrage - For all Entries

Die Frage ist als "gelöst" markiert. Den entsprechend Beitrag findest du hier.

Alles rund um die Sprache ABAP®: Funktionsbausteine, Listen, ALV
4 Beiträge • Seite 1 von 1
4 Beiträge Seite 1 von 1

Select Abfrage - For all Entries

Beitrag von Cargo2 (ForumUser / 13 / 4 / 0 ) »
Hi,

ich bräuchte kurz Hilfe bei einer Datenbankabfrage.
Der Code sieht so aus:

Code: Alles auswählen.

  SELECT * INTO CORRESPONDING FIELDS OF TABLE lt_reakt            
     FROM ZNVREO3
    AS a INNER JOIN KNA1 as b ON a~kunnr = b~kunnr.

  DELETE ADJACENT DUPLICATES FROM lt_reakt COMPARING kunnr.
  MODIFY ZNVREORG01_REAKT FROM TABLE lt_reakt.
  ADD sy-DBCNT TO COUNTER_REAKT.

  SELECT * INTO CORRESPONDING FIELDS OF TABLE lt_znvreo_wf               
     FROM ZNVREO3 FOR ALL ENTRIES IN lt_reakt WHERE kunnr NE lt_reakt-kunnr.
Leider funktioniert die Select Abfrage mit for all entries nicht wenn auf NE geprüft wird. Laut SAP soll man Ranges verwenden, was aber in diesem Falle nicht funktioniert, da "lt_reakt" leicht über 200 000 Einträge enthalten kann. Ich will das ganze versuchen ohne Loop zu lösen um die Performance zu steigern. Hättet ihr Tipps dazu?

Vg,
Markus

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


Re: Select Abfrage - For all Entries

Beitrag von SAP_ENTWICKLER (Specialist / 445 / 219 / 6 ) »
Hallo Markus,

und wie sieht es beim Befüllen der Treibertabelle damit aus die Logik umzukehren? Dann könnte man beim 'FOR ALL ENTRIES' mit = arbeiten.

Und vor dem 'FOR ALL ENTRIES' immer prüfen ob die Treibertabelle gefüllt ist.





Viele Grüße

Norbert

Re: Select Abfrage - For all Entries

Beitrag von JHM (Top Expert / 1188 / 1 / 195 ) »
Cargo2 hat geschrieben:Ich will das ganze versuchen ohne Loop zu lösen um die Performance zu steigern. Hättet ihr Tipps dazu?
Beschreib das Ziel deines Codings mal Verbal: Ich brauche alle Einträge aus ZNVREO3, die folgende Bedingung erfüllen.


Wenn ich das richtig sehe, willst du alle Einträge aus ZNVREO3 zu denen es keinen Eintrag in KNA1 gibt. Das könnte man mit einem SubSelect einfach realisieren:

Code: Alles auswählen.

SELECT *
  INTO TABLE lt_ZNVREO_wf
  FROM ZNVREO3
  WHERE kunnr NOT EXSISTS ( SELECT * FROM kna1 WHERE kna1~kunnr = ZNVREO3~kunnr ).
evtl. wäre ein Vergleich auf eine Ergebnismenge des SubSelct sogar schneller:

Code: Alles auswählen.

SELECT *
  INTO TABLE lt_ZNVREO_wf
  FROM ZNVREO3
  WHERE kunnr NOT IN ( SELECT DISTINCT kunnr FROM kna1 WHERE kna1~kunnr = ZNVREO3~kunnr ).
Kommt ein wenig auf die Datenstruktur an.

Folgende Benutzer bedankten sich beim Autor JHM für den Beitrag:
Cargo2

Gruß Hendrik

Re: Select Abfrage - For all Entries

Beitrag von Cargo2 (ForumUser / 13 / 4 / 0 ) »
Hi,

vielen Dank für die Antworten.
Laut SQL Trace ist die zweite Variante von dir (Sub Select mit DISTINCT) sehr schnell. Vielen Dank für den Tipp. Daran hatte ich nicht gedacht.

Viele Grüße,
Markus

Seite 1 von 1

Vergleichbare Themen

6
Antw.
3691
Views
Select for all entries Abfrage auf Initial
von Murdock » 20.03.2013 11:18 • Verfasst in ABAP® für Anfänger
1
Antw.
2225
Views
Select mit all entries !!!!!
von Apabtalker » 01.04.2010 12:55 • Verfasst in ABAP® für Anfänger
1
Antw.
1818
Views
SELECT mit FOR ALL ENTRIES
von Marduk » 30.09.2005 12:55 • Verfasst in ABAP® Core
6
Antw.
3733
Views
Select for all entries Problem
von debianfan » 06.03.2018 18:39 • Verfasst in ABAP® für Anfänger
7
Antw.
5294
Views
select all entries in itab
von spot » 23.11.2004 17:15 • Verfasst in ABAP® für Anfänger

Über diesen Beitrag


Die Frage ist als "gelöst" markiert. Den entsprechend Beitrag findest du hier.

Unterstütze die Community und teile den Beitrag für mehr Leser und Austausch

Aktuelle Forenbeiträge

Zugriff auf Daten via Webdav
vor einer Stunde von msfox 2 / 36
Interne Tabelle
vor 18 Stunden von sap_enthusiast 3 / 163
Zwischensumme Adobe Forms
vor 3 Tagen von Lucyalison 1 / 71

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

Zugriff auf Daten via Webdav
vor einer Stunde von msfox 2 / 36
Interne Tabelle
vor 18 Stunden von sap_enthusiast 3 / 163
Zwischensumme Adobe Forms
vor 3 Tagen von Lucyalison 1 / 71

Unbeantwortete Forenbeiträge

Zwischensumme Adobe Forms
vor 3 Tagen von Lucyalison 1 / 71
Group Items auf einer Filterbar
vor einer Woche von Bright4.5 1 / 111
tRFC Transaktionen SM58
vor 4 Wochen von A6272 1 / 141