MUNDOSAP

Regresar   MUNDOSAP > DESARROLLO > Programación ABAP IV
Nombre de Usuario
Contraseña
Home Descargas Registrar FAQ Miembros Calendario Buscar Temas de Hoy Marcar Foros Como Leídos




 
Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Viejo 11/06/08, 21:51:09
Avatar de frankmerlos
frankmerlos frankmerlos is offline
Member
 
Fecha de Ingreso: oct 2006
Localización: San Salvador, El Salvador
Mensajes: 51
Aqui tengo un ejemplo que te puede servir.

Utiliza la transaccion SMW0 para cargar la imagenes.

Paso 1.

Crea un programa de prueba con la dynpro 100.
Dentro de la dynpro pon un campo de E/S y llamalo IMAGEN.
colocar tambien un custom control y llamalo PICTURE1.

Paso 2.
La logica del proceso debe quedar de esta manera:

PROCESS BEFORE OUTPUT.
MODULE cargar_logo.
* MODULE STATUS_0100.
*
PROCESS AFTER INPUT.
module destruir.
* MODULE USER_COMMAND_0100.


Paso 3.

El codigo del programa como sigue.

*&---------------------------------------------------------------------*
*& Report ZSVTEST_IMAGENES
*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*

REPORT ZSVTEST_IMAGENES.

DATA IMAGEN TYPE STRING.
* URL requerida para dibujar el logo en pantalla
DATA url(255).
* Objeto contenedor
DATA logo_container TYPE REF TO cl_gui_custom_container.
* Objeto imagen
DATA logo_picture TYPE REF TO cl_gui_picture.

INITIALIZATION.
IMAGEN = 'ZSV_CITIBANKU'.

START-OF-SELECTION.

CALL SCREEN 100.

END-OF-SELECTION.

*&---------------------------------------------------------------------*
*& Module cargar_logo OUTPUT
*&---------------------------------------------------------------------*

MODULE cargar_logo OUTPUT.

PERFORM selscn_cargar_logo_en_screen
USING
'PICTURE1' " <- Nombre que le diste al control
IMAGEN. " <- Nombre que le diste al logo

ENDMODULE. " cargar_logo OUTPUT

*&---------------------------------------------------------------------*
*& Form selscn_cargar_logo_en_screen
*&---------------------------------------------------------------------*

FORM selscn_cargar_logo_en_screen USING p_container
p_logo.

* Creamos el contenedor
CREATE OBJECT logo_container
EXPORTING container_name = p_container.

* Creamos el objeto imagen asignando el contenedor
CREATE OBJECT logo_picture
EXPORTING parent = logo_container
EXCEPTIONS error = 1.

* Request an URL from the data provider by exporting the pic_data.
CLEAR URL.

PERFORM selscn_load_pic_from_db USING p_logo
CHANGING url.

* Cargamos el logo
CALL METHOD logo_picture->load_picture_from_url
EXPORTING
url = url.
IF sy-subrc NE 0.
ENDIF.

* Hacemos que estire la imagen para colocarlo en todo el contenedor
CALL METHOD logo_picture->set_display_mode
EXPORTING
display_mode = logo_picture->display_mode_fit_center
EXCEPTIONS
error = 1.

ENDFORM. " SELSCN_cargar_logo_en_screen

*&---------------------------------------------------------------------*
*& Form SELSCN_LOAD_PIC_FROM_DB
*&---------------------------------------------------------------------*
* RECUPERA UNA IMAGEN DE SAP Y LA CONVIERTE PARA PODER UTILIZARLA
* (recogida del programa RSDEMO_PICTURE_CONTROL)
*----------------------------------------------------------------------*
*
*----------------------------------------------------------------------*

FORM selscn_load_pic_from_db USING p_image
CHANGING url.
DATA query_table LIKE w3query OCCURS 1 WITH HEADER LINE.
DATA html_table LIKE w3html OCCURS 1.
DATA return_code LIKE w3param-ret_code.
DATA content_type LIKE w3param-cont_type.
DATA content_length LIKE w3param-cont_len.
DATA pic_data LIKE w3mime OCCURS 0.
DATA pic_size TYPE i.

REFRESH query_table.
query_table-name = '_OBJECT_ID'.
query_table-value = p_image.
APPEND query_table.

CALL FUNCTION 'WWW_GET_MIME_OBJECT'
TABLES
query_string = query_table
html = html_table
mime = pic_data
CHANGING
return_code = return_code
content_type = content_type
content_length = content_length
EXCEPTIONS
object_not_found = 1
parameter_not_found = 2
OTHERS = 3.
IF sy-subrc = 0.
pic_size = content_length.
ENDIF.

CALL FUNCTION 'DP_CREATE_URL'
EXPORTING
type = 'image'
subtype = cndp_sap_tab_unknown
size = pic_size
lifetime = cndp_lifetime_transaction
TABLES
data = pic_data
CHANGING
url = url
EXCEPTIONS
OTHERS = 1.


ENDFORM. " SELSCN_LOAD_PIC_FROM_DB
*&---------------------------------------------------------------------*
*& Module destruir INPUT
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
MODULE destruir INPUT.

CALL METHOD logo_picture->free.
CALL METHOD logo_container->free.
FREE logo_picture.
FREE logo_container.

ENDMODULE. " destruir INPUT


Colocar el nombre de la imagen que necesitas en el campo de E/S y veras como cambia la imagen dentro de custom control.

Saludos.
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

Reglas de Mensajes
no puedes crear nuevos temas
no puedes responder temas
no puedes adjuntar archivos
no puedes editar tus mensajes

El código vB está On
Las caritas están On
Código [IMG] está On
Código HTML está Off
Saltar a Foro


Husos Horarios son GMT. La hora en este momento es 06:09:52.


www.mundosap.com 2006 - Spain
software crm, crm on demand, software call center, crm act, crm solutions, crm gratis, crm web