CL_ABAP_MEMORY_UTILITIES - Hilfsmittel zur ABAP-Speicherverwaltung
RFUMSV00 - Advance Return for Tax on Sales/Purchases Vendor Master (General Section)Diese Dokumentation steht unter dem Copyright der SAP AG.
Funktionalität
Diese Klasse stellt Methoden zur Verfügung, um während der Laufzeit eines Programmes oder Transaktion Informationen über den aktuellen Speicherverbrauch zu erhalten.
- WRITE_MEMORY_CONSUMPTION_FILE
Diese Methode erzeugt einem Speicherabzug. Mit dem Programm BC_MEMORY_INSPECTOR kann dieser Speicherabzug ausgewertet werden.
- GET_MEMORY_SIZE_OF_OBJECT
Mit dieser Methode kann man die Größe eines dynamisch erzeugten Objektes, d.h. Strings,Tabellenrumpfes (interne Tabelle), Instanzen von Klassen (Objekt) und anonyme Datenobjekte, berechnen.Die Objekte werden durch eine Referenz in dem Importing-Paramter OBJECT spezifiziert. Es werden dergebundene Speicher, d.h der Speicher, der beim Löschen des Objektes minimal freigegeben wird,sowie der referenzierte Speicher, d.h. der Speicher, der beim Löschen maximal freigegeben wird,berechnet. Da interne Tabelle und Strings i.a. mehr Speicher allokiert haben als aktuell benutzt werden,so werden die Wert gebundener und referenzierter Speicher nochmals in 'allokiert' und 'benutzt' unterteilt.Die dynamisch erzeugten Objekte bilden einen gerichteten Graphen, der die dynamisch erzeugten Objekteals Knoten und die Referenzen auf die dynamisch erzeugten Objekte als Kanten enthält. Bei derBerechnung des gebundenen Speichers wird die Größe eines referierten Knotens (Vaterknotenzeigt auf Kindknoten) der Größe des Vaterknotens genau dann hinzugerechnet, wenn der Kindknoten ein Tabellenrumpf (interne Tabelle) oder ein String mit Referenzzähler eins ist.
Falls das Objekt in einer nicht-trivialen starken Zusammenhangskomponente des Objektgraphes liegt, sowird auch die Größe dieser Zusammenhangskomponente mit ausgegeben. Ob die Werte gefüllt sind, hängt an dem Parameter IS_PART_OF_NON_TRIVIAL_SZK.
Falls nicht mehr genügend Speicher vorhanden ist, um den Objektgraphen zu durchlaufen, wird einzweiter Versuch gestart, bei dem weniger Speicher gebraucht wird, aber als Ergebnis stehen dann nur noch die Werte BOUND_ALLOC_SIZE und BOUND_USED_SIZE zur Verfügung. In diesem Fall ist LOW_MEM auf 'X' gesetzt.
Falls auch für diesen eingeschränkten Modus nicht genügend Speicher zur Verfügungsteht, so werden die Parameter BOUND_ALLOC_SIZE, BOUND_USED_SIZE, REFERENCED_SIZE_ALLOC und REFERENCED_SIZE_USED auf -1 gesetzt.
Falls das Objekt im Shared Memory liegt, so ist IS_IN_SHARED_MEMORY mit 'X' belegt.
- DO_GARBAGE_COLLECTION
Diese Methode ruft den Garbage Collector auf. Der Garbage Collector gibt nicht-referenzierten (und dahernicht mehr benötigten) Speicher frei. Der Garbage Collector wird in gewissen Abständenautomatisch aufgerufen. In manchen Situationen kann es vorteilhaft sein, nicht auf den nächsten automatischen Aufruf zu warten, sondern den Garbage Collector direkt aufzurufen, wozu diese Methode dient.
Beziehungen
Beispiel
Hinweise
Weiterführende Informationen
Fill RESBD Structure from EBP Component Structure Vendor Master (General Section)
Diese Dokumentation steht unter dem Copyright der SAP AG.
Length: 3239 Date: 20120527 Time: 083849 triton ( 172 ms )






