Funktionsbaustein + Web Dynpro --> Fehler

Die Frage ist als "gelöst" markiert. Den entsprechend Beitrag findest du hier.

ABAP Web Dynpro, BusinessServerPages; Erstellung von Webapplikationen.
64 Beiträge • Vorherige Seite 3 von 5 (current) Nächste
64 Beiträge Vorherige Seite 3 von 5 (current) Nächste

Re: Funktionsbaustein + Web Dynpro --> Fehler

Beitrag von jonny_1st (ForumUser / 46 / 0 / 0 ) »
Okay wenn ich jetzt die Schlüssel der Dokumte habe,

wie bekomme ich es dann hin, dass ich die Dokumente dann anzeigen lasse? also z.B. in Pup-Up mit dem ich mir eine Liste der Dokumente wie es die Funktion CV141_SHOW_LINK_DOCUMENT macht?

Okay das ist mir klar dass ich dann über das Webdynpro ein Pop geriere. bloss weiss ich nicht wie ich dann die links bwz. die Dokumente darin abbilde.

Gruß

Alex

gesponsert
Stellenangebote auf ABAPforum.com schalten
kostenfrei für Ausbildungsberufe und Werksstudenten


Re: Funktionsbaustein + Web Dynpro --> Fehler

Beitrag von Thomas R. (Expert / 757 / 78 / 34 ) »
Hallo Alex,
bei WebDynpro kann ich mangels Erfahrung nicht helfen....

MfG
Thomas R.

Re: Funktionsbaustein + Web Dynpro --> Fehler

Beitrag von jonny_1st (ForumUser / 46 / 0 / 0 ) »
Hallo Thomas,

vielen dank aber es geht ja hier um ein Webdynpro.

Gruß Alex

Re: Funktionsbaustein + Web Dynpro --> Fehler

Beitrag von jonny_1st (ForumUser / 46 / 0 / 0 ) »
Hallo Matze,

hast du noch eine idee?

viele Grüße

Alex

Re: Funktionsbaustein + Web Dynpro --> Fehler

Beitrag von jonny_1st (ForumUser / 46 / 0 / 0 ) »
Hallo allerseits, ich denke diesen Thread kann man schließen, da der Titel nicht mehr passt und ich in Erfahrung gebracht habe, dass die Dokumente, die mit der Materialnummer verlinkt sind im Archiv liegen.

Viele Grüße

Alex

Re: Funktionsbaustein + Web Dynpro --> Fehler

Beitrag von Thanatos82 (Expert / 699 / 32 / 123 ) »
hallo Alex,

wenn du eine Tabelle mit den Links hast, musst du dir einen Knoten schaffen, der genau die Elemente enthält, die du in einem Popup darstellen möchtest. Und dann bastelst du dir damit entweder ein ALV in einem eigenen View, oder ein TableControl in einem eigenen View. in der Tabelle kannst du dann programmieren, dass bei Klick auf z.B. einem Symbol (PDF-, Excel-, Word-,JPG-Symbol) ein anderes View geöffnet wird, welches dir dann den Inhalt deines Dokuments darstellt. Das ist gar nicht so kompliziert, wie du jetzt vielleicht denkst, die Reihenfolge wäre:
- Knoten anlegen
- View erstellen
- Button in Ausgangsview einfügen mit einer Methode, die ein neues Window mit dem neuen View öffnet
- im neuen View Methoden hinterlegen, die deine Tabelle füllt und eine onAction-Methode die auf den Klick auf ein Symbol oder Dateinamen reagiert
- noch ein View erstellen, welches nur die verschiedenen Layouts verwalten kann, je nachdem was du anzeigen willst (nicht genutzte ausblenden)
- Verlinkungen zwischen den Views herstellen und ab geht die Luzie! ;) :D

Wenn die Dokumente im Archiv liegen, funktioniert das eben beschriebene auch, du musst deine Tabelle nur eben mit den Daten aus den Archivtabellen füllen (soll heißen du musst das Archiv lesen und deine Dokumente filtern und diese an den Knoten übergeben)

