* Docking-Container für Einbettung cl_gui_picture
DATA: o_dock TYPE REF TO cl_gui_docking_container.
* Bildname, siehe SE78
PARAMETERS: p_name TYPE tdobname DEFAULT 'IDES_LOGO'.
AT SELECTION-SCREEN OUTPUT.
TRY.
IF NOT o_dock IS BOUND.
* Dockingcontainer erzeugen
o_dock = NEW #( repid = sy-repid
dynnr = sy-dynnr
side = cl_gui_docking_container=>dock_at_right
ratio = 50 ).
ENDIF.
* Get a BDS graphic in BMP format (using a cache)
DATA(lv_xstr_bmp) = cl_ssf_xsf_utilities=>get_bds_graphic_as_bmp( p_object = 'GRAPHICS'
p_name = p_name
p_id = 'BMAP'
p_btype = 'BMON' ). " BMON - Rasterbild schwarz-weiß, BCOL - Rasterbild Farbe
DATA(it_bin_bmp) = cl_bcs_convert=>xstring_to_solix( lv_xstr_bmp ).
DATA: lv_url TYPE swk_url.
* temporäre URL auf das Bild erzeugen
CALL FUNCTION 'DP_CREATE_URL'
EXPORTING
type = 'image/bmp' " https://wiki.selfhtml.org/wiki/MIME-Type/%C3%9Cbersicht
subtype = 'bmp'
TABLES
data = it_bin_bmp
CHANGING
url = lv_url
EXCEPTIONS
dp_invalid_parameter = 1
dp_error_put_table = 2
dp_error_general = 3
OTHERS = 4.
* Bild über die URL laden und anzeigen
DATA(o_pic) = NEW cl_gui_picture( parent = o_dock ).
o_pic->set_display_mode( display_mode = cl_gui_picture=>display_mode_fit_center ).
o_pic->load_picture_from_url_async( lv_url ).
* Flush ist wichtig für die Abarbeitung des GUI-Queues, sonst gibt es einen Core-Dump -> "SYSTEM_POINTER_PENDING"
cl_gui_cfw=>flush( ).
CATCH cx_root INTO DATA(e_txt).
WRITE: / e_txt->get_text( ).
ENDTRY.
Kategorien
-
Neueste Beiträge
- [ABAP] BDS-Grafiken (Bitmaps) auslesen und anzeigen
- [ABAP] Benutzerparameter lesen/setzen
- [ABAP] CDS-View zur Anzeige von Änderungsbelegen
- Physik
- [ABAP] ABAP-Sprache aus T002, T002T und T002TX lesen (xco_cp_language)
- [ABAP] Workflow: Inhalt (Workitems) der MyInbox eines Users auflisten
- [ABAP] SAP-Office: Emails und Attachements lesen
- [SAP Fiori] Custom Fields zu Standard Fiori Apps hinzufügen
- [SAP Fiori] Erweiterungsmöglichkeiten von SAP Fiori Apps
- [RAP] Code-Beispiel für Feldprüfungen