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 14/05/08, 10:09:11
fence fence is offline
Member
 
Fecha de Ingreso: sep 2007
Mensajes: 34
Cómo poner un LOGO en la parte de cabecera que se quiera???

Hola!

estoy con un ALV y en la cabecera quieren que salga, entre otras cosas, el logotipo de la empresa a la izquierda de la pantalla, alguien sabe cómo ponerlo ahí? Estoy utilizando un ALV GRID de los de toda la vida, nada de objetos y no sé cómo indicarle la tabulación

Gracias de antemano
Responder Con Cita
  #2  
Viejo 14/05/08, 10:43:41
fanekas22 fanekas22 is offline
Junior Member
 
Fecha de Ingreso: nov 2006
Mensajes: 8
hola, yo he hecho lo siguiente:

cuando llamas al alv, te creas un párrafo de cabecera:

CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
i_callback_program = repname
i_callback_top_of_page = 'TOP_OF_PAGE'
i_structure_name = 'I_INFORME'
i_grid_title =
'Facturas Acreedores Contabilizadas'
is_layout = layout
it_fieldcat = fieldtab
i_default = 'X'
i_save = g_save
it_events = events[]
TABLES
t_outtab = i_informe
EXCEPTIONS
program_error = 1
OTHERS = 2.


Y en este párrafo utilizas la función:

**---------------------------------------------------------------------*
** FORM TOP_OF_PAGE *
**---------------------------------------------------------------------*
FORM top_of_page.

CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'
EXPORTING
i_logo = logo

ENDFORM.
Responder Con Cita
  #3  
Viejo 14/05/08, 10:50:08
fence fence is offline
Member
 
Fecha de Ingreso: sep 2007
Mensajes: 34
Hola Fanekas22, he utilizado esas 2 funciones entre otras cosas porque el resto de datos que van en la cabecera sólo sé sacarlos así pero mi problema es que el logo me lo pone siempre donde le viene en gana y lo que yo quiero es ordenarle que el logo salga donde yo le diga, en mi caso a la izquierda, por defecto lo saca a la derecha de la cabecera y yo necesito moverlo de ahí.
Responder Con Cita
  #4  
Viejo 14/05/08, 14:10:01
azua14 azua14 is offline
Senior Member
 
Fecha de Ingreso: jul 2007
Mensajes: 140
No has pensado en hacer una imagen lo bastante larga hacia el lado donde el logo esté a la izquierda? en una de esas no hay porque complicarse tanto..
Responder Con Cita
  #5  
Viejo 14/05/08, 16:52:26
Avatar de DavidXD_XD
DavidXD_XD DavidXD_XD is offline
Moderator
 
Fecha de Ingreso: ago 2006
Localización: Lima - Perú
Mensajes: 1,251
Hola, tu puedes jugar como quieras con el logo en el ALV, lo unico malo es q se programaria en OO, para mi es muy util, en la parte estructurada con funciones el logo siempre sale en la parte superior derecha de tu pantalla , dale una checkeada a este programa DD_ADD_PICTURE
__________________
David Carballido Córdova
Responder Con Cita
  #6  
Viejo 15/05/08, 19:04:16
Attilio Travascio Attilio Travascio is offline
Member
 
Fecha de Ingreso: jun 2006
Mensajes: 54
Hola Buenas tardes, te dejo un molde que me ha sido muy util para utilzar OO, de verdad que no es nada complicado y cuando le agarras la vuelta, no lo dejaras de usar.

Lo primero que se debe de hacer es crear la imagen dentro de SAP, pero no por la transaccion que comunmente se hace SE78, si no por la SMW0. Aqui crear el nombre del objeto y lo subes.
Despues copia este mismo codigo.
Debes crear una dympro en donde vas a colocar dos container en principio, uno en el lugar en donde quieres la imagen y el otro el contenido de la informacion, le colocas sus nombres respectivo por ejemplo Container_1 y Logo.
Estos mismo nombre lo vas a poner como valor por defectos en las variables q estan declaradas en este codigo que te estoy dando (Se llaman Cuadro, y cuadro_logo).

Espero que te sirva

Anexo Codigo:

PROGRAM ZMOLDE_ALV_CONTAINER.

DATA:
* Datos del Contenido del Primer Cuadro
GT_SFLIGHT LIKE MARA OCCURS 0 WITH HEADER LINE,
CUADRO TYPE SCRFNAME VALUE 'CUADRO',
GRID1 TYPE REF TO CL_GUI_ALV_GRID,
G_CUSTOM_CONTAINER TYPE REF TO CL_GUI_CUSTOM_CONTAINER,

* Datos del Contenido del Segundo Cuadro
GT_SFLIGHT2 TYPE TABLE OF MARC,
CUADRO2 TYPE SCRFNAME VALUE 'CUADRO2',
GRID2 TYPE REF TO CL_GUI_ALV_GRID,
G_CUSTOM_CONTAINER2 TYPE REF TO CL_GUI_CUSTOM_CONTAINER,

* Datos para el Logotipo en otro CUadro Aparte
CUADRO_LOGO TYPE SCRFNAME VALUE 'CUADRO_LOGO',
LOGO1 TYPE REF TO CL_GUI_PICTURE,
OBJECT_ID LIKE WWWDATAID-OBJID,
URL(256) TYPE C,
MIME LIKE W3MIME OCCURS 0 WITH HEADER LINE.
*&---------------------------------------------------------------------*
*& Tabla de Salida
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
*
DATA : BEGIN OF SALIDA OCCURS 0,
MATNR LIKE MARA-MATNR,
MAKTX LIKE MAKT-MAKTX,
END OF SALIDA.

