Bild anzeigen? Ich hab keine URL!

Die Objektorientierung mit ABAP®: Vererbung, Dynamische Programmierung, GUI Controls (u.a. ALV im OO).
5 Beiträge • Seite 1 von 1
5 Beiträge Seite 1 von 1

Bild anzeigen? Ich hab keine URL!

Beitrag von abapsi (ForumUser / 12 / 6 / 0 ) »
Hallo liebes Forum,

ich habe gerade den Auftrag etwas zu forschen wie man Bilder in ABAP darstellen kann. Mit dem SAP DataProvider & nem cl_gui_picture Container geht das wohl problemlos, kommt für uns aber nicht in Frage.
Mehr war die Idee eine Datenbanktabelle im xstring Format aufzusetzen und da sämtliche Bilder (mehrere Tausend ca. 150x150, deswegen auch nicht DP) abzuspeichern.

Nun bin ich auf dem Stand, dass ich über den Frontend Dialog F4_FILENAME ein .jpg Bild hochlade (erstmal zu Testzwecken) und über die Funktion GUI_UPLOAD in eine interne Tabelle schiebe. (GUI_UPLOAD mag wohl xstring nicht, deswegen type x)
Die Tabelle sieht so aus:

DATA: xline(65535) TYPE x.
DATA : it_file LIKE TABLE OF xline WITH HEADER LINE.

Das klappt auch gut, das Bild ist dann in der Tabelle, zwar gibts nach 60+kb ne neue Zeile aber das soll nicht weiter stören, so groß sollen die Bilder eh nicht werden. Und nun?
CL_GUI_PICTURE bietet mir nur die Möglichkeit über LOAD_PICTURE_FROM_URL aus dem SAP DataProvider mit irgendwelchen komischen urls die extra dafür generiert werden müssen, anzuzeigen. Ein Bild welches ich schon in den Report geschaufelt habe findet insofern keine Verwendung.

Uhmmm, gleich vorweg: CL_GUI_ECL_2DVIEWER geht bei uns nicht, ActiveX sei nicht sicher und mache Probleme. :(
Hoffe ihr könnt mir da irgendwie weiterhelfen...

Grüße
Zuletzt geändert von abapsi am 09.09.2014 17:06, insgesamt 1-mal geändert.

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


Re: Bild anzeigen? Ich hab keine URL! <.<

Beitrag von a-dead-trousers (Top Expert / 4395 / 223 / 1182 ) »
hi!

Funktionsbautein DP_CREATE_URL

Code: Alles auswählen.

  CALL FUNCTION 'DP_CREATE_URL'
    EXPORTING
      type                 = 'Image'
      subtype              = 'jpg'
    TABLES
      data                 = lt_data
    CHANGING
      url                  = ld_url
    EXCEPTIONS
      dp_invalid_parameter = 1
      dp_error_put_table   = 2
      dp_error_general     = 3
      OTHERS               = 4.
lg ADT

Folgende Benutzer bedankten sich beim Autor a-dead-trousers für den Beitrag:
abapsi

Theory is when you know something, but it doesn't work.
Practice is when something works, but you don't know why.
Programmers combine theory and practice: Nothing works and they don't know why.

ECC: 6.18
Basis: 7.50

Re: Bild anzeigen? Ich hab keine URL! <.<

Beitrag von abapsi (ForumUser / 12 / 6 / 0 ) »
Danke für den Tipp, jedoch dumpt mir das immer wenn ich das so probiere..
Ich befülle den Fuba folgendermaßen:

Code: Alles auswählen.

CALL FUNCTION 'DP_CREATE_URL'
    EXPORTING
      TYPE                       = 'Image'
      SUBTYPE                    = 'jpg'
*     SIZE                       =
*     DATE                       =
*     TIME                       =
*     DESCRIPTION                =
*     LIFETIME                   =
     CACHEABLE                  = 'X'
     SEND_DATA_AS_STRING        = 'X'
     FIELDS_FROM_APP            = 'X'
    TABLES
      DATA                       = it_file
*     FIELDS                     =
*     PROPERTIES                 =
*     COLUMNS_TO_STRETCH         =
    CHANGING
      URL                        = url
   EXCEPTIONS
     DP_INVALID_PARAMETER       = 1
     DP_ERROR_PUT_TABLE         = 2
     DP_ERROR_GENERAL           = 3
     OTHERS                     = 4.
Habe schon ein wenig rumprobiert, kriege das einfach nicht zum laufen. Die CL_GUI_PICTURE Methoden LOAD_PICTURE_FROM_URL_ASYNC und LOAD_PICTURE_FROM_URL nehmen das nicht an.

Code: Alles auswählen.

Es wurde versucht mit einer 'NULL' Objektreferenz (zeigt auf 'nichts')
auf eine Komponente zuzugreifen (Variable: "PICTURE").
Verstehe ich nicht, ist doch was drin -.- Oder liegts am type X?

Re: Bild anzeigen? Ich hab keine URL! <.<

Beitrag von a-dead-trousers (Top Expert / 4395 / 223 / 1182 ) »
hi!

Versuchs mal damit als Datentabelle:

Code: Alles auswählen.

DATA: lt_data TYPE STANDARD TABLE OF bin1024 WITH DEFAULT KEY.
Ich glaub die Zeilenlänge von 65535 ist zu lang

Das Umwandeln geht auch recht einfach:

Code: Alles auswählen.

  DATA:
    ld_xstring    TYPE xstring.

  FIELD-SYMBOLS:
    <ld_data>     TYPE bin1024.

  REFRESH lt_data.

  ld_xstring = ... "Deine Daten

  WHILE ld_xstring IS NOT INITIAL.
    APPEND INITIAL LINE TO lt_data ASSIGNING <ld_data>.
    <ld_data> = ld_xstring.
    SHIFT ld_xstring BY 1024 PLACES LEFT IN BYTE MODE.
  ENDWHILE.
lg ADT

Folgende Benutzer bedankten sich beim Autor a-dead-trousers für den Beitrag:
abapsi

Theory is when you know something, but it doesn't work.
Practice is when something works, but you don't know why.
Programmers combine theory and practice: Nothing works and they don't know why.

ECC: 6.18
Basis: 7.50

Re: Bild anzeigen? Ich hab keine URL! <.<

Beitrag von abapsi (ForumUser / 12 / 6 / 0 ) »
Super danke, geht wunderbar.
Ich hatte den picture container noch nicht erstellt, bzw im at-selection-screen part was dann nicht geklappt hat und somit ging das nicht :D

Grüüße

Seite 1 von 1

Vergleichbare Themen

0
Antw.
1089
Views
Was auf ein Bild schreiben...
von dimes » 21.11.2006 08:24 • Verfasst in ABAP Objects®
3
Antw.
2048
Views
Bild per IDOC
von andyduerr » 09.05.2006 15:38 • Verfasst in ABAP® Core
0
Antw.
1238
Views
Bild via URL in Smartform
von macdaddie » 05.09.2006 15:55 • Verfasst in ABAP® Core
1
Antw.
2084
Views
email verschicken mit Bild
von LosPablos » 17.11.2005 13:35 • Verfasst in Web-Dynpro, BSP + BHTML
0
Antw.
1196
Views
Pfad zum Bild bestimmen
von ratoshuan » 06.04.2006 11:49 • Verfasst in ABAP® für Anfänger

Über diesen Beitrag


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.

Unbeantwortete Forenbeiträge

aRFC im OO-Kontext
vor 4 Wochen von ralf.wenzel 1 / 2411
Hilfe bei SWEC/SWE2
September 2024 von retsch 1 / 9001