Wenn das Thema beendet ist, setze es doch bitte auf "gelöst". :)
Gruß,
der Matze

Re: Funktionsbaustein + Web Dynpro --> Fehler

Beitrag von jonny_1st (ForumUser / 46 / 0 / 0 ) »
Hey jungs,

iwie komme ich auf keinen grünen Zweig. Ja die Dokumente liegen im Archiv. Jetzt will wirklich nur eine PDF öffnen die zur Materialnummer im Archiv liegt. Aber ich check das System noch nicht durch. Kann ich die File nicht einfach öffnen ohne einen Knoten anzulegen?

viele grüße

Alex

Re: Funktionsbaustein + Web Dynpro --> Fehler

Beitrag von Thanatos82 (Expert / 699 / 32 / 123 ) »
Hi Alex,

du musst ja erstmal das Archiv lesen, dir dann den Link des Dokuments nehmen, welches du darstellen möchtest. Dieses Dokument musst du dann als xstring an deine WebDynpro-Umgebung (also an ein Element in einem Knoten) übergeben, damit der PDF-Baustein des Layouts, diesen dann als gewohntes PDF darstellen kann.

Eine andere Lösung wäre natürlich, ein neues Explorer-Fenster zu öffnen mit der Link-Adresse des Dokuments, allerdings mag ich diese Art nicht besonders, da du deine PDF-Darstellung ja damit aus dem WebDynpro auslagerst und sozusagen "abgibst". Wenn ich schon eine WebDynpro entwickel, dann möchte zumindest ich, dass dort auch alles realisiert und dargestellt wird, soweit möglich.
Gruß,
der Matze

Re: Funktionsbaustein + Web Dynpro --> Fehler

Beitrag von jonny_1st (ForumUser / 46 / 0 / 0 ) »
Danke für deine Antwort,

d.h. ich muss mir den pfad der Datei besorgen, diesen in ein XSTRING attribut abspeichern und z.B. eine InteracitveForm anlegen dessen Source mit dem XSTRING Atrribut verknüpft ist?

Gruß Alex

Re: Funktionsbaustein + Web Dynpro --> Fehler

Beitrag von jonny_1st (ForumUser / 46 / 0 / 0 ) »
Also habe folgendes probiert in einem Minimal-Beispiel:

Habe einfach einen Button angelegt und eine Interacitve-Form und im Context ein Attribut mit Type Xstring. Die Eigenschaft pdfSource der Interactive Form ist mit dem Attribut verbunden.

Code: Alles auswählen.

method ONACTIONOPEN_PDF .

  DATA lr_el_context TYPE REF TO if_wd_context_element.
  DATA  materialnummer TYPE mara-matnr VALUE '000000000000602205'.
  DATA  lt_draw TYPE DRAW.
  DATA  lt_drad TYPE DRAD.
  DATA  lv_xurl TYPE xstring.
  DATA  lv_url TYPE string.

  DATA  ls_documentdata TYPE bapi_doc_draw2.



  SELECT * FROM DRAD INTO lt_drad WHERE OBJKY = materialnummer AND DOKAR = 'ZBA'.
  ENDSELECT.

  SELECT * FROM DRAW INTO lt_draw WHERE DOKNR = lt_drad-doknr.
  ENDSELECT.

*Pfad und weitere Informationen über Datei holen

  CALL FUNCTION 'BAPI_DOCUMENT_GETDETAIL2'
    EXPORTING
      documenttype               = lt_draw-dokar
      documentnumber             = lt_draw-doknr
      documentpart               = lt_draw-doktl
      documentversion            = lt_draw-dokvr
