Größenbeschränkung bei Range Tabellen

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

Größenbeschränkung bei Range Tabellen

Beitrag von an4kh4 (ForumUser / 94 / 0 / 0 ) »
Hallo zusammen,

ich habe in einem Programm eine Rangetabelle die abhängig vom gewähltem Buchungskreis gefüllt wird.

In einem Buchungskreis wird die Tabelle mit ca 30.000 Einträgen gefüllt. Beim öffnen einer Select-Schleife krieg ich dann einen Kurzdump: 'DBIF_RSQL_INVALID_RSQL'

Gibt es für Range-Tabellen eine größenbeschrenkung? Wenn ja, gibts da irgendwie ne andere möglichkeit?

Schonmal Danke

Gruß Lars

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


Beitrag von ralle (ForumUser / 49 / 0 / 0 ) »
Hallo Lars,

den Abbruch kenn ich zur genüge.

Wenn abzusehen ist das mehr als 2500 Einträge in deinem Range stehen, würde ich an deiner Stelle den FOR ALL ENTRIES-Befehl benutzen.

Diese Anzahl der maximalen Einträge ist von der Größe deines Range-Feldes abhängig. CHAR10 kann wahrscheinlich 3000, CHAR18 nur 2200 Einträge verkraften.

Mit dem FOR ALL ENTRIES-Befehl kannst du die Abbrüche verhindern, aber der ist im Grunde genommen wie eine LOOP-Schleife über einem SELECT.(Performance?)
Und schön aufpassen das auch wirlich Einträge in deinem Range drin stehen, sonst gibt trotz anderer WHERE-Bedingungen einen Langläufer.

IF NOT <DEIN RANGE>[] IS INITIAL.
SELECT EBELN FROM EKKO INTO <IRGENDWAS>
FOR ALL ENTRIES IN <DEIN RANGE>
WHERE LIFNR = <DEIN RANGE>-LOW.
ENDIF.


Du könntest auch eine DO ENDO Schleife bauen wo du immer nur 2500 Einträge für den SELECT benutzt.

Aber das ist alles eher unhübsch und auch sehr unperformant.
Vielleicht solltest du versuchen ein anderes Selektionsmerkmal heranzuziehen, denn 30000 Sätze sind nicht wirklich eine Einschränkung.

Gruß
Ralf

Beitrag von poldi (Specialist / 116 / 0 / 0 ) »
Hallo Lars,

da gibt es Grenzen, die ich aber auch nicht kenne. Hier liegt es in der Größenordnung von 1000 bis 2000 Einträgen. Wo das geregelt wird, weiß ich aber nicht. Da wird nur ein splitten der Range-Tabelle helfen und dann mehrere Selects durchführen ... nicht schön, man muß die Größen eben ausprobieren.

Viele Grüße
Wilfried
Wir sind lustig und haben es gar nicht nötig!

Beitrag von Flo (Specialist / 161 / 0 / 0 ) »
Hallo,

in SAP Note 13607 stehen noch bischen zusätzliche Informationen zu dem Problem.

Gruß,
Flo

Beitrag von an4kh4 (ForumUser / 94 / 0 / 0 ) »
ralle hat geschrieben: (...)
Aber das ist alles eher unhübsch und auch sehr unperformant.
Vielleicht solltest du versuchen ein anderes Selektionsmerkmal heranzuziehen, denn 30000 Sätze sind nicht wirklich eine Einschränkung.
Wegen der Performance: Ich merk's gerade, ist aber eigentlich nicht unbedingt das problem, weil's nur ein Programm für Datenexport ist und wohl nachts laufen wird.

Wegen den Einschränkungen: Naja, alle Lieferanten ohne Buchungssperre in einem Buchungskreis, könnte schwierig werden da nochmehr einzuschränken

Beitrag von BlackMail (ForumUser / 79 / 0 / 0 ) »
Nur zur Ergänzung: Die Hilfe sagt:
"Seit Release 6.40 ist die Obergrenze für den Platzbedarf aller Vergleichswerte in WHERE-, HAVING- oder ON-Bedingungen zuzüglich der Werte im Zusatz SET der Anweisung UPDATE 64 MB. Bisher lag diese Grenze bei 64 KB. ... Diese Änderung wurde auch nach Release 6.20 zurücktransportiert."

Gruß BlackMail.

Beitrag von Krueger ( / / 0 / 3 ) »
Man kann die Range-Tabelle auch selber komprimieren.

Aus:

Code: Alles auswählen.

I EQ 0001
I EQ 0002
I EQ 0003
I EQ 0004
I EQ 0005
... fehlt....
I EQ 0007
I EQ 0008
I EQ 0009
I EQ 0010
... fehlt....
I EQ 0012
... fehlt....
I EQ 0014

... fehlt....
....
wird dann:

Code: Alles auswählen.

I BT 0001   0005
I BT 0007   0010
I EQ 0012
I EQ 0014
Also aus, wie hier im Beispiel, 11 Range-Einträgen werden 4 Einträge.

Seite 1 von 1

Vergleichbare Themen

7
Antw.
7359
Views
Select Options und Range Tabellen
von gs3rr4 » 29.12.2016 14:12 • Verfasst in ABAP® für Anfänger
3
Antw.
196
Views
Range-Tabelle gegen Range-Tabelle abgleichen
von Romaniac » 09.02.2024 16:26 • Verfasst in ABAP® Core
11
Antw.
4329
Views
RANGE
von robin1at » 13.06.2006 08:33 • Verfasst in ABAP® für Anfänger
2
Antw.
1390
Views
RANGE OF
von Gast » 06.12.2005 14:31 • Verfasst in ABAP® für Anfänger
1
Antw.
1503
Views
'Range und FOR ALL ENTRIES
von eschi78 » 08.11.2007 09:51 • Verfasst in ABAP® Core

Aktuelle Forenbeiträge

Zugriff auf Daten via Webdav
vor 16 Stunden von msfox 1 / 31
Interne Tabelle
vor 17 Stunden von sap_enthusiast 3 / 162
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 16 Stunden von msfox 1 / 31
Interne Tabelle
vor 17 Stunden von sap_enthusiast 3 / 162
Zwischensumme Adobe Forms
vor 3 Tagen von Lucyalison 1 / 71

Unbeantwortete Forenbeiträge

Zugriff auf Daten via Webdav
vor 16 Stunden von msfox 1 / 31
Zwischensumme Adobe Forms
vor 3 Tagen von Lucyalison 1 / 71
Group Items auf einer Filterbar
vor einer Woche von Bright4.5 1 / 111