PDA

Ver la Versión Completa : Exportar a excel desde proceso de fondo


XtiaN
09/12/08, 21:37:05
Hola, necesito ejecutar un proceso de fondo con el cual ejecute un reporte y ademas exporte el contenido de dicho reporte a excel, pero no se que funcion o que debo hacer puesto que, como es proceso de fondo, no puedo usar WS_DOWNLOAD ni GUI_DOWNLOAD.

De antemano muchas gracias.

DavidXD_XD
09/12/08, 22:53:27
Hola ... porque no pruebas enviando un correo?, eso si lo acepta en proceso de fondo :D

negrogho
10/12/08, 18:41:29
Hola Xtian

Puedes usar la instruccion OPEN DATASET fichero FOR OUTPUT IN TEXT MODE ENCODING DEFAULT.
despues haces un LOOP a la tabla que vas a descargar:

LOOP AT itab_datos.
TRANSFER itab_datos TO fichero.
ENDLOOP.

"fichero" debe contener la ruta y el nombre del archivo, cada campo debe ir serparado por PAID (I) para que excel los reconosca como columnas.

Saludos

Edd_401
10/12/08, 21:35:02
Cuando ejecutas un proceso en fondo no se pueden usar la funciones:

WS_DOWNLOAD ni GUI_DOWNLOAD. Ya que estas dejan el archivo en la PC del usuario.


negrogho Indica la solicion correcta, esto hace que se deje un archivo de tetxo en el servidor, simplemente lo abres con excel.

Es importante el tabulador o separador, de otra manera te lo deja en una sola celda.

DATA: L_RUTA TYPE STRING,
W_CAMPO(360).

CONCATENATE P_NOMBRE SY-DATUM T_T001W-WERKS '.TXT'
INTO P_NOMBRE.

CONCATENATE 'C:\Tableros\' P_NOMBRE
INTO L_RUTA.

CONDENSE L_RUTA NO-GAPS.

OPEN DATASET L_RUTA FOR OUTPUT IN TEXT MODE.

LOOP AT T_FINAL.

CLEAR W_CAMPO.

CONCATENATE
T_FINAL-LGORT
T_FINAL-MATNR
T_FINAL-MAKTX
T_FINAL-BWART
T_FINAL-MBLNR
T_FINAL-BUDAT
T_FINAL-SIGNO
T_FINAL-MENGE
T_FINAL-MEINS
INTO W_CAMPO SEPARATED BY VALOR.
TRANSFER W_CAMPO TO L_RUTA.
CLEAR: T_FINAL, W_CAMPO.

ENDLOOP.
CLOSE DATASET L_RUTA.