Björn Lambertz
Björn Lambertz
 - 13. Juli 2014

Einbinden eines Web Services in AIF

PDF Formulare finden wir heutzutage in jedem Bereich unseres Lebens. Sie sind einfach und bequem auszufüllen. Wir können Sie auf dem eigenen Rechner ausgefüllt archivieren und auch digital versenden. Dennoch ist es immer etwas umständlich, das PDF erst zu speichern, Email-Client oder Website für den Upload aufzurufen, die Datei auf der Festplatte zu suchen und dann zu verschicken. Auf der Gegenseite sitzt ein Bearbeiter, der dann wiederum alles händisch ins System einträgt.

Hier wäre es doch schöner, wenn dies alles automatisch geschehen könnte. Und genau das können wir durch die Verbindung des PDFs mit einem Web Services in AIF erreichen!

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 gesamten Knowhow profitieren. Unser passendes Angebot 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 Möglichkeiten aufzeigen. Selbstverständlich können wir danach auch ein unverbindliches Angebot unterbreiten.

Das Formular

Als erstes legen wir über die Transaktion „sfp“ eine Schnittstelle an.

Diese kann leer sein, wir brauchen sie aber für die Erstellung des Formulars.





Danach erstellen wir das Formular, tragen eine Kurzbeschreibung sowie die gerade angelegte Schnittstelle ein.


Nachdem wir auf „Anlegen“ geklickt haben, öffnet sich der Adobe LiveCycle Designer. Dort wechseln wir auf den Reiter „Layout“.

Anschließend auf den Reiter „Datenansicht“ oder alternativ über den Menüpunkt „Palette->Datenansicht“. 

Einbinden des Web Services in AIF

Rechtsklick auf den Rootknoten mit dem Namen des Formulars und „Neue Datenverbindung…“ auswählen.

neuedatenbindung1

Der Name der Datenverbindung ist frei wählbar.

Darunter müssen wir angegeben, in welcher Form die Datenbeschreibung vorliegt. In unserem Beispiel verwenden wir eine WSDL-Datei.



Im darauf folgenden Fenster geben wir die URL der Datei an und klicken auf „Weiter“. 

Im Anschluss daran werden die von der Schnittstelle angebotenen Verbindungen zur Auswahl angeboten.

neuedatenbindung2

Nachdem wir eine Verbindung ausgewählt haben, müssen wir noch die Authentifizierungsmethode für zukünftige Anfragen auswählen. 

Nach klicken auf „Fertig stellen“ gelangen wir zurück zum LCD. In der Datenansicht ist ein neuer Knoten zu sehen.


Die Verbindung

Von dem neuen Knoten können wir jetzt die einzelnen Elemente in die Designansicht per Drag&Drop ziehen.

Das Binding des Web Services in AIF wird automatisch angelegt.

neuedatenbindung3

Abschließend muss das Formular gespeichert und aktiviert werden. (Tipp: Beim Aktivieren mit techn. Nutzer anmelden – im PDF ist später keine Anmeldung mehr notwendig)

E-Book: SAP Druckprogramme

In diesem E-Book erhalten Sie einen leicht verständlichen Einstieg in die Architektur, Funktionen und Wartbarkeit.

Über ein Druckprogramm kann das Formular nun als PDF Datei ausgegeben werden (der Code dazu befindet sich am Ende des HowTo’s).

Web Services in AIF
Fazit zum Thema ‚Web Services in AIF‘

Im erzeugten PDF sind die im LCD ausgewählten Elemente zu sehen.

Mit einem Klick auf den Button wird der Inhalt des Formulars an den Web Service geschickt.

Haben Sie bereits Erfahrungen mit der Verbindung eines PDFs und Web Services in AIF gemacht? Vielleicht haben Sie auch weitere Tipps oder gar einen ganz anderen Weg für die Erstellung des PDFs oder Web Services.

Schreiben Sie mir! Ich freue mich auf Ihr Feedback.

Das Druckprogramm

REPORT  z_msu_howto_ws.

TYPE-POOLS: abap.

DATA: lv_fpname         TYPE fpname,

      lv_module_name    TYPE funcname,

      lv_filename       TYPE string,

      ls_docparams      TYPE sfpdocparams,

      ls_outparams      TYPE sfpoutputparams,

      ls_form_out       TYPE fpformoutput,

      pdf               TYPE fpcontent,

      l_len             TYPE i,

      l_tab             TYPE tsfixml,

      lt_sbook          TYPE sbook.

ls_outparams-preview = abap_false.

ls_outparams-dest = text-001.

ls_outparams-getpdf = abap_true.

ls_outparams-nodialog = abap_true.

ls_docparams-fillable = abap_true.

ls_docparams-dynamic = abap_true.

ls_docparams-langu = sy-langu.

lv_fpname = 'ZAIF_HOWTO_WS'.

CONCATENATE 'C:\TEMP\test_' sy-datlo '_' sy-timlo '.pdf' INTO lv_filename.

CALL FUNCTION 'FP_FUNCTION_MODULE_NAME'

  EXPORTING

    i_name              = lv_fpname

  IMPORTING

    e_funcname          = lv_module_name

  .

CALL FUNCTION 'FP_JOB_OPEN'

  CHANGING

    ie_outputparams = ls_outparams

  EXCEPTIONS

    cancel          = 1

    usage_error     = 2

    system_error    = 3

    internal_error  = 4

    OTHERS          = 5.

IF sy-subrc <> 0.

  WRITE 'Fehler'.

ENDIF.

CALL FUNCTION lv_module_name

  EXPORTING

    /1bcdwb/docparams  = ls_docparams

  IMPORTING

    /1bcdwb/formoutput = ls_form_out

  EXCEPTIONS

    usage_error        = 1

    system_error       = 2

    internal_error     = 3

    OTHERS             = 4.

IF sy-subrc <> 0.

  WRITE 'Fehler'.

ENDIF.

pdf = ls_form_out-pdf.

CALL FUNCTION 'SCMS_XSTRING_TO_BINARY'

  EXPORTING

    buffer        = pdf

  IMPORTING

    output_length = l_len

  TABLES

    binary_tab    = l_tab.

CALL METHOD cl_gui_frontend_services=>gui_download

  EXPORTING

    bin_filesize = l_len

    filename     = lv_filename

    filetype     = 'BIN'

  CHANGING

    data_tab     = l_tab

  EXCEPTIONS

    OTHERS       = 1.

IF sy-subrc <> 0.

  MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno

          WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.

ENDIF.

CALL FUNCTION 'FP_JOB_CLOSE'

* IMPORTING

*   E_RESULT             =

 EXCEPTIONS

   usage_error          = 1

   system_error         = 2

   internal_error       = 3

   OTHERS               = 4

          .

IF sy-subrc <> 0.

  WRITE 'Fehler'.

ENDIF.

 

Björn Lambertz

Björn Lambertz

Mein Name ist Björn Lambertz und ich bin begeisterter SAP Consultant bei mindsquare. Wie meine Kollegen habe ich mein Hobby zum Beruf gemacht.

Sie haben Fragen? Kontaktieren Sie mich!



Das könnte Sie auch interessieren


Schreiben Sie einen Kommentar

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





Angebot anfordern
Preisliste herunterladen
Expert Session
Support