Grafiken in Smart-Forms einbinden ohne SE78

Alles rund um die Sprache ABAP®: Funktionsbausteine, Listen, ALV
6 Beiträge • Seite 1 von 1
6 Beiträge Seite 1 von 1

Grafiken in Smart-Forms einbinden ohne SE78

Beitrag von Trulchen (Specialist / 241 / 4 / 1 ) »
Hallo, hat jemand eine Idee wie ich .bmp Datein in Smartforms einbinden kann ohne die SE78 zu benutzen?

Ich habe angefangen das Bild über GUI-UPLOAD hochzuladen und dann Umwandeln des Bildmaterials mittels FuBa SAPSCRIPT_CONVERT_BITMAP_BDS in das Format für den Ausdruck.
Aber weiter komm ich leider nicht...

Code: Alles auswählen.

DATA: l_filename TYPE string,
        lv_bytecount TYPE i,
        lt_bitmap TYPE sbdst_content.

  CLEAR: lv_bytecount, p_bds_bytecount.
  REFRESH: pt_content, lt_bitmap.
  
  PERFORM get_filename CHANGING l_filename.
  IF l_filename IS INITIAL.
    MESSAGE 'Keine Datei ausgewählt. Der Vorgang wird abgebrochen "' TYPE 'S'.
    RETURN.
  ENDIF.
  
*BILD WIRD HOCHGELADEN
  CALL FUNCTION 'GUI_UPLOAD'
    EXPORTING
      filename                = l_filename
      filetype                = 'BIN'
    IMPORTING
      filelength              = lv_bytecount
    TABLES
      data_tab                = lt_bitmap
    EXCEPTIONS
      file_open_error         = 2
      file_read_error         = 3
      no_batch                = 1
      gui_refuse_filetransfer = 4
      invalid_type            = 5
      no_authority            = 6
      unknown_error           = 7
      bad_data_format         = 8
      header_not_allowed      = 9
      separator_not_allowed   = 10
      header_too_long         = 11
      unknown_dp_error        = 12
      access_denied           = 13
      dp_out_of_memory        = 14
      disk_full               = 15
      dp_timeout              = 16
      OTHERS                  = 17.

  DATA: l_color(1) TYPE c VALUE 'X',
         l_width_tw TYPE stxbitmaps-widthtw,
          l_height_tw TYPE stxbitmaps-heighttw,
          l_width_pix TYPE stxbitmaps-widthpix,
          l_height_pix TYPE stxbitmaps-heightpix,
          l_bds_object TYPE REF TO cl_bds_document_set,
          p_resolution TYPE stxbitmaps-resolution.
  
  p_resolution = gv_resolution.

*Umwandeln des Bildmaterials mittels FuBa SAPSCRIPT_CONVERT_BITMAP_BDS in das Format für den Ausdruck
  CALL FUNCTION 'SAPSCRIPT_CONVERT_BITMAP_BDS'
    EXPORTING
      color                    = l_color
      format                   = 'BMP'
      bitmap_bytecount         = lv_bytecount
    IMPORTING
      width_tw                 = l_width_tw
      height_tw                = l_height_tw
      width_pix                = l_width_pix
      height_pix               = l_height_pix
      dpi                      = p_resolution
      bds_bytecount            = p_bds_bytecount
    TABLES
      bitmap_file              = lt_bitmap"-- Binario en BMP
      bitmap_file_bds          = pt_content "-- BMP en BDS
    EXCEPTIONS
      format_not_supported     = 1
      no_bmp_file              = 2
      bmperr_invalid_format    = 3
      bmperr_no_colortable     = 4
      bmperr_unsup_compression = 5
      bmperr_corrupt_rle_data  = 6
      OTHERS                   = 7.

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


Re: Grafiken in Smart-Forms einbinden ohne SE78

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

Das Bild muss danach nur noch in das BDS (CL_BDS_DOCUMENT_SET=>CREATE_WITH_TABLE) hochgeladen werden und ein Informationsdatensatz in die Tabelle STXBITMAPS eingetragen werden.
Den genauen Ablauf findest du in der Form-Routine IMPORT_BITMAP_BDS in der Funktionsgruppe STXBITMAPS. (Das ist im Grunde die SE78)

