Performanceproblem mit SELECT SINGLE

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

Performanceproblem mit SELECT SINGLE

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

Ich habe ein Performanceproblem beim lesen der Tabelle CKBS. Info: Schlüsselfelder sind KOKRS (Kostenrechnungskreis) und EXTNR (Musterkalkulation).

Alles was ich weis ist die Materialnummer,
z.B. 123456789 und die Musterkalkulationen die möglicherweise zu diesem Material existieren,
z.B. 123456789V012 (EXTNR)
oder 123456789V312 (EXTNR).

sobald EINE beliebige Kalkulation zu diesem Material existiert, soll das Material in die itab gespeichert werden, ansonst nicht.

Code: Alles auswählen.

CLEAR l_extnr.
      CONCATENATE gs_data-matnr+4(14) '%' INTO l_extnr.

      SELECT SINGLE extnr FROM ckbs INTO gs_ckbs-extnr
             WHERE extnr LIKE l_extnr
             AND   dlflg EQ space.
      if sy-subrc is initial.
        ...
      endif.
Dadurch dass ich für das Feld EXTNR keinen eindeutigen Wert zuweise (wegen LIKE), dauert diese Selektion sehr lange. Bei 200 Materialien dauerts schon ungefähr eine Minute :(

Hat jemand eine Idee wie das schneller geht?


mfg Andi
Hauptsoch: HAUPTSOCH!

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


Beitrag von ewx (Top Expert / 4784 / 294 / 628 ) »
Hi Andi,

den Kostenrechnungskreis kannst du nicht vorher ermitteln?
Dann leg einen Index auf der DB an!

Evtl. hilft es auch schon, wenn du den Kostenrechnungskreis mit "BETWEEN 'KO01' AND 'KO30'" (beispielsweise...) eingrenzt.

Gruß, Enno

Beitrag von Andreas G (Specialist / 175 / 0 / 0 ) »
Hallo Enno,

auf die Idee bin ich auch gerade gekommen.
Es wird zwar schon schneller, aber immer
noch viel zu langsam :cry:

mfg Andi
Hauptsoch: HAUPTSOCH!

Beitrag von ewx (Top Expert / 4784 / 294 / 628 ) »
Andreas G hat geschrieben:...aber immer
noch viel zu langsam :cry:
... Schnellerer DB-Server... :wink:

Beitrag von babap (Expert / 681 / 1 / 1 ) »
Hallo,

ich habe sowas ähnliches schon mal gemacht.

Als erstes lass mal das Werk eingeben, für das Kalkulationen gesucht werden sollen. Aus dem Werk findet man über ein paar Umwege den KOKRS raus. (Werk->Bukrs->Kokrs o.ä.)

Dann kann man weitermachen.

Solltest Du mehrere Werke benötigen, mache alles für jedes Werk separat und führe die Ergebnisse zusammen.
(Erstmal die Eingabe in einzelne Werke verwandeln und dann los für jedes Werk.)

Eigentlich dürfte es aber nur in einem Werk eine detaillierte Kalkulation geben. In die anderen Werke wurde wahrscheinlich bloß "rüberkalkuliert" um den Standardpreis zu setzen. (Kann man an der Kalk.-Variante erkennen, die man aus dem Customizing auslesen muß ...)

Gruß
babap

Beitrag von Andreas G (Specialist / 175 / 0 / 0 ) »
Erstmal Danke für die schnellen Antworten.

Gebe jetzt den KOKRS bei der Selektion auch an.
Es dauert zwar ein weilchen, aber ich habs geschafft
auf unserem Produktivsystem das Programm mit allen Materialien (muss
dazu sagen dass viele davon schon vor der
Selektion auf die CKBS ausgeschlossen werden) ohne
TIMEOUT auszuführen => also passts wieder :wink:

mfg Andi
Hauptsoch: HAUPTSOCH!

Seite 1 von 1

Vergleichbare Themen

8
Antw.
2165
Views
SELECT SINGLE oder SELECT UP TO 1 ROWS?
von nickname8 » 12.04.2021 10:38 • Verfasst in ABAP® für Anfänger
4
Antw.
8995
Views
Performance: SELECT UP TO 1 ROWS vs. SELECT SINGLE
von roman1983 » 04.09.2008 14:29 • Verfasst in ABAP® für Anfänger
4
Antw.
4202
Views
Performanceproblem im Zusammenhang mit ALV-Tree
von Gast » 02.03.2005 13:10 • Verfasst in Dialogprogrammierung
7
Antw.
1863
Views
UPDATE auf ANLC extremes Performanceproblem
von crush23 » 31.07.2008 12:03 • Verfasst in ABAP® Core
0
Antw.
1124
Views
Native SQL an SQL-Server, sehr spezielles Performanceproblem
von lukey » 17.02.2010 21:27 • Verfasst in ABAP® Core

Über diesen Beitrag


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.