cancel
Showing results for 
Search instead for 
Did you mean: 

SAP Floorplan und PDF

stefan_kagelmacher
Participant
0 Kudos

Hallo,

ich habe einen Floorplan OVP und wollte jetzt ein PDF in einem UIBB anzeigen. Dazu erstellte ich einen Freestyle UIBB, dort eingebunden ist eine Webdypro Applikation. Diese hat ein InertactiveForm UI Element und zeigt den PDF XString an. Soweit die Theorie. Was ich hier beschrieben habe, habe ich bereits in 3 alten Szenarien so umgesetzt und das funktioniert auch. Jetzt wollte ich das einfach kopieren und stoße auf zwei Probleme. Zum einen gibt es im WD jetzt wohl keine InteractiveForm mehr, zum anderen, dafür habe ich eine alte Anwendung kopiert, wird das PDF im Floorplan UIBB nicht angezeigt. Wie kann ich die Anforderung jetzt umsetzen?

Vielen Dank

Stefan

Accepted Solutions (0)

Answers (8)

Answers (8)

simon_hoeg
Product and Topic Expert
Product and Topic Expert
0 Kudos

Hallo Stefan,

Bitteschön 🙂 Was meinst Du mit "Thema Floorplan".

Für den Floorplan Manager allgemein haben wir die üblichen Doku-Quellen:

Viele Grüße,

Simon

simon_hoeg
Product and Topic Expert
Product and Topic Expert
0 Kudos

Hallo Stefan,

ich würde im FlowLayout zunächst mal mit einer festen Höhe z.B. 400px beginnen.

Für eine 100% Höhe des Formulars muss ein anderes Layout, z.B. das MatrixLayout verwendet werden. In der Regel müssen dann auch alle Parent-Container im View das Matrix-Layout inclusive der Matrix-Layout-Data mit 100% Höhe haben. Dazu kommen weitere Properties auf allen Ebenen:

  1. MatrixHeadData -> Vertically Alignment = Top
  2. MatrixLayout -> Stretched Vertically = X

Es sind also weitere Anpassungen notwendig.

Viele Grüße,

Simon

stefan_kagelmacher
Participant
0 Kudos

Super, ich habe das jetzt über das Fenster im Floorplan geregelt. Vielen Dank für die Unterstützung. Zum Thema Floorplan findet man leider nicht mehr viel nützliches Feedback und Support.

simon_hoeg
Product and Topic Expert
Product and Topic Expert
0 Kudos

Hallo Stefan,

ja, im obigen Beispiel wird das UI Element dynamisch erzeugt. Wichtig ist der Display Type '01'.

Man bindet die Source über das Attribut BIND_PDF_SOURCE. Die anderen Properties (HEIGHT, WIDTH, TITLE) kann man auch hart im Coding setzen.

Viele Grüße,

Simon

stefan_kagelmacher
Participant
0 Kudos

Den PDF Source konnte ich jetzt binden. Wie kriege ich das UI Element jetzt aber auf 100%? Den Importparameter "BIND_HEIGHT" mit 100% zu belegen klappt nicht, jetzt habe ich im Context ein Attribut HEIGHT angelegt mit Default Wert 100% und dann gebunden. Das funktioniert aber nicht. Ich kann lediglich den Context Elementen den Default Wert 100 oder 100px mitgeben, aber nicht xx%.

simon_hoeg
Product and Topic Expert
Product and Topic Expert
0 Kudos

Hallo Stefan,

natürlich sollte die Bindung der Kontextknoten zu Deiner Anwendung passen, hier bitte das Coding entsprechend anpassen.

Viele Grüße,

Simon

stefan_kagelmacher
Participant
0 Kudos

Sorry, ich steh auf dem Schlauch. Im Layout des Views gibt es ja gar kein Interactive Element mehr, im Context des Views habe ich ein PDF Element angelegt, was einen XSTRING aufnimmt. Ich dachte das UI Element wird dynamisch im MODIFY erzeugt?

simon_hoeg
Product and Topic Expert
Product and Topic Expert
0 Kudos

Hallo Stefan,