lg ADT
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: Grafiken in Smart-Forms einbinden ohne SE78

Beitrag von Trulchen (Specialist / 241 / 4 / 1 ) »
Ich habe leider irg. das Problem das ich die Methode CL_BDS_DOCUMENT_SET=>CREATE_WITH_TABLE nicht mit den richtigen Parametern befülle und auch nicht herausgefunden habe welche Parameter benötigt werden... bzw. welche Infos ich aus meinem derzeitigen Code verwenden kann dafür...

Code: Alles auswählen.

 *
*======================================================================
* DATA DECLARATIONS
*
*======================================================================

DATA: lv_rc TYPE sy-subrc,
      lt_file TYPE filetable,
      ls_file LIKE LINE OF lt_file,
      lv_bytecount TYPE i,
      l_color(1) TYPE c VALUE 'X',
      l_width_tw TYPE stxbitmaps-widthtw,
      l_height_tw TYPE stxbitmaps-heighttw,
      l_width_pix TYPE stxbitmaps-widthpix,
      l_height_pix TYPE stxbitmaps-heightpix,
      l_bds_object TYPE REF TO cl_bds_document_set,
      p_resolution TYPE stxbitmaps-resolution,
      l_filename TYPE string,
      lt_bitmap TYPE sbdst_content,
      p_bds_bytecount TYPE i,
      pt_content TYPE sbdst_content,
      ls_bus_obj TYPE sibflporb.


CALL METHOD cl_gui_frontend_services=>file_open_dialog
  EXPORTING
    window_title            = 'Wählen sie ein bmp-File aus!'
    default_extension       = '*.bmp'
    file_filter             = '*.bmp'
    multiselection          = abap_false
  CHANGING
    file_table              = lt_file
    rc                      = lv_rc
  EXCEPTIONS
    file_open_dialog_failed = 1
    cntl_error              = 2
    error_no_gui            = 3
    not_supported_by_gui    = 4
    OTHERS                  = 5.

READ TABLE lt_file INDEX 1 INTO ls_file.
l_filename = ls_file-filename.

*BILD WIRD HOCHGELADEN
CALL FUNCTION 'GUI_UPLOAD'
  EXPORTING
    filename                = l_filename
    filetype                = 'BIN'
  IMPORTING
    filelength              = lv_bytecount
  TABLES
    data_tab                = lt_bitmap
  EXCEPTIONS
    file_open_error         = 2
    file_read_error         = 3
    no_batch                = 1
    gui_refuse_filetransfer = 4
    invalid_type            = 5
    no_authority            = 6
    unknown_error           = 7
    bad_data_format         = 8
    header_not_allowed      = 9
    separator_not_allowed   = 10
    header_too_long         = 11
    unknown_dp_error        = 12
    access_denied           = 13
    dp_out_of_memory        = 14
    disk_full               = 15
    dp_timeout              = 16
    OTHERS                  = 17.

*Umwandeln des Bildmaterials mittels FuBa SAPSCRIPT_CONVERT_BITMAP_BDS in das Format für den Ausdruck
CALL FUNCTION 'SAPSCRIPT_CONVERT_BITMAP_BDS'
  EXPORTING
    color                    = l_color
    format                   = 'BMP'
    bitmap_bytecount         = lv_bytecount
  IMPORTING
    width_tw                 = l_width_tw
    height_tw                = l_height_tw
    width_pix                = l_width_pix
    height_pix               = l_height_pix
    dpi                      = p_resolution
    bds_bytecount            = p_bds_bytecount
  TABLES
    bitmap_file              = lt_bitmap"-- Binario en BMP
    bitmap_file_bds          = pt_content "-- BMP en BDS
  EXCEPTIONS
    format_not_supported     = 1
    no_bmp_file              = 2
    bmperr_invalid_format    = 3
    bmperr_no_colortable     = 4
    bmperr_unsup_compression = 5
    bmperr_corrupt_rle_data  = 6
    OTHERS                   = 7.

BREAK-POINT.
Bis hier hin funktioniert der Code laut Debugger. Sy-subrc = 0!

Und hier steh ich jetzt auf dem Schlauch:

Code: Alles auswählen.

