Direkt zum Hauptbereich

Posts

Es werden Posts vom August, 2013 angezeigt.

SAP MDG Metadaten Refresh

Bei Änderungen im Datenmodell, in meinem Fall die Pflege einer Z* Suchhilfe zu einem Attribut, ist neben der Aktivierung / Generierung des Modells / der Strukturen auch ein Löschen des Shared Memory zu empfehlen. Dafür bietet SAP den Report MDG_BS_MAT_METADATA_INVALIDATE an. Erst nach Ausführung dieses Reports wurde die neue Suchhilfe auf der Weboberfläche gezogen.

WebDynpro CellPopin

Auf der Suche nach einem HowTo zur Realisierung eines CellPopin bin ich auf folgende Testapplikation gestoßen: Web-Dynpro-Component & - Anwendung: WDR_TEST_TABLE View: CELL_POPIN Darin findet man das Vorgehen zur Realisierung. Alle verfügbaren HowTos / Tutorials bezogen sich nur auf das RowPopin, seien hier aber auch mal erwähnt: http://scn.sap.com/community/web-dynpro-abap/blog/2012/04/09/table-popin-in-webdynpro http://webdynproabap.wordpress.com/2012/07/09/table-popin/

Struts RequestProcessor

In einer älteren Struts 1.x Webanwendung gab es Probleme mit Speicherlecks. Im Laufe der Analyse stieß ich auf die Klasse org.apache.struts.action.RequestProcessor. Sie instanziiert bei Bedarf die Actionklassen, speichert sie zwischen und verwendet diese Instanzen für eingehende Requests wieder. Das Problem der Webanwendung bestand darin, dass am Ende der Requestverarbeitung die Daten der Actionklassen (große ResultSets aus SQL Statements ect.) nicht sauber aufgeräumt wurden. Da die Actionklasseninstanzen vom RequestProcessor weiter gehalten werden, greift die Garbage Collection nicht. Somit verbrauchte jede Actionklasse sehr viel Speicher für veraltete Daten. Außerdem waren die Klassen entgegen des Hinweises in der Dokumentation (siehe Kapitel 4.4.1) nicht thread-safe. Dies machte sich durch Exceptions (z.B.: java.util.ConcurrentModificationException) bzgl. konkurrierender Zugriffe auf Daten der Actionklassen bemerkbar. Durch die große Anzahl der Actionklassen war eine