*     GETOBJECTLINKS             = ' '
*     GETCOMPONENTS              = ' '
*     GETSTATUSLOG               = ' '
*     GETLONGTEXTS               = ' '
*     GETACTIVEFILES             = 'X'
*     GETDOCDESCRIPTIONS         = 'X'
*     GETDOCFILES                = 'X'
*     GETCLASSIFICATION          = ' '
*     GETSTRUCTURE               = ' '
*     GETWHEREUSED               = ' '
*     HOSTNAME                   = ' '
*     INHERITED                  = 'X'
   IMPORTING
     DOCUMENTDATA               = ls_documentdata
*    RETURN                     = ls_return
*  TABLES
*     OBJECTLINKS                =
*     DOCUMENTDESCRIPTIONS       =
*     LONGTEXTS                  =
*     STATUSLOG                  =
*     DOCUMENTFILES              =
*     COMPONENTS                 =
*     CHARACTERISTICVALUES       =
*     CLASSALLOCATIONS           =
*     DOCUMENTSTRUCTURE          =
*     WHEREUSEDLIST              =
            .
*Pfad setzen
lv_url = ls_documentdata-docfile1.

*Pfad in XSTRING
CALL FUNCTION 'SCMS_STRING_TO_XSTRING'
  EXPORTING
    text           = lv_url
*    MIMETYPE       = 'pdf'
*   ENCODING       =
 IMPORTING
   BUFFER         = lv_xurl
* EXCEPTIONS
*   FAILED         = 1
*   OTHERS         = 2
          .
IF sy-subrc <> 0.
* Implement suitable error handling here
ENDIF.

*Attribut holen
lr_el_context = wd_context->get_element( ).

*Attribut mit xPfad setzen
lr_el_context->set_attribute(
EXPORTING
  name = 'PDF'
  value = lv_xurl ).


endmethod.
Bekomme eine Fehlermeldung die folgended lautet:

Datei beginnt nicht mit "%PDF-".
Local\EWH')1xxxkj

Kann es sein dass ich den Inhalt der PDF Falsch hole?


Gruß

Alex

Re: Funktionsbaustein + Web Dynpro --> Fehler

Beitrag von Thanatos82 (Expert / 699 / 32 / 123 ) »
Hallo Alex,

der grundsätzliche Weg scheint richtig. Da ich in meinen WebDynpros direkt über das Archiv gegangen bin, ist mein Weg natürlich etwas anders.
Wenn ich mir aber den Baustein SCMS_STRING_TO_XSTRING anschaue, solltest du den MIMETYPE nicht auskommentiert lassen, denn der steht im Default auf Space und nicht auf PDF. Auch beim Encoding solltest du dich nochmal schlau machen, ob da nicht doch was eingetragen werden sollte.

Alternativ (ich weiß nicht, ob du mit dem Baustein wirklich was anfangen kannst, da damit ja ein Link aus dem Archiv gelesen wird) schau dir mal den Baustein SCMS_AO_TABLE_GET an. der liefert dir den Datenstrom tabellarisch zurück, so dass du die zeilen nur über einen CONCATENATE-Befehl zusammenfügen müsstest.

off Topic: ich freue mich aber, dass du Fortschritte machst und selbst suchst, statt auf Lösungen zu warten! :)
Gruß,
der Matze

Re: Funktionsbaustein + Web Dynpro --> Fehler

Beitrag von jonny_1st (ForumUser / 46 / 0 / 0 ) »
Hallo Matze,

danke für deine Antwort.

ich habe folgendes gefunden: https://scn.sap.com/thread/991533

Bei dem Funktionsbaustein SCMS_AO_TABLE_GET muss ich ja eine ARC_ID und DOC_ID mitgeben, wie in dem o.g. Link. Bloß verstehe ich nicht wie ich an diese IDs komme! Mir fehlt da noch der Zusammenhang. Ich weiss nicht wie ich über die die Datei die ich in den Tabellen DRAD,DRAW,DRAT an diese IDs komme.

Außerdem weiss ich nicht wie ich den Baustein SCMS_AO_TABLE_GET nutzen muss/kann.

