#1
|
|||
|
|||
Crear un logo en un dynpro.
Necesito en una dynpro de un modulpool, meter un logo.
Me creo un container donde ira la función grafica, pero no se como ni donde se ha de subir la foto para obtener la url para poder mostrar la foto. Muchas gracias. Rubén |
#2
|
||||
|
||||
Bueno, hasta donde yo sé, creo que las imagenes las subes en una transacción, bueno al menos en los libros que e leído decía eso porque allí se mencionaba como subir la imagén que ponías en el menú principal de sap, ahorita checo el libro y si hallo la transacción te digo vaaa es que ahorita no lo tengo a la mano y no recuerdo que transacción era, igual puedo estar equivocado pero si alguién más puede ayudar mejor.
|
#3
|
|||
|
|||
Muchas gracias!!!
he investigado y he encontrado lo siguiente que me ha funcionado: you mean to say you want to add your company logo , you can upload image using tcode SMW0 follow the steps, .GIF file supported as logo Transaction code - SMW0 check Binary data for WebRFC application press Enter Click Execute Click Settings -> Maintain MIME types Click the Create button Fill in :- TYPE : image/gif EXTENSION : .GIF Click Save Click Back to the Binary data for WebRFC Click Create Fill in :- Obj. name : zlogo.gif Description : Company Logo Click Import and specify the filename where your GIF file is located.File type is BIN. Finish press the Transfer button. If successful, your logo will be shown in the Binary data for WebRFC. Un saludo Ruben |
#4
|
|||
|
|||
La transaccion para subir imagenes es la SE78 aqui te dejo un codigo de ejemplo que crea el container y le pone una foto, realmente es un form pero con que lo toques un poco crearas un report, de todas formas si te parece mas comodo puedes echar un vistazo el report standar RSDEMO_PICTURE_CONTROL
FORM crear_boton USING p_nombre_boton p_container TYPE REF TO cl_gui_custom_container p_picture TYPE REF TO cl_gui_picture p_imagen CHANGING p_subrc. DATA: lt_grafico TYPE TABLE OF ty_grafico, lt_eventos TYPE cntl_simple_events. DATA: ls_grafico TYPE ty_grafico, ls_evento TYPE cntl_simple_event, ls_stream TYPE xstring. DATA: lv_object TYPE tdobjectgr VALUE 'GRAPHICS', lv_name TYPE tdobname, lv_id TYPE tdidgr VALUE 'BMAP', lv_btype TYPE tdbtype VALUE 'BCOL', lv_type(10) VALUE 'IMAGE', lv_subtype(10) VALUE 'X-UNKNOWN', lv_size TYPE i, lv_lifetime TYPE c VALUE 'T', lv_url(255), lv_rc TYPE i, lv_longitud TYPE i, lv_offset TYPE i. CLEAR p_subrc. IF p_imagen IS INITIAL. p_subrc = 4. EXIT. ELSE. lv_name = p_imagen. ENDIF. *creo el container IF p_container IS INITIAL. CREATE OBJECT p_container EXPORTING container_name = p_nombre_boton EXCEPTIONS cntl_error = 1 cntl_system_error = 2 create_error = 3 lifetime_error = 4 lifetime_dynpro_dynpro_link = 5 OTHERS = 6. IF sy-subrc <> 0. p_subrc = 1. EXIT. ENDIF. ENDIF. IF p_picture IS INITIAL. *Creamos la imagen y se la asignamos al container CREATE OBJECT p_picture EXPORTING parent = p_container EXCEPTIONS error = 1 OTHERS = 2. IF sy-subrc <> 0. p_subrc = 2. *como ya habiamos creado el container lo eliminamos y hacemos un flush *que se borre inmediatamente p_container->free( ). cl_gui_cfw=>flush( ). EXIT. ENDIF. ENDIF. *pasamos la imagen subida por la transaccion SE78 a un stream CALL METHOD cl_ssf_xsf_utilities=>get_bds_graphic_as_bmp EXPORTING p_object = lv_object p_name = lv_name p_id = lv_id p_btype = lv_btype RECEIVING p_bmp = ls_stream. *este stream lo tenemos que poner en forma de tabla lv_longitud = XSTRLEN( ls_stream ). DO. CLEAR ls_grafico. ls_grafico-linea = ls_stream+lv_offset(gc_255). APPEND ls_grafico TO lt_grafico. ADD gc_255 TO lv_offset. SUBTRACT gc_255 FROM lv_longitud. IF lv_longitud <= gc_255. ls_grafico-linea = ls_stream+lv_offset(lv_longitud). APPEND ls_grafico TO lt_grafico. EXIT. ENDIF. ENDDO. * creamos la url para esta imagen CALL FUNCTION 'DP_CREATE_URL' EXPORTING type = lv_type subtype = lv_subtype size = lv_size lifetime = lv_lifetime TABLES data = lt_grafico CHANGING url = lv_url. ** Al objeto imagen le indicamos cual será su imagen CALL METHOD p_picture->load_picture_from_url EXPORTING url = lv_url EXCEPTIONS error = 1 OTHERS = 2. IF sy-subrc <> 0. p_subrc = 3. *Al liberar el container tambien se liberan todos los hijos que tenga *en este caso su hijo seria el control picture p_container->free( ). cl_gui_cfw=>flush( ). EXIT. ENDIF. * Indicamos el modo de disposición de la imagen dentro del container CALL METHOD p_picture->set_display_mode EXPORTING display_mode = p_picture->display_mode_fit_center. *registramos el evento click ls_evento-eventid = p_picture->eventid_picture_click. APPEND ls_evento TO lt_eventos. CALL METHOD p_picture->set_registered_events EXPORTING events = lt_eventos EXCEPTIONS cntl_error = 1 cntl_system_error = 2 illegal_event_combination = 3 OTHERS = 4. IF sy-subrc <> 0. p_subrc = 5. *Al liberar el container tambien se liberan todos los hijos que tenga *en este caso su hijo seria el control picture p_container->free( ). cl_gui_cfw=>flush( ). EXIT. ENDIF. SET HANDLER go_receptor->handle_click FOR p_picture. ENDFORM. " CREAR_BOTON |
#5
|
||||
|
||||
Hola ... create un CUSTOM_CONTAINER y levanta un grafico que previo debes registrarlo dentro de la OAER .... ahi un buen programa de ejemplo ^^ DD_ADD_PICTURES, espero te pueda servir
__________________
David Carballido Córdova |
Herramientas | Buscar en Tema |
Desplegado | |
|
|