Ansicht
Dokumentation

ABENINITIAL_MEMORY_REQU_GUIDL - INITIAL MEMORY REQU GUIDL

ABENINITIAL_MEMORY_REQU_GUIDL - INITIAL MEMORY REQU GUIDL

rdisp/max_wprun_time - Maximum work process run time   Fill RESBD Structure from EBP Component Structure  
Diese Dokumentation steht unter dem Copyright der SAP AG.
SAP E-Book

Initialer Speicherbedarf

Interne Tabellen sind blockweise im Speicher abgelegt. Standardmäßig allokiert das ABAP-Laufzeit-Framework einen geeigneten initialen Speicherbereich für die Daten einer Tabelle. Reicht der initiale Speicherbereich nicht mehr aus, werden weitere Blöcke nach einer internen Verdoppelungsstrategie bis zu einem Schwellenwert angelegt. Danach werden alle weiteren Blöcke mit einer konstanten Größe zwischen 8 und 16 Kilobytes angefordert.

Über den Zusatz INITIAL SIZE kann bei der Deklaration einer internen Tabelle eine Anzahl an Tabellenzeilen vorgegeben werden, um die vom System gesetzte Anzahl von initial allokierten Zeilen zu übersteuern.

Initialen Speicherbedarf nur für geschachtelte Tabellen beeinflussen

Verwenden Sie den Zusatz INITIAL SIZE nur bei der Deklaration der inneren Tabellen in geschachtelten Tabellen, wenn damit die unnötige Belegung einer großen Menge an Speicher verhindert werden kann.

Für äußere oder nicht geschachtelte Tabellen ist der Zusatz INITIAL SIZE unnötig, da hier die automatische Speicherallokation durch das Laufzeit-Framework zum gewünschten Ergebnis führt. Lediglich bei geschachtelten inneren Tabellen kann die automatische Speicherallokation zu übermäßigem Speicherverbrauch führen, wenn für eine Vielzahl von inneren Tabellen mehr Speicher allokiert wird, als diese tatsächlich verwenden. Steht die Anzahl der Einträge in den inneren Tabellen von vornherein fest, kann der initiale Hauptspeicherbedarf über INITIAL SIZE passend dimensioniert werden.

Hinweis

Als geschachtelte Tabellen können auch als interne Tabellen deklarierte Instanzattribute von Klassen angesehen werden. Wenn viele Instanzen einer Klasse mit tabellarischen Attributen zu erwarten sind, kann die Angabe von INITIAL SIZE auch hier sinnvoll sein.

Folgender Quelltext zeigt die Deklaration einer geschachtelten Tabelle, wobei der initiale Speicherbedarf fälschlicherweise für die äußere große und nicht für die innere kleine Tabelle angegeben wird.

TYPES small_table TYPE STANDARD TABLE OF ...
  WITH NON-UNIQUE KEY ...
TYPES: BEGIN OF line_structure,
         ...
         int_table TYPE small_table,
         ...
       END OF line_structure,
       big_table TYPE SORTED TABLE OF line_structure
                 WITH UNIQUE KEY ...
                 INITIAL SIZE 10000.

Folgender Quelltext zeigt die Deklaration einer geschachtelten Tabelle, bei welcher der initiale Speicherbedarf wie in obiger Regel empfohlen für die innere kleine, aber nicht für die äußere große Tabelle angegeben wird.

TYPES small_table TYPE STANDARD TABLE OF ...
  WITH NON-UNIQUE KEY ...
  INITIAL SIZE 4.
TYPES: BEGIN OF line_structure,
         ...
         int_table TYPE small_table,
         ...
       END OF line_structure,
       big_table TYPE SORTED TABLE OF line_structure
                 WITH UNIQUE KEY ...






CL_GUI_FRONTEND_SERVICES - Frontend Services   Vendor Master (General Section)  
Diese Dokumentation steht unter dem Copyright der SAP AG.

Length: 4139 Date: 20240523 Time: 162920     sap01-206 ( 67 ms )