Transaktion SFP - Logo einbinden

Aus SAP-Wiki
Wechseln zu: Navigation, Suche

In einem Formular ist es sehr häufig, dass ein Logo dargestellt wird. Hier kann das Logo als Referenz eingebunden werden oder indem der Grafikinhalt dem Formular übergeben wird.

Hier wird beschrieben, wie in der Transaktion SFP das Logo als Grafikinhalt eingebunden wird.

Transaktion SFP - Schnittstelle

Globale Daten

  • LOGO_BMP TYPE XSTRING
  • leere MIMETYP-Variable

Coding Initialisierung

Hier hängt das Logo von der Verkaufsorganisation ab.

PERFORM read_picture_bds USING gbs_head-vkorg
                      CHANGING logo_bmp
                               lv_retcode.
*&---------------------------------------------------------------------*
*&      Form  read_picture_bds
*&---------------------------------------------------------------------*
*       Grafikdatei aus BDS als BMP lesen
*----------------------------------------------------------------------*
*      -->IV_VKORG   Verkaufsorganisation
*      -->CS_PIC_BMP Binärdaten des Bild als BMP
*      -->CV_RETCODE Returncode
*----------------------------------------------------------------------*
FORM read_picture_bds USING value(iv_vkorg) TYPE vkorg
                   CHANGING cs_pic_bmp TYPE xstring
                            value(cv_retcode) TYPE sysubrc.
  DATA:
    lv_object TYPE tdobjectgr,
    lv_name TYPE tdobname,
    lv_id   TYPE tdidgr,
    lv_btype TYPE tdbtype.

  CLEAR: cs_pic_bmp.

  lv_object = 'GRAPHICS'.
  lv_id     = 'BMAP'.
  lv_btype  = 'BCOL'.  "(farbige Grafik) für Schwarz-Weiß BMON (Domäne TDBTYPE)
  CONCATENATE 'Z_LOGO_' iv_vkorg INTO lv_name.

* Grafik aus BDS als BMP lesen
  CALL METHOD cl_ssf_xsf_utilities=>get_bds_graphic_as_bmp
    EXPORTING
      p_object       = lv_object
      p_name         = lv_name
      p_id           = lv_id
      p_btype        = lv_btype
    RECEIVING
      p_bmp          = cs_pic_bmp
    EXCEPTIONS
      not_found      = 1
      internal_error = 2
      OTHERS         = 3.
  cv_retcode = sy-subrc.
ENDFORM.                    " read_picture_bds

Transaktion SFP - Formular

Reiter Kontext

  • Anlage eines Elements vom Typ "Grafik"
    • Grafiktyp = "Grafikinhalt"
    • Feld = Feldinhalt (Bindung auf LOGO_BMP)
    • MIME-Typ = hier muss eine Variable eingefügt werden, die aber leer sein kann

Reiter Layout (Adobe LiveCycle Designer)

  • Einfügen eines Objektes vom Typ "Bildfeld"
  • Binding auf das Grafikobjekt vom Kontext

Bilddaten einbetten

Grafiken können in das Formular eingebettet werden. Der Inhalt der Grafik wird komplett in das Formular kopiert. Die URL muss danach nicht mehr gefüllt sein. Wenn sie es ist, „stört“ es die eingebettete Datei auch nicht. Z. B. kann die URL hinterher auf ein vom Formularentwickler nicht existierenden Pfad verweisen und die Grafik wird trotzdem angezeigt - weil sie ins Formular eingebettet wurde.

AdobeBilder2.JPG

Grafikausgabe per Scripting ausblenden

Die Ausgabe kann per Scripting unterbunden werden, bzw. die Grafik/entsprechende Teilformular auf "hidden" oder "invisible" gesetzt werden.

Hier wurde das Feld KSCHL genutzt für die Abfrage, aber seine Präsenz auf "unsichtbar" (invisible) gesetzt, damit sein Wert nicht im Formulardruck erscheint. In Abhängigkeit der Nachrichtenart ZALC wird das Teilformular „scr_HEADER“ ausgeblendet und somit die Grafik „HEADER“ nicht ausgegebeben.

AdobeBilder3.JPG

Maße und Auflösung von Grafiken in Formularen

Web-Links