Mit den MIMETYPES habe ich auch rumgespielt aber ohne Erfolg. Mit dem Enconding kann ich leider nichts anfangen habe schon danach gesucht. Ich habe auch schon versucht einen Zusammehang zwischen eine Dokument und der Tabelle TOA01 zu finden aber no chance :D

Viele Grüße

Alex

Off-Topic: Warum sollte jemand für mich meine BA schreiben ? :D

Re: Funktionsbaustein + Web Dynpro --> Fehler

Beitrag von Thanatos82 (Expert / 699 / 32 / 123 ) »
Hi Alex,

über den Baustein ARCHIV_GET_CONNECTIONS bekommt man diese Daten. Nur wie gesagt, bin ich mir nicht sicher, ob das für deine Dokumente überhaupt zutrifft. Wenn sie wirklich archiviert sind, dann kann es durchaus sein, das du darüber deine Dokumente findest.

Off Topic: Es gibt leider auch andere Beispiele hier im forum, die auf Lösungen warten.
Gruß,
der Matze

Re: Funktionsbaustein + Web Dynpro --> Fehler

Beitrag von jonny_1st (ForumUser / 46 / 0 / 0 ) »
Hi Matze,

wie kann ich das prüfen, ob die Dokumente wirklich archiviert sind? Mein Kollege meint dass wir dafür einen Archiv-Server haben wo alle Dokumente abgelegt sind. Irgendwie verstehe ich den Zusammenhang noch nicht.
Wenn ich den Pfad zur Datei habe, muss ich doch iwie an die File bzw. an den Inhalt. Sind die Dokumente in der TOA01 verkpüft, wenn ich nach dem SAP Objekt MARA suche finde ich nichts.

Ich schaue mir gerade den Baustein ARCHIV_GET_CONNECTIONS an. Der will ja auch z.B. ARCHIV_ID und ARC_DOC_ID ..... CHAAAOOSS IM KOPF :)

Viele Grüße

Alex

Re: Funktionsbaustein + Web Dynpro --> Fehler

Beitrag von jonny_1st (ForumUser / 46 / 0 / 0 ) »
Hallo Matze,

ich habe gerade herrausgefunden, dass alle Dokumente zum Material nur über einen Link zum Fileserver verknüpft sind, mehr nicht. Diese Dokumente werden in KEINEM Archiv gespeichert.
Ich hätte mal die Kollegen früher fragen sollen die für die Dokumenteverwaltung zuständig sind. :)

Hast du dann eine Idee wie ich die Datei öffnen bzw. anzeigen kann?

Gruß

Alex

Vergleichbare Themen

1
Antw.
1744
Views
Fehler bei RFC-Funktionsbaustein
von kbit100 » 22.02.2010 17:47 • Verfasst in ABAP® für Anfänger
2
Antw.
1863
Views
Funktionsbaustein Fehler?!?
von Andreas G » 01.12.2005 15:21 • Verfasst in ABAP® Core
1
Antw.
2954
Views
Fehler auf Dynpro
von Doobie » 20.08.2021 16:57 • Verfasst in Dialogprogrammierung
6
Antw.
5391
Views
Dynpro PBO Fehler Message
von Gast » 15.12.2005 19:23 • Verfasst in Dialogprogrammierung
4
Antw.
8090
Views
Textfeld auf Dynpro in Funktionsbaustein füllen
von Hansi4u » 11.01.2006 18:28 • Verfasst in Dialogprogrammierung

Über diesen Beitrag


Die Frage ist als "gelöst" markiert. Den entsprechend Beitrag findest du hier.

Unterstütze die Community und teile den Beitrag für mehr Leser und Austausch

Newsletter Anmeldung

Keine Beiträge verpassen! Wöchentlich versenden wir lesenwerte Beiträge aus unserer Community.
Die letzte Ausgabe findest du hier.
Details zum Versandverfahren und zu Ihren Widerrufsmöglichkeiten findest du in unserer Datenschutzerklärung.