sorry ... in diesem Editor gibt es keine Syntaxprüfung 🙂

Es muss heißen:

 data(lo_flow_data) = cl_wd_flow_data=>new_flow_data( lo_ifba ).
lo_ifba->set_layout_data( lo_flow_data ).
stefan_kagelmacher
Participant
0 Kudos

Ich bin wirklich dankbar für die Hilfe. Der Syntaxfehler ist weg, aber jetzt kommt die Meldung ...

simon_hoeg
Product and Topic Expert
Product and Topic Expert
0 Kudos

Hallo Stefan,

das ist nur ein Problem mit dem Layout.

Wenn der Parent-Container ein FlowLayout hat, dann bitte die Zeilen

 lo_grid_data = cl_wd_grid_data=>new_grid_data( lo_ifba ).
lo_ifba->set_layout_data( lo_grid_data ).
ersetzen durch
 data(lo_layout_data) = cl_wd_layout_data=>new_layout_data( lo_ifba ).
lo_ifba->set_layout_data( lo_layout_data ).
Viele Grüße,
Simon
stefan_kagelmacher
Participant
0 Kudos

Die Klasse CL_WD_LAYOUT_DATA hat leider keine Methode NEW_LAYOUT_DATA ??

machbrown2
Explorer
0 Kudos

Hello,

  1. Migrate to Adobe PDF Form:

    • Replace InteractiveForm with "Adobe PDF Form" UIBB.
    • Configure Adobe Document Services.
  2. Check Compatibility:

    • Ensure code aligns with the latest SAP UI standards.
  3. Debug and Troubleshoot:

    • Use debugging tools.
    • Check console/log files for errors.
  4. Review Copying:

    • Compare configurations.
    • Verify all components in the copied app.
  5. SAP Support:

  • Seek help if issues persist.
  • you can also visit :
https://help.sap.com/doc/8ff35dfed9cc4ef9b1e32bece9a61401/HowTo/en-US/SAP_FS-PM_51__Guide_for_Floor...power bi
simon_hoeg
Product and Topic Expert
Product and Topic Expert
0 Kudos

Hallo Stefan,

die modernen Browser unterstützen kein ActiveX mehr, darum gibt es bei diesem Thema Änderungen.

In der Testanwendung WDR_TEST_PDF_VIEWER wird das UI Element dynamisch hinzugefügt mit DisplayType Native (01), siehe unten.

Viele Grüße,

Simon

method WDDOMODIFYVIEW .
IF first_time = abap_true.

DATA lo_rootContainer TYPE REF TO cl_wd_uielement_container.
DATA lo_ifba TYPE REF TO cl_wd_interactive_form.
DATA lo_grid_data TYPE REF TO cl_wd_grid_data.
DATA lv_disptype TYPE wdui_interact_form_disp_type VALUE '01'.

lo_rootContainer ?= view->GET_ROOT_ELEMENT( ).

CALL METHOD cl_wd_interactive_form=>new_interactive_form
EXPORTING
id = 'INTERACTIVE_FORM_PDF_VIEWER'
bind_pdf_source = 'PROPERTIES.PDF_CONTENT'
enabled = ''
bind_height = 'PROPERTIES.HEIGHT'
bind_width = 'PROPERTIES.WIDTH'
bind_title = 'PROPERTIES.TITLE'
display_type = lv_disptype
RECEIVING
control = lo_ifba.

lo_grid_data = cl_wd_grid_data=>new_grid_data( lo_ifba ).
lo_ifba->set_layout_data( lo_grid_data ).
lo_rootContainer->add_child( EXPORTING the_child = lo_ifba ).

ENDIF.
endmethod.
stefan_kagelmacher
Participant
0 Kudos

Hallo Simon,

vielen Dank für den Tipp. Die o.g. Anwendung haben wir in unserem System gar nicht. Ich habe jetzt einfach mal meine alte Anwendung, wo die PDF Anzeige funktioniert, kopiert, im Layout des Views das PDF Element entfernt und Deinen Code in die MODIFY Methode gesetzt. Da kommt aber folgende Fehlermeldung.

Noch ein Tipp?

Vielen Dank und Gruß