Bilder ins SAP system laden

Posten Sie hier Tutorials & Cookbooks.

Bilder ins SAP system laden

Postby Tina2952 » Fri Oct 31, 2008 5:59 pm

hallo zusammen,
ich brauche eure Hilfe. Ich muß ca 1000 Bilder (bmp Format) ins SAP system laden. Einzeln geht es mit der Transaktion SE78 es dauert aber ewig. Wie kann ich diesen Prozess automatisieren?
Danke im voraus.

Thread aus Tutorials&Cookbooks verschoben, da er eine Frage stellt, statt eine Anleitung zu enthalten.
Tina2952
.
.
 
Posts: 3
Joined: Fri Oct 31, 2008 5:59 pm

Postby Tron » Wed Jan 12, 2011 1:59 pm

Moin,
hier ein Coding,was Bitmapgrafiken bearbeitet. Mit ein paar Änderungen, kannst Du einen Uploader daraus machen.
Code: [Select all] [Expand/Collapse] [Download] (Untitled.txt)
  1. *&---------------------------------------------------------------------*
  2. *& Report  YGRAPHIC_FILTER
  3. *&
  4. *&---------------------------------------------------------------------*
  5. *&
  6. *&
  7. *&---------------------------------------------------------------------*
  8.  
  9. REPORT  ygraphic_filter.
  10.  
  11. TYPES: pict_line(256) TYPE c.
  12.  
  13. TYPES: BEGIN OF ty_graphic_table,
  14.        line(255) TYPE x,
  15.        END OF ty_graphic_table.
  16.  
  17. DATA:  pict_tab TYPE TABLE OF pict_line,
  18.        line TYPE string,
  19.        in_line TYPE string,
  20.        new_line TYPE string,
  21.        url(255) TYPE c,
  22.        lines TYPE i,
  23.        w_div TYPE i,
  24.        w_counter TYPE i.
  25.  
  26. DATA: container1 TYPE REF TO cl_gui_custom_container,
  27.       picture TYPE REF TO cl_gui_picture.
  28.  
  29. DATA: l_bytecount TYPE i,
  30.       l_tdbtype LIKE stxbitmaps-tdbtype,
  31.       l_content TYPE STANDARD TABLE OF bapiconten
  32.       INITIAL SIZE 0.
  33.  
  34. DATA: graphic_size TYPE i.
  35.  
  36. DATA: graphic_table TYPE STANDARD TABLE OF ty_graphic_table
  37.       WITH HEADER LINE,
  38.       graphic_table_new TYPE STANDARD TABLE OF ty_graphic_table
  39.       WITH HEADER LINE.
  40. DATA ok_code TYPE sy-ucomm.
  41.  
  42. FIELD-SYMBOLS: <graphic_table> LIKE LINE OF graphic_table.
  43.  
  44. *&-----------------------------------------------------------&*
  45. *&      START-OF-SELECTION                                   &*
  46. *&-----------------------------------------------------------&*
  47.   CALL SCREEN 100.
  48.  
  49. *&-----------------------------------------------------------*
  50. *&      Module  STATUS_0100  OUTPUT                          *
  51. *&-----------------------------------------------------------*
  52. MODULE status_0100 OUTPUT.
  53.   SET PF-STATUS 'S1'.
  54. *  SET TITLEBAR 'xxx'.
  55.  
  56.   PERFORM load_image.
  57. ENDMODULE.                 " STATUS_0100  OUTPUT
  58.  
  59. *------------------------------------------------------------*
  60. *       FORM LOAD_IMAGE                                      *
  61. *------------------------------------------------------------*
  62. FORM load_image.
  63.  
  64.   CREATE  OBJECT: container1 EXPORTING  container_name = 'PICTURE' ,
  65.                    picture EXPORTING  parent = container1.
  66.  
  67.   CALL FUNCTION 'SAPSCRIPT_GET_GRAPHIC_BDS'
  68.     EXPORTING
  69.       i_object       = 'GRAPHICS'
  70.       i_name         = 'LOGO'
  71.       i_id           = 'BMAP'
  72.       i_btype        = 'BCOL'
  73.     IMPORTING
  74.       e_bytecount    = l_bytecount
  75.     TABLES
  76.       content        = l_content
  77.     EXCEPTIONS
  78.       not_found      = 1
  79.       bds_get_failed = 2
  80.       bds_no_content = 3
  81.       OTHERS         = 4.
  82.  
  83.   CALL FUNCTION 'SAPSCRIPT_CONVERT_BITMAP'
  84.     EXPORTING
  85.       old_format               = 'BDS'
  86.       new_format               = 'BMP'
  87.       bitmap_file_bytecount_in = l_bytecount
  88.     IMPORTING
  89.       bitmap_file_bytecount    = graphic_size
  90.     TABLES
  91.       bds_bitmap_file          = l_content
  92.       bitmap_file              = graphic_table
  93.     EXCEPTIONS
  94.       OTHERS                   = 1.
  95.  
  96.   DESCRIBE TABLE graphic_table LINES lines.
  97.  
  98.   lines  = lines.
  99.   w_counter = lines  - 1.
  100.   DATA  x_bmp TYPE  xstring.
  101.   CALL FUNCTION 'SCMS_BINARY_TO_XSTRING'
  102.     EXPORTING
  103.       input_length = graphic_size
  104.     IMPORTING
  105.       buffer       = x_bmp
  106.     TABLES
  107.       binary_tab   = graphic_table
  108.     EXCEPTIONS
  109.       failed       = 1
  110.       OTHERS       = 2.
  111.  
  112.   DATA : w2&#40;2&#41; TYPE  x , w4&#40;4&#41; TYPE  x , xstr TYPE  xstring.
  113.   DEFINE  read2.  "#EC NEEDED read two bytes as integer and move offset
  114.     w2 = &1.
  115.     concatenate  w2+1&#40;1&#41; w2+0&#40;1&#41; into  xstr in  byte mode .
  116.     &2 = xstr.
  117.  
  118.   DEFINE  read4. "#EC NEEDED read four bytes as integer and move offset
  119.     w4 = &1 .
  120.     concatenate  w4+3&#40;1&#41; w4+2&#40;1&#41; w4+1&#40;1&#41; w4+0&#40;1&#41; into  xstr in  byte
  121. mode .
  122.     &2 = xstr.
  123.  
  124.   DATA  magic_number&#40;2&#41; TYPE x.
  125.   magic_number = x_bmp+0&#40;2&#41;.
  126.   DATA size&#40;4&#41; TYPE  x.
  127.   DATA i_size TYPE  i.
  128.   size = x_bmp+2&#40;4&#41;.
  129.   DATA data_offset&#40;4&#41; TYPE x.
  130.   DATA i_data_offset TYPE i.
  131.   data_offset = x_bmp+10&#40;4&#41;.
  132.   read4 size i_size.
  133.   read4 data_offset i_data_offset.
  134.  
  135.   DATA  header_size&#40;4&#41; TYPE x.
  136.   DATA  i_header_size TYPE i.
  137.   header_size = x_bmp+14&#40;4&#41;.
  138.   read4 header_size i_header_size.
  139.  
  140.   DATA : width&#40;4&#41; TYPE  x,
  141.         height&#40;4&#41; TYPE  x,
  142.         i_width TYPE  i,
  143.         i_height TYPE i,
  144.         bpp&#40;2&#41; TYPE x,
  145.         i_bpp TYPE i,
  146.         compression&#40;4&#41; TYPE x,
  147.         i_compression TYPE i,
  148.         s_compression TYPE string.
  149.  
  150.   IF  i_header_size = 40. "Windows V3 Format
  151.     width = x_bmp+18&#40;4&#41;.
  152.     height = x_bmp+22&#40;4&#41;.
  153.     bpp = x_bmp+28&#40;2&#41;.
  154.     compression = x_bmp+30&#40;4&#41;.
  155.     read4 width i_width.
  156.     read4 height i_height.
  157.     read2 bpp i_bpp.
  158.     read4 compression i_compression.
  159.   ENDIF.
  160.   CASE  i_compression.
  161.     WHEN  0.
  162.       s_compression = 'RGB - None'.
  163.     WHEN  1.
  164.       s_compression = 'RLE 8-bit/pixel'.
  165.     WHEN  2.
  166.       s_compression = 'RLE 4-bit/pixel'.
  167.     WHEN  3.
  168.       s_compression = 'Bit Field'.
  169.     WHEN  4.
  170.       s_compression = 'JPEG'.
  171.     WHEN  5.
  172.       s_compression = 'PNG'.
  173.  
  174.   DATA x_data TYPE xstring.
  175.   DATA x_new_data TYPE xstring.
  176.   DATA i_num_pixels TYPE i.
  177.   DATA i_counter TYPE i.
  178.   DATA i_counter2 TYPE i.
  179.  
  180.   x_data = x_bmp+i_data_offset.
  181. *  i_num_pixels = XSTRLEN&#40; x_data &#41;.
  182.   i_num_pixels = i_width. "i_num_pixels / 3 / i_height.
  183.   DATA  i_width_in_bytes TYPE  i.
  184.   i_width_in_bytes = i_width * 3.
  185.  
  186.   DATA  x_row TYPE  xstring.
  187.   DATA  x_new_row TYPE  xstring.
  188.   DO  i_height TIMES.
  189.     x_row = x_data+i_counter&#40;i_width&#41;.
  190.     CLEAR  i_counter2.
  191.     CLEAR  x_new_row.
  192.     DO  i_num_pixels TIMES .
  193.       CONCATENATE  x_row+i_counter2&#40;1&#41; x_new_row INTO x_new_row IN BYTE
  194. MODE.
  195.       i_counter2 = i_counter2 + 1.
  196.     ENDDO .
  197.     CONCATENATE  x_new_row x_new_data INTO  x_new_data IN BYTE MODE.
  198.     i_counter = i_counter + i_width.
  199.   ENDDO .
  200.  
  201.   DATA  x_new_image TYPE  xstring.
  202.   CONCATENATE x_bmp&#40;i_data_offset&#41; x_new_data INTO x_new_image IN BYTE
  203. MODE.
  204.  
  205.   CALL FUNCTION 'SCMS_XSTRING_TO_BINARY'
  206.     EXPORTING
  207.       buffer     = x_new_image
  208.     TABLES
  209.       binary_tab = graphic_table_new.
  210.  
  211.   CALL FUNCTION 'DP_CREATE_URL'
  212.     EXPORTING
  213.       type    = 'IMAGE'
  214.       subtype = 'BMP'
  215.     TABLES
  216.       data    = graphic_table_new
  217.     CHANGING
  218.       url     = url.
  219.  
  220.   CALL METHOD picture->load_picture_from_url
  221.     EXPORTING
  222.       url = url.
  223.   CALL METHOD picture->set_display_mode
  224.     EXPORTING
  225.       display_mode = picture->display_mode_normal.
  226.  
  227. ENDFORM.                    "LOAD_IMAGE
  228. *&---------------------------------------------------------------------*
  229. *&      Module  USER_COMMAND_0100  INPUT
  230. *&---------------------------------------------------------------------*
  231. *       text
  232. *----------------------------------------------------------------------*
  233. MODULE user_command_0100 INPUT.
  234.   CASE ok_code.
  235.     WHEN 'BCK'.
  236.       LEAVE PROGRAM.
  237. ENDMODULE.                 " USER_COMMAND_0100  INPUT
GeSHi ©

gruß TRon
Tron
.....
.....
 
Posts: 1112
Joined: Sat Aug 04, 2007 10:21 pm


Return to Tutorials & Cookbooks

Who is online

Users browsing this forum: No registered users and 1 guest

cron