Armin Kern
12. Februar 2014

Dynamisches Einbinden einer Grafik in AIF/SIFbA (1)

In diesem Beitrag zeige ich Ihnen am Beispiel des SEPA-Lastschriftmandats, wie das Einbinden einer Grafik in AIF funktioniert und was Sie dabei beachten müssen. 

Standardmäßig kann im Customizing ein Formular pro Mandant hinterlegt werden. Arbeiten mehrere Buchungskreise auf dem Mandant, besteht die Anforderung, für jeden Buchungskreis das entsprechende Logo zu verwenden.

Projektleitung, Projektbegleitung oder einfach nur Unterstützung in der Entwicklung. Unsere Mitarbeiter haben langjährige Erfahrungen in der SAP Formulargestaltung und Sie können von unserem Knowhow profitieren. Eine Übersicht über unsere Dienstleistungen finden Sie hier: Formular-Experten von MINDFORMS buchen

Kontaktieren Sie mich: Telefon 0211 946 285 72-35 oder per E-Mail info@mindforms.de
In einem unverbindlichen Gespräch kann ich mit Ihnen über Ihre Ausgangslage sprechen und Ihnen Lösungsmöglichkeiten aufzeigen. Selbstverständlich können wir danach auch ein unverbindliches Angebot unterbreiten.

Vorbereitung

Die Logos werden über die Transaktion SE78 hochgeladen.

Tipp: Speichern Sie das Bild vorab in 256 Farben, um Farbveränderungen zu vermeiden!

Grafiken_1

Die Transaktion SFP öffnet den Einstieg des Form Builders. Hier können Sie neue Formulare und Schnittstellen anlegen. Im vorliegenden Fall werden das bestehende Formular „SEPA_MANDATE“ und die zugehörige Schnittstelle  „SEPA_MANDATE_IF“ in den Kundennamensraum kopiert.

SAP Adobe Forms

E-Book: SAP Adobe Forms

Adobe Forms ist der Standard für Druckformulare, denn es ermöglicht effizientes und gewinnbringendes Arbeiten.

Anpassen der Formular-Schnittstelle

Öffnen Sie die Schnittstelle. Im Menübaum links tragen Sie im Menüpunkt Import die benötigten Importparameter ein. In Abhängigkeit eines dieser Parameter wird später die entsprechende Grafik verwendet. In diesem Fall handelt es sich dabei um das Feld „REC_ID“ der Struktur „MANDATE“.

Tipp: Mit Doppelklick auf die Typbezeichnung ist der Absprung in die Detailsicht des verwendeten Typs möglich.

Grafiken_2

Legen Sie als nächstes zwei globale Variablen an. Die Variable vom Typ XSTRING beinhaltet später die verwendete Grafik. Die Variable vom Typ STRING beinhaltet die Information, welcher Grafiktyp verwendet wird.

Grafiken_3

Im Menüpunkt „Coding Initialisierung“ folgt nun das Befüllen der später benötigten Variablen. Innerhalb der IF-Abfrage wird in Abhängigkeit vom Buchungskreis das entsprechende Logo ausgewählt. Der Methodenaufruf sorgt für das Umwandeln der BDS-Grafik in ein Bitmap.

Grafiken_4

 

DATA: lv_logo TYPE tdobname.
gv_mtyp = 'image/bmp'.

IF mandate-rec_id = 'BUKRS1'.
lv_logo = 'SE78_LOGO_NAME1'.
ELSEIF mandate-rec_id = 'BUKRS2'.
lv_logo = ' SE78_LOGO_NAME2'.
ENDIF.

 CALL METHOD cl_ssf_xsf_utilities=>get_bds_graphic_as_bmp
 EXPORTING
p_object        = 'GRAPHICS'
p_name         = lv_logo
p_id               = 'BMAP'
p_btype         = 'BCOL'
  RECEIVING
p_bmp          = gv_logo
EXCEPTIONS
not_found      = 1
internal_error = 2
OTHERS         = 3.

IF sy-subrc <> 0.
*   Error handling
ENDIF.

Anpassen des Formulars

Wechseln Sie von der Schnittstelle zum Formular (SFP). Falls Sie ein Standardformular kopiert haben, passen Sie bitte die verwendete Schnittstelle an. Legen Sie im Kontext eine Grafik an.

Grafiken_5

Als Grafiktyp wählen Sie bitte „Grafikinhalt“. Speichern Sie die Änderung und bestätigen Sie das Popup: „Wollen Sie den Typ des Grafikknotens wirklich ändern?“

Grafiken_6

Tragen Sie daraufhin in den Eigenschaften der Grafik als Feld die globale Variable ein, die die Grafik beinhaltet (XSTRING) und als MIME-Typ die globale Variable, die den Grafiktyp beinhaltet (STRING).

Grafiken_7

Wechseln Sie nun ins Layout des Formulars. Fügen Sie hier ein Bildfeld ein, wandeln ein vorhandenes Bild in ein Bildfeld um oder verwenden Sie ein bereits vorhandenes Bildfeld. Binden Sie die zuvor im Kontext angelegte Grafik an das Bildfeld ein.

Grafiken_8

In Abhängigkeit des Buchungskreises wird nun automatisch das korrekte Logo verwendet.

Grafiken_9

einbinden einer Grafik in AIF

Hier kommen Sie zum zweiten Teil dieser HowTo-Reihe.

Fazit

Hat Ihnen dieses How To weitergeholfen oder haben Sie noch Fragen zum dynamischen Einbinden von Grafiken in AIF (Adobe Interactive Formular)?
Ich freue mich über Ihre Anmerkungen in den Kommentaren!

Armin Kern

Armin Kern

Mein Name ist Armin Kern und ich bin HR Business Partner bei mindsquare. Mein Schwerpunkt liegt damit neben meiner Tätigkeit als Consultant auf der Entwicklung von Mitarbeitern.

Sie haben Fragen? Kontaktieren Sie mich!



Das könnte Sie auch interessieren

In dem Artikel Dynamisches Einbinden einer Grafik in AIF/SIFbA habe ich Ihnen gezeigt, wie Sie eine Grafik dynamisch in ein Adobe-Interactive-Formular einbinden können. Im Folgenden stelle ich Ihnen eine weitere Methode […]

weiterlesen

Die wenigsten Formulare werden über ihren gesamten Lebenszyklus nur von einem einzigen Entwickler betreut. Wenn Sie Formulare programmieren, sollten Sie daher ein paar Konventionen beherzigen, um Struktur und Lesbarkeit des […]

weiterlesen

OpenText ist ein Software-Anbieter für Dokumenten-Management und wird seit einigen Jahren als Alternative zu den gängigen Formulartechnologien der SAP gehandelt. Viele Unternehmen stellen sich daher die Frage, ob OpenText auch […]

weiterlesen

Ein Kommentar zu "Dynamisches Einbinden einer Grafik in AIF/SIFbA (1)"

Hallo Herr Kern,

können Sie mir sagen ob es eine Begrenzung in der Abhängigkeit der Logos gibt? Auch würde mich interessieren ob es eine Möglichkeit gibt die Logos gesammelt einzupflegen oder muss ich das bei allen einzeln machen?

Beste Grüße
Frank

Antworten

Schreiben Sie einen Kommentar

Bitte füllen Sie alle mit * gekennzeichneten Felder aus. Ihre E-Mail Adresse wird nicht veröffentlicht.





Kontaktieren Sie uns!
Julia Buecker
Julia Bücker Kundenservice