!--a11y-->
Vorhandenes PDF-Formular (MIME-Objekt)
einbinden 
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.

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.
Sie legen Ihr Formular im
MIME-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:

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