Show TOC Anfang des Inhaltsbereichs

Vorgehensweisen Vorhandenes PDF-Formular (MIME-Objekt) einbinden Dokument im Navigationsbaum lokalisieren

Verwendung

Formulare, die im System als MIME-Objekte im MIME-Repository mit dem MIME-Type application/pdf abgelegt sind, können in eine Web-Dynpro-Applikation integriert und angezeigt werden.

Dazu binden Sie die Eigenschaft pdfSource an ein Context-Attribut vom Typ XSTRING, über das dann das PDF-Formular gezogen wird. In diesem Fall wird also weder die templateSource noch die dataSource gesetzt.

Hinweis

Beachten Sie, dass in Szenarios, bei denen lediglich die pdfSource gesetzt wird, die Eigenschaften enabled und readOnly nicht ausgewertet werden. Das Formular wird dann beispielsweise zum Drucken angezeigt (die Anzeige geschieht ohne den ADS und ohne das ACF).

Über den unten beschriebenen Methodenaufruf kann das PDF-Dokument zwar eingabebereit geschaltet werden, aber es gibt keine Context-Bindung. Stattdessen kann das geänderte Dokument aus der pdfSource abgeholt und applikationsspezifisch weiterverarbeitet werden.

Voraussetzungen

Sie legen Ihr Formular im StrukturlinkMIME-Repository ab. Am einfachsten importieren Sie dazu in Ihre Web-Dynpro-Component das entsprechende Formular über Anlegen ® MIME-Objekt ® Importieren.

In der Objektliste Ihrer Component erscheint das importierte PDF unter MIMEs.

Beispiel

Beispiel:

Diese Grafik wird im zugehörigen Text erklärt

Vorgehensweise

...

       1.      Legen Sie im Web Dynpro Explorer für die von Ihnen bearbeitete Component eine View an oder wählen Sie eine View aus, die Sie um das Formular erweitern möchten.

       2.      Legen Sie im Context der View das Context-Attribut an, das später an das Formular gebunden werden soll und wählen Sie als Typisierung XSTRING.

       3.      Ziehen Sie in der View das UI-Element StrukturlinkInteractiveForm aus der integration-Kategorie in den Layout-Designer.

       4.      Verzweigen Sie zu den Methoden Ihrer View und bearbeiten Sie WDDOINNIT, indem Sie das Coding dieser Methode z.B. folgendermaßen ergänzen:

method WDDOINIT .

    data:

      Elem_Context                        type ref to If_Wd_Context_Element,

      Stru_Context                        type If_View=>Element_Context ,

      Item_STATIC_PDF                     like Stru_Context-STATIC_PDF.

*    get element via lead selection

      Elem_Context = wd_Context->get_Element(  ).

 

DATA: mr      TYPE REF TO if_mr_api,

      lurl    TYPE        string.

* get name of component

data: l_component type ref to if_wd_component,

      l_component_info type ref to if_wd_rr_component,

      l_name type string.

 

l_component = wd_comp_controller->wd_get_api( ).

l_component_info = l_component->get_component_info( ).

l_name = l_component_info->get_name( ).

 

* get mime object

mr = cl_mime_repository_api=>get_api( ).

call method CL_WD_UTILITIES=>CONSTRUCT_WD_URL( exporting APPLICATION_NAME = l_name

                                               importing OUT_LOCAL_URL    = lurl ).

concatenate lurl '/' 'popup.pdf' into lurl.

mr->get( EXPORTING  i_url     = lurl

         IMPORTING  e_content = Item_Static_Pdf  ).

 

Elem_Context->set_Attribute(

      exporting

        Name =  `STATIC_PDF`

        Value = Item_Static_Pdf ).

 

endmethod.

Hierbei müssen Sie lediglich den Namen Ihres MIME-Objekts, im vorliegenden Beispiel popup.pdf, angeben.

Das MIME-Objekt können Sie auch erhalten, indem Sie den Pfad händisch einfügen:

    DATA: mr     TYPE REF TO if_mr_api,

          content TYPE        xstring.

    mr = cl_mime_repository_api=>get_api( ).

    mr->get( EXPORTING  i_url     = 'sap/bc/webdynpro/sap/zhvg_adobe2/popup.pdf'

             IMPORTING  e_content = content ).

 

       5.      Binden Sie in der Eigenschaftentabelle für InteractiveForm die pdfSource gegen Ihr im zweiten Schritt angelegtes Context-Attribut.

       6.      Nach dem Befüllen der angelegten Context-Struktur z.B. mit Hilfe einer geeigneten Supply-Funktion und der Einbindung in die Navigation des Windows können Sie eine Anwendung anlegen und diese aktivieren und testen.

 

Ende des Inhaltsbereichs