[ABAP] BDS-Grafiken (Bitmaps) auslesen und anzeigen

* 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.

Links

[SAP] SAPscript

Transaktionen

SO10 (SAPscript Standardtexte)
SE71 (SAPscript Formular)

  • Formularvergleich: Menü -> Hilfsmittel -> Formulare vergleichen
  • Kopieren: Menü -> Hilfsmittel -> Kopieren von Mandant
  • Druckansicht: Menü -> Hilfsmittel -> Testdruck
  • Formularsuche: Menü -> Formular -> Suchen -> Suche nach Merkmalen

SE72 (SAPscript Stile)
SE75 (SAPscript Einstellungen)

  • Anzeigen und Ändern von Textobjekten + TextIDs, Grafikobjekten, Standardsymbolen

SE78 (Verwaltung von Formulargrafiken)
TXBA (Verwendungsnachweis für Textbausteine)
RECATM (Manage Text Modules)

Tabellen

STXH (STXD SAPscript Text-Datei Header)

  • Formulare suchen: Objekt ‚FORM‘, Textname ‚FORMULARNAME‘, ID ‚DEF‘

TTXID (Zulässige Text-Id’s)
TTXIT (Texte zu Text-Id’s)
TTXOT (Kurztexte zu Textobjekten)
TTXOB (Eigenschaften der Textobjekte)

Reports

RSTXTRAN (Transfer of SAPscript Texts to a Correction)
RSTXSCRP (SAPscript Export to Dataset / SAPscript Import from Dataset)
RSTXPDFT4 (Konvertiere SAPscript (OTF) oder ABAP List Spool Job nach PDF)
RSTXPDFT5 (GUI Download eines Spool-Auftrages)
ICL_TEXTMOD_MAINTAIN (Textbausteine verwalten)

  • beliebige Textobjeke pflegen

SF_MIGRATE (Report zum Migrieren von SAPscript-Formularen)

Links