Anlegen eines Controls am Beispiel des SAP Picture
Voraussetzungen
Der folgende Ablauf ist für alle von SAP ausgelieferten Custom Controls anwendbar. In den Code-Beispielen wird immer auf das SAP Picture Control eingegangen. Für andere Controls ist aber im Prinzip nur die Klasse des Controls auszutauschen.
Weiterhin geht das Beispiel davon aus, daß das Custom Control in einem Custom Container eingebaut wird. Andere Szenarios werden in der Dokumentation zu den Control Containern beschrieben.
Ablauf
Instanz anlegen
DATA container TYPE REF TO cl_gui_custom_container.
DATA picture TYPE REF TO cl_gui_picture.
CREATE OBJECT container
EXPORTING container_name = 'CUSTOM'
lifetime = lifetime.
CREATE OBJECT picture
EXPORTING parent = container
lifetime = lifetime.
Ereignis anmelden
Arbeiten mit dem Control
Abbau der Controls
In der Regel übernimmt das
Lifetime Management den Abbau der verwendeten Controls. Wenn Sie die Controls aber in Ihrem Programm selbst abbauen wollen, führen Sie folgende Schritte aus:CALL METHOD picture->free
EXCEPTIONS cntl_error = 1
cntl_system_error = 2.
CALL METHOD container->free
EXCEPTIONS cntl_error = 1
cntl_system_error = 2.
Beachten Sie die Reihenfolge, in der Sie die Controls am Frontend abbauen. Wenn Sie einen Container abbauen, werden nämlich automatisch alle in dem Container eingebundenen Controls auch abgebaut. Der Versuch, ein bereits abgebautes Control erneut abzubauen, führt zu einem Fehler. Mit der Methode
is_alive kann nachgeprüft werden, ob das Control schon abgebaut wurde.FREE PICTURE.
FREE CONTAINER.