MUNDOSAP

MUNDOSAP (foro/index.php)
-   Programación ABAP IV (foro/forumdisplay.php?f=4)
-   -   Inclusión de logo en reporte (foro/showthread.php?t=1212)

aconnell 20/07/06 19:01:42

Inclusión de logo en reporte
 
Hola Chicos.:)
Necesito que me ayuden..
Estoy buscando la manera de incluir en un reporte el logo de la empresa. alguno de ustedes conoce una menera de hacerlo.
Se los agradezco.. Ayudenme..:confused:

Mauricio Hidalgo 20/07/06 20:59:28

Sigue por acá y encontrarás lo que buscas


aconnell 21/07/06 16:08:33

Gracias Mauricio, ;)
pero esto me sirve para un formulario no para un reporte.
Lo que quiero es agregar el logo a un programa hecho en casa por la se38.

Mauricio Hidalgo 21/07/06 17:36:39

Malas Noticias mi amigo entonces



Mauricio Hidalgo

HellJanitor 26/07/06 23:23:45

Con objetos
 
Hola ACONNELL, la solución sería crear tu dynpro propia y en ella crear un custom control donde irá el logo, luego en tu programa creas un objeto con referencia a la clase CL_GUI_CUSTOM_CONTAINER

DATA: CC_LOGO TYPE REF TO CL_GUI_CUSTOM_CONTAINER.

Instancias el objeto con el nombre del container creado en la dynpro:

CREATE OBJECT: CC_LOGO EXPORTING CONTAINER_NAME = 'CC_LOGO'.

Creas un objeto con referencia a la clase CL_GUI_PICTURE

data: PI_LOGO TYPE REF TO CL_GUI_PICTURE.

Instancias el logo pasándole como parámetro el nombre del objeto del container

CREATE OBJECT: PI_LOGO EXPORTING PARENT = CC_LOGO.

Obtienes el URL de cualquier imagen pasándole el ID (ene ste caso 'FLIGTHS')

TYPES PICT_LINE(256) TYPE X.
DATA: PICT_TAB TYPE TABLE OF PICT_LINE,
URL(255) TYPE C.
IMPORT PICT_TAB = PICT_TAB FROM DATABASE ABTREE(PI)
ID 'FLIGHTS'
IN CHAR-TO-HEX MODE.
CALL FUNCTION 'DP_CREATE_URL'
EXPORTING
TYPE = 'IMAGE'
SUBTYPE = 'GIF'
TABLES
DATA = PICT_TAB
CHANGING
URL = URL.

por último, llamas al método LOAD_PICTURE_FROM_URL para Cargar la imagen

CALL METHOD: PI_LOGO->LOAD_PICTURE_FROM_URL
EXPORTING
URL = URL,
PI_LOGO->SET_DISPLAY_MODE
EXPORTING
DISPLAY_MODE = PI_LOGO->DISPLAY_MODE_FIT.

Espero esto te sirva de ayuda.

Saludos.

:) Los objetos al poder.....







Mauricio Hidalgo 27/07/06 15:08:05

Con poco ajuste al codigo proporcionado, funciona lo del logo. Pero y la parte del reporte estandar como la escribes en esta dynpro...Write no funcionó....

Gracias por el aporte.

HellJanitor 27/07/06 17:46:14

Adicionando algo más
 
Hola Mauricio, la respuesta es sencilla, creamos un área subscreen, cargamos otra screen dentro, digamos una 200, y en el pBO de esta última subscreen, ponemos las siguientes líneas:

LEAVE TO LIST-PROCESSING AND RETURN TO SCREEN 0.
* aquí imprimes lo que quieras, puedes poner un perform de lista
LOOP AT TI_SPFLI INTO ST_SPFLI.
WRITE:/ ST_SPFLI-CARRID.
ENDLOOP.
LEAVE SCREEN.

Espero sea de ayuda.

Saludos.

Julio L.

:) Los objetos al poder...



Mauricio Hidalgo 27/07/06 19:16:11

Uyy, se me fue en collera esta cosa.

"creamos un área subscreen, cargamos otra screen dentro"...como lo haces?

me fui a la dynpro donde creé el custom control para el logo, a continuación le agregué un subscreen....y ahora, donde le engancho la dynpro 200 que me propones?, en la propiedades del suscreen no encontré nada.

°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°
SERA que la solución completa va por el lado de la POO..me huele a que sí. Bueno estuve revisando que interfaces hay para subscreen y me encontré con esto CL_PT_GUI_SAP_DYNPRO_SUBSCREEN. Será que por acá podré asociar la Dynpro a las subscreen?......como verás no programo con orientación a objetos......

Gracias

HellJanitor 27/07/06 19:52:24

Ejemplos en la ayuda
 
Hola Mauricio, para setear un subscreen dentro de un área debes utilizar el CALL SUBSCREEN dentro de tu PBO inicial. Existe un ejemplo de subscreens en la ayuda de SAP. La ruta es la siguiente: Documentación ABAP y Ejemplos/BC-Programación ABAP/Imágenes en pantalla ABAP/Dynpros/elementos de pantalla complejos/Subscreens.

Espero te sirva de ayuda.

Saludos.

Julio L.

:) Los objetos al poder...


Mauricio Hidalgo 28/07/06 21:00:02

Hola yo de nuevo.

Un poco de historia....
"Hola Mauricio, la respuesta es sencilla, creamos un área subscreen, cargamos otra screen dentro, digamos una 200, y en el pBO de esta última subscreen, ponemos las siguientes líneas:"

con la indicación de usar CALL SUBSSCREEN....ni un problema. Pero el PBO siguiente

LEAVE TO LIST-PROCESSING AND RETURN TO SCREEN 0.
* aquí imprimes lo que quieras, puedes poner un perform de lista
LOOP AT TI_SPFLI INTO ST_SPFLI.
WRITE:/ ST_SPFLI-CARRID.
ENDLOOP.
LEAVE SCREEN.

no funciona porque justo una de las restricciones para subscreen screen es que no puedo ocupar comandos como LEAVE, segun u extracto de la librería de SAP.

"The flow logic of a subscreen screen may not contain any dialog modules containing the statements SET TITLEBAR, SET PF-STATUS, SET SCREEN, LEAVE SCREEN, or LEAVE TO SCREEN. Any of these statements causes a runtime error. You cannot change the GUI status of a main screen in a subscreen screen."

No está explicitamenet mensionado al instrucción LIVE To LIST-PROCESSING, pero este comando implicitamente hace SET SCREEN..con lo cual estoy violando la regla anterior.

De todas maneras ha estado interesente la investigación.

Gracias


Husos Horarios son GMT. La hora en este momento es 19:53:56.

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