Große Datenmengen selektieren

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

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

Große Datenmengen selektieren

Beitrag von IHe (Specialist / 141 / 35 / 45 ) »
Moin,

ich bin über einen Report gestolpert, welcher sehr große Datenmengen (mehrere Millionen Debitoren/Kreditoren) zur Verarbeitung in einer Schnittstelle selektiert. Die großen Datenmengen werden mittels Datenbankcursor mit PACKAGE SIZE abgearbeitet:

Code: Alles auswählen.

OPEN CURSOR WITH HOLD lv_cursor
      FOR
      SELECT kna1~kunnr
             kna1~name1
            [..]
        FROM kna1
        JOIN knb1
        ON knb1~kunnr EQ kna1~kunnr
        WHERE [..]
DO.
  FETCH NEXT CURSOR  lv_cursor
        INTO TABLE   lt_kna1
        PACKAGE SIZE 10000.
  IF sy-subrc = 0.
*   Datenbank-Commit
    EXEC SQL.
      COMMIT WORK
    ENDEXEC.

  ELSE. "keine Daten mehr zum Verarbeiten
    CLOSE CURSOR lv_cursor.
    EXIT.
  ENDIF.

ENDDO.
Nachteil hierbei ist der Einsatz von Native SQL für den Datenbank-Commit, welcher den nächsten Schwung Daten holt.

Spricht etwas dagegen dies stattdessen etwa so umzusetzen?

Code: Alles auswählen.

SELECT [..] FROM kna1 
        JOIN knb1
        ON knb1~kunnr EQ kna1~kunnr
        WHERE [..]
        INTO TABLE lt_kna1 
        PACKAGE SIZE 10000.

  LOOP AT lt_kna1 ASSIGNING <lf_data>.
    "data processing
  ENDLOOP.

ENDSELECT.
Hierbei ist gerade auch die Performance wichtig, aber gibt es bei den Datenmengen noch weitere Punkte zu beachten?
Ingo Hoffmann

ECC|S/4HANA|BTP
dbh SAP Solutions

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


Re: Große Datenmengen selektieren

Beitrag von ewx (Top Expert / 4784 / 294 / 628 ) »
Nein. Meiner Meinung nach spricht nichts dagegen und es ist die deutlich bessere Alternative.

Folgende Benutzer bedankten sich beim Autor ewx für den Beitrag:
IHe


Re: Große Datenmengen selektieren

Beitrag von Unit605 (Expert / 975 / 37 / 93 ) »
Wenn ich an Deiner Stelle waere, wuerde ich die beiden Alternativen einfach testen. Dann hab ich die Antwort aus allererster Quelle.

Re: Große Datenmengen selektieren

Beitrag von IHe (Specialist / 141 / 35 / 45 ) »
Unit605, da hast Du natürlich recht und das wäre auch normalerweise der beste Weg. Allerdings habe ich das (Kunden-)System mit der großen Datenmenge nicht im direkten Zugriff, der Prozess in der dortigen 5-Systemlandschaft gestaltet sich recht langwierig. Daher versuche ich schon vor den Tests unter Realbedingungen, welche dieses Jahr wohl nicht mehr stattfinden werden, möglichst alle Probleme auszuschließen.

Danke Enno für dein Feedback.
Ingo Hoffmann

ECC|S/4HANA|BTP
dbh SAP Solutions

Re: Große Datenmengen selektieren

Beitrag von ewx (Top Expert / 4784 / 294 / 628 ) »
...Ich glaube allerdings nicht, dass die zweite Version schneller sein wird...

Re: Große Datenmengen selektieren

Beitrag von IHe (Specialist / 141 / 35 / 45 ) »
Aber spätestens hinsichtlich der SAP HANA Kompatibilität dürfte die erste Variante vermutlich als obsolet betrachtet werden... noch setzt der Kunde keine SAP HANA-DB ein, aber das wird über kurz oder lang kommen.
Ingo Hoffmann

ECC|S/4HANA|BTP
dbh SAP Solutions

Seite 1 von 1

Vergleichbare Themen

14
Antw.
2030
Views
Berechtigungsabfragen selektieren
von Bright4.5 » 05.02.2019 09:54 • Verfasst in ABAP® für Anfänger
4
Antw.
5058
Views
Materialpreise selektieren
von MasterSAP » 02.06.2008 15:06 • Verfasst in ABAP® für Anfänger
2
Antw.
1747
Views
Kundenhierachie selektieren
von nikibert » 08.07.2008 08:41 • Verfasst in Sales and Distribution
1
Antw.
1343
Views
Grösse der Subscreen
von Maria » 21.09.2005 09:20 • Verfasst in ABAP® Core
3
Antw.
3042
Views
JCO und große Tabellen
von Gast » 17.05.2005 16:00 • Verfasst in Java & SAP®

Ü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

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.