This is a test message to test the length of the message box.
Login
Modernes ABAP Interne Tabelle Performance
Erstellt von Software-Heroes

ABAP - Interne Tabellen (Performance)

489

Der zweite Teil zum Thema interne Tabellen, ihre Verarbeitung und Performance beim Zugriff auf die Daten. Heute mit dem Fokus auf die Performance beim Lesen der Daten.

Werbung


Was du beim Zugriff über die neuen Methoden beachten solltest, ist vor allem das Thema Performance. Wenn du viele Daten und oft Lesen musst aus nternen Tabellen, sollten diese auch dafür vorbereitet werden.

Ein Lesen über den Index, wenn möglich, ist auf jeden Fall immer schnell. Doch nicht in jedem Fall kann und wird mit diesem Schlüssel gearbeitet. In den folgenden Punkten erklären wir dir, wie es sich mit dem Zugriff auf die Daten verhält.

 

Lesen per Index

Das Lesen über den Index ist immer schnell, hier hält SAP einen eigenen Schlüssel vor, der den Zugriff auf spezielle Zeilen beschleunigt. Hier muss nichts an der Performance angepasst oder verbessert werden, dieser Schlüssel ist immer schnell.


" Index Zugriff
DATA(ls_t001) = lt_t001[ 1 ].

 

Lesen per Schlüssel

Etwas kritischer sieht es schon beim Lesen über einen Schlüssel aus. Hier sollte beachtet werden, ob die Tabelle einen Schlüssel hat und entsprechend sortiert ist.

Performanceprobleme machen hier in den meisten Fällen die Standard Tabellen, da diese entweder einen "Schrott"- oder "Empty"-Schlüssel haben. Hier lässt sich nur sinnvoll lesen, wenn die Datenmenge kleiner 100 Datensätze ist, da alles andere nur unerträglich langsam ist.

Von daher haben wir für diesen Fall eine Liste für dich zusammengestellt, um dir die gängisten schnellen und langsamen Zugriffe aufzuzeigen.

 

Langsame Zugriffe
  • Standard Tabelle mit Default/Empty Key
  • Tabelle mit Secondary Key ohne Angabe beim Zugriff

 

Schnelle Zugriffe
  • Sortierte Tabelle
  • Hash Tabelle
  • Secondary Key mit Angabe beim Zugriff
  • Read Table mit Binary Search (Daten müssen sortiert sein)

 

Zur besseren Darstellung und Visualisierung der Zugriffe, wollen wir dir im dritten Teil einen einfachen Report vorstellen, mit dem du die Zugriffe und die Zugriffszeiten prüfen/testen kannst.

 

Lesen von Feldern

Arbeitest du mit einem freien Schlüsselzugriff und möchtest nur Felder aus der Tabelle lesen, solltest du dies aber auch nur mit einem Feld so machen. Schnell wirst du verleitet diesen Zugriff immer und immer wieder zu verwenden. Du solltest aber daran denken, dass jeder dieser Zugriffe auf ein erneutes Lesen der Internen Tabelle auslöst und damit genau so zu Performance-Problemen führen kann.


" Schlechtes Beispiel
ls_data-waers = lt_t001[ bukrs = 'ABCD' ]-waers.
ls_data-btext = lt_t001[ bukrs = 'ABCD' ]-butxt.
ls_data-taxno = lt_t001[ bukrs = 'ABCD' ]-stceg.

" Besseres Beispiel
DATA(ls_t001) = lt_t001[ bukrs = 'ABCD' ].
ls_data-waers = ls_t001-waers.
ls_data-btext = ls_t001-butxt.
ls_data-taxno = ls_t001-stceg.

 

Fazit

Beim Lesen der internen Tabellen haben wir vor allem auf das Thema Modernes ABAP fokusiert, um die Neuerungen und möglichen Fehlerquellen aufzuzeigen. Beim Zugriff über READ TABLE kann man einige Schwächen der neuen Funktionen vermeiden, ist aber dann auch der alt-gewohnte Programmierstil.


Enthaltene Themen:
Modernes ABAPInterne TabellenPerformance
Kommentare (0)



Und weiter ...

Bist du zufrieden mit dem Inhalt des Artikels? Wir posten jeden Freitag neuen Content im Bereich ABAP und unregelmäßig in allen anderen Bereichen. Schaue bei unseren Tools und Apps vorbei, diese stellen wir kostenlos zur Verfügung.


ABAP - XCO Class Runner

Kategorie - ABAP

Wie sieht es mit der Ausführung von ABAP Klassen im Bereich von XCO aus? Schauen wir uns dazu den Class Runner genauer an.

04.02.2025

ABAP - XCO UUID

Kategorie - ABAP

Wie generierst du mit den XCO Klassen eindeutige IDs in ABAP? In diesem Artikel erfährst du, wie schnell und einfach das möglich ist.

28.01.2025

ABAP - XCO Systemfelder

Kategorie - ABAP

Gibt es für SY bzw. SYST auch eine Alternative in der XCO Bibliothek in ABAP Cloud? Einen Blick ist sie auf jeden Fall wert.

24.01.2025

ABAP - XCO Excel

Kategorie - ABAP

Was kann eigentlich die XCO Bibliothek für Excel in ABAP? Hier schauen wir uns den aktuellen Stand der API an.

29.11.2024

ABAP - XCO Strings

Kategorie - ABAP

In diesem Artikel schauen wir uns die XCO Klasse zur Erzeugung und Verarbeitung von Strings für ABAP Cloud an und vergleichen sie mit den klassischen Statements.

22.11.2024