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 09/03/09, 11:02:06
Alatz Alatz is offline
Junior Member
 
Fecha de Ingreso: oct 2008
Mensajes: 28
Duda al imprimir un ALV

Hola,

Tengo una duda sobre la impresión de un ALV. Resulta que a la hora de imprimir, no me imprime la parte del "top_of_page", es decir, la parte en la que tengo puesto un fondo con su respectivo logo y algun que otro dato (como la ubicación o el mensaje que indica que no se ha introducido ninguna ubicación).
¿Que hay que hacer para que se imprima tambien esa parte del ALV?

Aparte, tambien quisiera sacar el nombre del usuario, la fecha y la hora en esa cabecera.
¿Existe alguna forma de hacerlo?

Espero que alguien pueda ayudarme.
Gracias.
Responder Con Cita
  #2  
Viejo 09/03/09, 15:42:22
PabloGP PabloGP is offline
Junior Member
 
Fecha de Ingreso: sep 2008
Mensajes: 21
Buenas,

para imprimir la hora, el usuario y la fecha en el formulario podrias hacer lo siguiente:

Defines:

data cabecera type SLIS_T_LISTHEADER.

data wa_cabecera like LINE OF cabecera.


FORM CREA_CABECERA .

wa_cabecera-typ = 'S'.
wa_cabecera-key = 'Usuario: '.
wa_cabecera-info = sy-uname.
APPEND wa_cabecera to cabecera.

wa_cabecera-typ = 'S'.
wa_cabecera-key = 'Fecha: '.
data: fecha_formateada(10).
write sy-datum to fecha_formateada USING EDIT MASK '__/__/____'.
wa_cabecera-info = fecha_formateada.
APPEND wa_cabecera to cabecera.

wa_cabecera-typ = 'S'.
wa_cabecera-key = 'Hora: '.
wa_cabecera-info = sy-uzeit.
APPEND wa_cabecera to cabecera.


ENDFORM.

Te saldrá como resultado en la cabecera lo siguiente:

-------------------------------
Usuario: NOMBRE_USUARIO
Fecha: 09/03/2009
Hora: 17:41:23
-------------------------------

Espero que te ayude...
Responder Con Cita
  #3  
Viejo 10/03/09, 08:58:01
Alatz Alatz is offline
Junior Member
 
Fecha de Ingreso: oct 2008
Mensajes: 28
Disculpa pero...después donde se supone que debo usar la variable "cabecera"?
Pensaba que habría que pasarsela al parámetro de I_CALLBACK_TOP_OF_PAGE que está en la función REUSE_ALV_GRID_DISPLAY...pero no me visualiza nada.

¿Podrías decirme donde usarla?

Gracia de todas formas por la ayuda...creo que por aquí van los tiros.
Responder Con Cita
  #4  
Viejo 10/03/09, 09:05:51
francesc francesc is offline
Member
 
Fecha de Ingreso: mar 2006
Localización: Barcelona
Mensajes: 58
Añade este form:

*&-------------------------------------------------------------------*
*& Form TOP_OF_PAGE
*&-------------------------------------------------------------------*
*& Función que escribe el contenido de una tabla tipo slis_t_header
*&-------------------------------------------------------------------*
FORM top_of_page.
CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'
EXPORTING
it_list_commentary = cabecera.
ENDFORM.
Responder Con Cita
  #5  
Viejo 10/03/09, 11:26:10
PabloGP PabloGP is offline
Junior Member
 
Fecha de Ingreso: sep 2008
Mensajes: 21
Prueba añadiende esto:

PERFORM asocia_eventos.

CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
IT_EVENTS = t_eventos



FORM ASOCIA_EVENTOS .

DATA wa LIKE LINE OF t_eventos.

CALL FUNCTION 'REUSE_ALV_EVENTS_GET'
IMPORTING
ET_EVENTS = t_eventos
EXCEPTIONS
LIST_TYPE_WRONG = 1
OTHERS = 2.

IF SY-SUBRC <> 0.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
* WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.

READ TABLE t_eventos INTO wa
with key name = 'TOP_OF_PAGE'.
wa-form = 'TOP_OF_PAGE_F'.
modify t_eventos FROM wa index sy-tabix.

* (asocia al evento TOP_OF_PAGE la subrutina TOP_OF_PAGE_F)


ENDFORM. " ASOCIA_EVENTOS


FORM TOP_OF_PAGE_F.

CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'
EXPORTING
IT_LIST_COMMENTARY = cabecera.

ENDFORM.


Espero que te sirva...
Responder Con Cita
  #6  
Viejo 10/03/09, 11:49:04
Alatz Alatz is offline
Junior Member
 
Fecha de Ingreso: oct 2008
Mensajes: 28
perdona pero.....como esta declarado t_eventos?
Responder Con Cita
  #7  
Viejo 10/03/09, 13:43:54
Alatz Alatz is offline
Junior Member
 
Fecha de Ingreso: oct 2008
Mensajes: 28
Supongo que sera así:

DATA T_EVENTOS TYPE SLIS_T_EVENT.

Cre que me voy acercando cada vez más a la solución.

Responder Con Cita
  #8  
Viejo 10/03/09, 16:38:40
PabloGP PabloGP is offline
Junior Member
 
Fecha de Ingreso: sep 2008
Mensajes: 21
Si, es del tipo SLIS_T_EVENT.

Para saber el tipo pincha sobre el nombre de la funcion del ALV 'REUSE_ALV_GRID_DISPLAY' o la que estes usando, y en la pestaña 'import' podras ver todos los tipos de datos que usa.

Animo que ya lo tienes!
Responder Con Cita
  #9  
Viejo 11/03/09, 11:06:01
Alatz Alatz is offline
Junior Member
 
Fecha de Ingreso: oct 2008
Mensajes: 28
Y con eso....conseguis que al imprimir en PDF os salga una cabecera con el usuario, la fecha y la hora???

Es que......al debugear, tengo en T_EVENTOS los datos de usuario, fecha y hora....pero no se si los estoy pasando a la función REUSE_ALV_GRID_DISPLAY.

Cuando ejecuto, veo una cabecera con un fondo y un logo que yo mismo he puesto....pero a la hora de imprimir a PDF solo sale el título del ALV como cabecera.
Responder Con Cita
  #10  
Viejo 11/03/09, 14:02:02
francesc francesc is offline
Member
 
Fecha de Ingreso: mar 2006
Localización: Barcelona
Mensajes: 58
Tienes el evento 'TOP_OF_PAGE' en tu lista de eventos del ALV?.
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 02:33:38.


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