Tabelle kann Puffer nicht nutzen

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

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

Tabelle kann Puffer nicht nutzen

Beitrag von treyfifty (ForumUser / 13 / 5 / 0 ) »
Guten Tag,
habe folgendes Problem.

Wenn ich den Code Inspector über mein Programm laufen lasse kommt folgende Warnung:

"Zugriff auf einzelsatzgepufferte Tabelle datenbanktabelle kann Puffer nicht nutzen."

Wie kann ich das verbessern ?

Zeile sieht wie folgt aus:

Code: Alles auswählen.

  SELECT feld_1 feld_2 FROM datenbanktabelle
                        INTO TABLE lokale_tabelle_1  
                        FOR ALL ENTRIES IN lokale_tabelle_2
                        WHERE feld_2  = lokale_tabelle_2-feld_3. 

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


Re: Tabelle kann Puffer nicht nutzen

Beitrag von Unit605 (Expert / 975 / 37 / 93 ) »
Eine Datenbanktabelle mit dem Namen "datenbanktabelle" kann ich in meinem System leider nicht finden.

Re: Tabelle kann Puffer nicht nutzen

Beitrag von Dele (Specialist / 307 / 4 / 47 ) »
Es gibt einige ABAP-Open-SQL Optionen, die eine Verwendung des SAP-Tabellenpuffers verhindern.
siehe Online Doku Open SQL - SAP Buffering

FOR ALL ENTRIES ist einer davon.

Re: Tabelle kann Puffer nicht nutzen

Beitrag von Unit605 (Expert / 975 / 37 / 93 ) »
Ich habe ja extra nach dem Namen der Datenbank "gefragt" um die Meldung nachzustellen.

Habe es auch ohne den Namen hinbekommen, die Meldung im Code Inspector zu erhalten.

Zusaetzlich wurde auch, wie erwartet, eine Erklaerung zu der Meldung im Code Inspector direkt angeboten.

Vola:
Code Inspector
SELECT-Anweisungen, die am SAP-Tabellenpuffer vorbei lesen

Zugriff auf einzelsatzgepufferte Tabelle kann Puffer nicht nutzen

Der SAP-Tabellenpuffer kann bei einzelsatzgepufferten Tabellen nur dann genutzt werden, wenn der Primärschlüssel in der WHERE-Bedingung voll spezifiziert wird. Dabei können nur Felder mit einer '=' oder 'EQ' Bedingung ausgewertet werden. Die Felder des Primärschlüssels dürfen nur mit 'AND' Bedingungen, nicht mit 'OR' Bedingungen verknüpft sein.

Auch die Option 'FOR ALL ENTRIES' führt bei einer einzelsatzgepufferten Tabelle zur Umgehung des Tabellenpuffers.

Falls die WHERE-Bedingung ein einzelnes Schlüsselfeld in einer Selektionstabelle oder IN-Liste enthält (z.B. WHERE a IN SELTAB mit SELTAB-sign = 'I', SELTAB-option = 'EQ', SELTAB-low = 'test' -- oder WHERE a IN ('test')), so kann diese Anweisung den SAP-Tabellenpuffer nutzen, dies wird aber vom Code Inspector nicht erkannt.


Meldung ausblendbar mit Pseudokommentar "#EC CI_GENBUFF

Folgende Benutzer bedankten sich beim Autor Unit605 für den Beitrag:
treyfifty


Re: Tabelle kann Puffer nicht nutzen

Beitrag von treyfifty (ForumUser / 13 / 5 / 0 ) »
Unit605 hat geschrieben:Ich habe ja extra nach dem Namen der Datenbank "gefragt" um die Meldung nachzustellen.

Habe es auch ohne den Namen hinbekommen, die Meldung im Code Inspector zu erhalten.

Zusaetzlich wurde auch, wie erwartet, eine Erklaerung zu der Meldung im Code Inspector direkt angeboten.

Vola:
Code Inspector
SELECT-Anweisungen, die am SAP-Tabellenpuffer vorbei lesen

Zugriff auf einzelsatzgepufferte Tabelle kann Puffer nicht nutzen

Der SAP-Tabellenpuffer kann bei einzelsatzgepufferten Tabellen nur dann genutzt werden, wenn der Primärschlüssel in der WHERE-Bedingung voll spezifiziert wird. Dabei können nur Felder mit einer '=' oder 'EQ' Bedingung ausgewertet werden. Die Felder des Primärschlüssels dürfen nur mit 'AND' Bedingungen, nicht mit 'OR' Bedingungen verknüpft sein.

Auch die Option 'FOR ALL ENTRIES' führt bei einer einzelsatzgepufferten Tabelle zur Umgehung des Tabellenpuffers.

Falls die WHERE-Bedingung ein einzelnes Schlüsselfeld in einer Selektionstabelle oder IN-Liste enthält (z.B. WHERE a IN SELTAB mit SELTAB-sign = 'I', SELTAB-option = 'EQ', SELTAB-low = 'test' -- oder WHERE a IN ('test')), so kann diese Anweisung den SAP-Tabellenpuffer nutzen, dies wird aber vom Code Inspector nicht erkannt.


Meldung ausblendbar mit Pseudokommentar "#EC CI_GENBUFF
Dankeschön!

Seite 1 von 1

Vergleichbare Themen

3
Antw.
5002
Views
Strukturelle Berechtigungen Puffer
von SaskuAc » 17.12.2019 11:08 • Verfasst in Human Resources
2
Antw.
1333
Views
ABAP Puffer zurücksetzen
von a-dead-trousers » 17.09.2020 12:26 • Verfasst in ABAP® Core
4
Antw.
3850
Views
CS_BOM_EXPL_MAT_V2 behält Stückliste im Puffer??
von crayfish » 25.11.2005 16:23 • Verfasst in ABAP® Core
5
Antw.
8065
Views
Tabl. Puffer leeren / aktualisieren
von Icke0801 » 26.02.2019 08:24 • Verfasst in Basis
4
Antw.
11312
Views
Wertebereich nutzen
von MarkusW » 19.12.2007 09:00 • Verfasst in ABAP® Core

Ü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

Regex in where
Gestern von tar 8 / 393
Daten an Tabelle binden
vor 2 Tagen von Bright4.5 3 / 1658
Programm anlegen mit Vorlage
vor 3 Tagen von DeathAndPain 2 / 312
IT0024 Qualifikationen CP-ID
vor 3 Tagen von DeathAndPain 2 / 554

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

Regex in where
Gestern von tar 8 / 393
Daten an Tabelle binden
vor 2 Tagen von Bright4.5 3 / 1658
Programm anlegen mit Vorlage
vor 3 Tagen von DeathAndPain 2 / 312
IT0024 Qualifikationen CP-ID
vor 3 Tagen von DeathAndPain 2 / 554

Unbeantwortete Forenbeiträge

BUSOBJEKT zu CMIS PHIO ermitteln
vor 3 Tagen von snooga87 1 / 246
aRFC im OO-Kontext
letzen Monat von ralf.wenzel 1 / 3429
Hilfe bei SWEC/SWE2
September 2024 von retsch 1 / 9978