cl_bds_document_set=>create_with_table(
  EXPORTING
*    logical_system  =
    classname       = 
    classtype       = 
*    client          =
    components      = 
    content         = pt_content
  CHANGING
*    object_key      =
    signature       = 
  EXCEPTIONS
    internal_error  = 1
    error_kpro      = 2
    parameter_error = 3
    not_authorized  = 4
    not_allowed     = 5
    nothing_found   = 6
    OTHERS          = 7 ).
.
IF sy-subrc <> 0.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
*            WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
Und wie bekomme ich wenn der Info Datensatz in der STXBITMAPS eingetragen ist das Bild in mein Smartform?

Re: Grafiken in Smart-Forms einbinden ohne SE78

Beitrag von a-dead-trousers (Top Expert / 4397 / 223 / 1182 ) »
a-dead-trousers hat geschrieben:Den genauen Ablauf findest du in der Form-Routine IMPORT_BITMAP_BDS in der Funktionsgruppe STXBITMAPS. (Das ist im Grunde die SE78)
Da steht alles was du für den Upload brauchst genau drinnen.

Das Bild kannst du im Smartforms über einen sog. Grafik-Knoten (Rechtsklick im Tree->Anlegen->Grafik) einbinden.
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: Grafiken in Smart-Forms einbinden ohne SE78

Beitrag von wreichelt (Top Expert / 1046 / 30 / 192 ) »
Hallo,

hier ein Beispiel für den aufruf des FB:

http://blog.csdn.net/abap01/article/details/1753225

Ist ja auch ein Beispiel wie die Grafik dann gelesen wird.

Gruß
Wolfgang

Re: Grafiken in Smart-Forms einbinden ohne SE78

Beitrag von autohandel7 (Specialist / 186 / 67 / 0 ) »
wreichelt hat geschrieben:Hallo,

hier ein Beispiel für den aufruf des FB:

http://blog.csdn.net/abap01/article/details/1753225

Ist ja auch ein Beispiel wie die Grafik dann gelesen wird.

Gruß
Wolfgang
Hi Wolfgang,
kannst du mir helfen mit diesem Beiispiel:
http://blog.csdn.net/abap01/article/details/1753225

und zwar da soll eine excel tabelle estmal erstelt, dann mit diese programm gelesen, meine Frage , wo finde ich velche Format fon Excell tabelel soll ich erstellen(Zeilen Name?)

mfG Michael

Seite 1 von 1

Vergleichbare Themen

6
Antw.
6047
Views
SAP Adobe Interactive Forms - Dynamische Grafiken
von harry1991 » 15.10.2014 17:03 • Verfasst in ABAP® Core
0
Antw.
969
Views
Smart Forms
von Chrisp83 » 04.02.2008 09:49 • Verfasst in ABAP® für Anfänger
1
Antw.
937
Views
Smart Forms
von Chrisp83 » 04.02.2008 09:54 • Verfasst in ABAP® für Anfänger
3
Antw.
2774
Views
SMART FORMS
von ZCASA » 16.12.2004 13:53 • Verfasst in ABAP® für Anfänger
3
Antw.
2278
Views
Smart Forms
von robin1at » 03.05.2006 11:04 • Verfasst in ABAP® für Anfänger

Aktuelle Forenbeiträge

Trennen Strasse und Hausnummer
vor 3 Stunden von msfox 18 / 10891
Dialog-Container mit Toolbar/Status
vor 6 Stunden von black_adept gelöst 27 / 4010
IT0024 Qualifikationen CP-ID
vor 8 Stunden von ArjenR 1 / 65

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.

Aktuelle Forenbeiträge

Trennen Strasse und Hausnummer
vor 3 Stunden von msfox 18 / 10891
Dialog-Container mit Toolbar/Status
vor 6 Stunden von black_adept gelöst 27 / 4010
IT0024 Qualifikationen CP-ID
vor 8 Stunden von ArjenR 1 / 65

Unbeantwortete Forenbeiträge

IT0024 Qualifikationen CP-ID
vor 8 Stunden von ArjenR 1 / 65
aRFC im OO-Kontext
vor 4 Wochen von ralf.wenzel 1 / 2999
Hilfe bei SWEC/SWE2
September 2024 von retsch 1 / 9588