DATA: GT_FIELDCAT TYPE LVC_T_FCAT WITH HEADER LINE.



* Llamada a la Pantalla
CALL SCREEN 1000.
*&---------------------------------------------------------------------*
*& Module STATUS_1000 OUTPUT
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
MODULE STATUS_1000 OUTPUT.
* El estatus de la pantalla (Los Botones)
SET PF-STATUS 'STA'.
* El Titulo del Reporte cuando Salga en La barra del Menu
SET TITLEBAR 'WWW'.

* Llenar Catalago
PERFORM TEXTO_REP.

* Llenar el Primer cuadro
SELECT * FROM MARA INTO TABLE GT_SFLIGHT.
* Llenar el Segundo Cuadro
* SELECT * FROM MARC INTO TABLE GT_SFLIGHT2.

TABLES MAKT.
LOOP AT GT_SFLIGHT.
SELECT SINGLE * FROM MAKT WHERE MATNR EQ GT_SFLIGHT-MATNR
AND SPRAS EQ 'S'.
MOVE-CORRESPONDING MAKT TO SALIDA.
APPEND SALIDA.
CLEAR SALIDA.
ENDLOOP.

* Este es el metodo para el Primer Cuadro en la Pantalla
IF G_CUSTOM_CONTAINER IS INITIAL.
CREATE OBJECT G_CUSTOM_CONTAINER
EXPORTING CONTAINER_NAME = CUADRO. "Nombre del Container
CREATE OBJECT GRID1
EXPORTING I_PARENT = G_CUSTOM_CONTAINER.
CALL METHOD GRID1->SET_TABLE_FOR_FIRST_DISPLAY
EXPORTING
I_STRUCTURE_NAME = 'MARA' "Nombre de la Tabla
CHANGING
IT_OUTTAB = GT_SFLIGHT[].



* Este es el metodo para el Segundo Cuadro en la Pantalla

CREATE OBJECT G_CUSTOM_CONTAINER2
EXPORTING CONTAINER_NAME = CUADRO2. "Nombre del Container
CREATE OBJECT GRID2
EXPORTING I_PARENT = G_CUSTOM_CONTAINER2.
CALL METHOD GRID2->SET_TABLE_FOR_FIRST_DISPLAY
* EXPORTING I_STRUCTURE_NAME = 'MARC' "Nombre de la Tabla
CHANGING IT_FIELDCATALOG = GT_FIELDCAT[]
IT_OUTTAB = SALIDA[].


* Este es el Metodo para Colocar el Logo en el Container especificado.
CREATE OBJECT G_CUSTOM_CONTAINER
EXPORTING CONTAINER_NAME = CUADRO_LOGO. "Nombre del Container
CREATE OBJECT LOGO1
EXPORTING PARENT = G_CUSTOM_CONTAINER.
* Este logotipo debe de estar subido a sap, por medio de la transaccion
* SMW0 que permite la subida de imagenes y hojas extencion de HTML
OBJECT_ID = 'ZBEIBOL'. "Nombre del logo tipo a subir
IMPORT MIME FROM DATABASE WWWDATA(MI) ID OBJECT_ID.

CALL FUNCTION 'DP_CREATE_URL'
EXPORTING
TYPE = 'IMAGE'
SUBTYPE = 'GIF'
TABLES
DATA = MIME
CHANGING
URL = URL.

CALL METHOD LOGO1->SET_ADJUST_DESIGN
EXPORTING
ADJUST_DESIGN = 1.
CALL METHOD LOGO1->LOAD_PICTURE_FROM_URL
EXPORTING
URL = URL
EXCEPTIONS
OTHERS = 4.
ENDIF.
ENDMODULE. " STATUS_1000 OUTPUT
*&---------------------------------------------------------------------*
*& Module USER_COMMAND_1000 INPUT
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
MODULE USER_COMMAND_1000 INPUT.
IF SY-UCOMM EQ 'EXIT' OR SY-UCOMM EQ 'BACK'.
LEAVE PROGRAM.
ENDIF.
ENDMODULE. " USER_COMMAND_1000 INPUT

*&---------------------------------------------------------------------*
*& Form TEXTO_REP
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* -->P_GT_LIST_TOP_OF_PAGE[] text
*----------------------------------------------------------------------*
FORM TEXTO_REP.
CLEAR GT_FIELDCAT.
GT_FIELDCAT-FIELDNAME = 'MATNR'.
GT_FIELDCAT-REPTEXT = 'Material'.
APPEND GT_FIELDCAT.
CLEAR GT_FIELDCAT.

CLEAR GT_FIELDCAT.
GT_FIELDCAT-FIELDNAME = 'MAKTX'.
GT_FIELDCAT-REPTEXT = 'Descripción'.
APPEND GT_FIELDCAT.
CLEAR GT_FIELDCAT.
ENDFORM. " TEXTO_REP
__________________
ATTILIO TRAVASCIO

Úlima edición por Attilio Travascio fecha: 15/05/08 a las 19:18:22.
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 22:12:43.


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