PDA

Ver la Versión Completa : pasar ALV a excel


oieraz
26/03/09, 14:45:39
Hola, tengo un programa que al lanzarlo me devuelve un ALV. Mi labor es añadir a este programa un botón que me permita descargarme el ALV a formato EXcel. ¿Hay alguna función que lo permita? ¿Alguna sugerencia?

Gracias por vuestra ayuda.

javi24
26/03/09, 14:58:23
Buenas!

Te propongo una solución a ver que te parece, sino lo ves bien me lo dices y buscamos otra :)

1) Pincha en el Icono visualizar lista de objetos (control + shift + f5)
2)Con el boton derecho pincha en el nombre del programa -> crear -> status GUI
3) Le pones un nombre por ejemplo standard.
4) una vez dento de status gui pinchas en el menu de arriba en detalles -> ajustar modelo y escoje la opcion de ListviuewABAP.
5) Una vez hecho eso en tu ALV pones esto :


FORM set_status USING rt_extab TYPE slis_t_extab.
REFRESH rt_extab.
SET PF-STATUS 'STANDARD' EXCLUDING rt_extab.
ENDFORM.

Donde STANDARD es el nombre del status gui creado previamente

6)

ALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
i_callback_program = g_repid
i_callback_pf_status_set = 'SET_STATUS'
* i_callback_user_command = 'USER_COMMAND'
is_layout = ls_layout
it_fieldcat = lt_fieldcat[]
TABLES
t_outtab = itab_listado[]
EXCEPTIONS
program_error = 1
OTHERS = 2.

Añades la linea que está en rojo y listo.

Con eso obtienes un menu básico de utilidades entre ellas las de descargar a excel, fichero plano,etc.

ya me comentas

saludos
-javi-

oieraz
26/03/09, 15:52:25
Gracias por tu ayuda Javi, pero en este caso no me sirve, ya que tengo un ALV con muchísimos campos y la funcionalidad estándar para descargar a SAP no me va. No se si habrá alguna otra alternativa.

ballan
26/03/09, 17:01:43
Yo lo que he hecho otras veces es añadir un boton a la barra del ALV y cuando pulse ese boton lo que haces es descargarte la tabla interna que hay detras del ALV con la funcion GUI_DOWNLOAD y formato de fichero DAT en lugar de ASC

oieraz
26/03/09, 17:20:06
He hecho la llamada así, pero lamentablemente me da un dump

CALL FUNCTION 'GUI_DOWNLOAD'

EXPORTING
filename = v_file2 "'D:\TEST.XLS'
filetype = 'DAT'
write_field_separator = 'X'
TABLES
data_tab = TIS_SALIDA
fieldnames = t_fieldnames.

ballan
27/03/09, 11:06:54
Que dump te da?

Fijate que el parametro que le pasas a la GUI_DOWNLOAD sea de tipo string

gmarrapodi
06/04/09, 13:28:19
He hecho la llamada así, pero lamentablemente me da un dump

CALL FUNCTION 'GUI_DOWNLOAD'

EXPORTING
filename = v_file2 "'D:\TEST.XLS'
filetype = 'DAT'
write_field_separator = 'X'
TABLES
data_tab = TIS_SALIDA
fieldnames = t_fieldnames.


que tal mae, yo no se si se puede generar un download pasandole primero un elemnto primero y despues como literal un URL asi, por mi experiencia en los gui_down me parece que tendrias que pasarle en el parametro "filename" la ruta de descarga con el nombre correspondiente y su extension, como bien hiciste despues del v_file2 .
........................................................................................................
Guido Marrapodi
Consultor SAP BI
Solo hago programas generadores de dump. :P