SQL und Performance

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

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

SQL und Performance

Beitrag von Hagbard ( / / 0 / 3 ) »
In der Tabelle zr1_sd_msp sind Produkthierachien abgelegt, die per Schleife abgefragt werden. Der Eingangswert ist von der Größe variabel z.B.
1421990000, anschliessend wird so lange der Wert um 1
subtrahiert bis ein Eintag in der Datenbank gefunden wurde.
Ist es auch möglich, das mit einer SQL-Abfrage zutätigen, ohne Schleife.
Vielen Dank!

l_prdha = f_konp-prdha.
l_length = strlen( l_prdha ).

WHILE l_length > 0.
l_prdha = l_prdha(l_length).

SELECT SINGLE * FROM zr1_sd_msp INTO st_i_msp
WHERE vkorg = f_konp-vkorg
AND vtweg = f_konp-vtweg
AND prdha = l_prdha.
IF sy-subrc IS INITIAL.
APPEND st_i_msp.
IF l_prdha <> f_konp-prdha.
st_i_msp-prdha = f_konp-prdha.
APPEND st_i_msp.
ENDIF.
EXIT.
ENDIF.
l_length = l_length - 1.
ENDWHILE.

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


Beitrag von Arno Simon (ForumUser / 84 / 0 / 1 ) »
Hallo Hagbard,

Deine Erläuterung ist mE so nicht ganz richtig. Du dekrementierst nicht den Wert an sich, sondern die Länge des Zeichenkettenanteils des Wertes der für den Vergleich herangezogen wird.

Sprich

1. Schritt: 1421990000
2. Schritt: 142199000

Jedenfalls ließt sich Dein Codingausschnitt für mich entsprechend....

Würde nur l_prdha dekrementiert, sollte es nach meinem dafürhalten (ungetestet) so funktionieren:

Code: Alles auswählen.

SELECT SINGLE * 
  FROM zr1_sd_msp 
  INTO st_i_msp 
 WHERE vkorg = f_konp-vkorg  
   AND vtweg = f_konp-vtweg 
   AND prdha LE l_prdha
 ORDER BY prdha DESCENDING.
vG

Arno

Beitrag von Andreas G (Specialist / 175 / 0 / 0 ) »
Hallo Hagbard.

Ich weis nicht, ob ich deine Frage richtig verstanden habe, aber vielleicht hift dir das:
Wenn du nur einen Wert (den ersten gefundenen Wert) selektieren willst probiers mal mit SELECT SINGLE ... Damit wird nur ein Einzelsatz gelesen und du benötigst kein ENDSELECT.

mfg Andi
Hauptsoch: HAUPTSOCH!

Seite 1 von 1

Vergleichbare Themen

3
Antw.
2614
Views
Performance von INE vs. EEQ
von Birdy » 14.08.2013 11:35 • Verfasst in ABAP® für Anfänger
3
Antw.
2155
Views
Performance
von schick » 29.03.2018 14:48 • Verfasst in ABAP® für Anfänger
3
Antw.
2813
Views
Performance
von SAP_ENTWICKLER » 19.02.2018 07:06 • Verfasst in SAP HANA für Anfänger
1
Antw.
1954
Views
IDOC-Performance
von Thomas R. » 18.09.2007 15:02 • Verfasst in Basis
3
Antw.
2217
Views
Performance Select
von derMartin » 14.08.2008 13:58 • 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

Trennen Strasse und Hausnummer
vor einer Stunde von DeathAndPain 14 / 10745
Dialog-Container mit Toolbar/Status
vor einer Stunde von DeathAndPain gelöst 24 / 3891
User Exit EXIT_RQCPRM10_001
vor 20 Stunden von a-dead-trousers 2 / 348
Daten an Tabelle binden
Gestern von Lukas Sanders 2 / 1400

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

Trennen Strasse und Hausnummer
vor einer Stunde von DeathAndPain 14 / 10745
Dialog-Container mit Toolbar/Status
vor einer Stunde von DeathAndPain gelöst 24 / 3891
User Exit EXIT_RQCPRM10_001
vor 20 Stunden von a-dead-trousers 2 / 348
Daten an Tabelle binden
Gestern von Lukas Sanders 2 / 1400

Unbeantwortete Forenbeiträge

aRFC im OO-Kontext
vor 4 Wochen von ralf.wenzel 1 / 2931
Hilfe bei SWEC/SWE2
September 2024 von retsch 1 / 9524