MUNDOSAP

MUNDOSAP (foro/index.php)
-   Programación ABAP IV (foro/forumdisplay.php?f=4)
-   -   Utilizar proceso de fondo (foro/showthread.php?t=2818)

gdmj1107 30/11/06 18:47:08

Utilizar proceso de fondo
 
Hola, les comento que tengo un programa que obtiene unos datos y los quiero bajar a uno o mas archivos texto, para lo cual utilizo la función Download, pero cuando lo envío a proceso de fondo, este se cancela, porque se produce el error "Errores tiempo ejecucióRAISE_EXCEPTION "
Qué función puedo utilizar para poder procesar en fondo?

Gracias por su ayuda

GDMJ1107:)

gcid 30/11/06 19:09:49

Utilizar proceso de fondo
 
Hola GDMJ1107, que yo sepa eso no se puede hacer, no puedes usar esa función para bajar a PC y procesarla en fondo, por que el proceso en fondo significa que le pasa la ejecución al servidor y como va a saber el servidor en que PC dejar el archivo?.

En esos casos debe especificar bien si lo que quieren es ejecutar en proceso de fondo, debes enviarlo a un servidor UNIX u otro que ocupen Uds..
ejemplo yo uso este código para bajar el archivo al servidor UNIX.

*-Bajar a UNIX.-
CONCATENATE p_dunix p_nfile INTO path_file.
OPEN DATASET path_file FOR OUTPUT IN TEXT MODE.
IF NOT sy-subrc IS INITIAL.
MESSAGE i000(zg01) WITH
'Error al generar archivo de salida' path_file.
EXIT.
ELSE.
LOOP AT ti_reg.
TRANSFER ti_reg TO path_file.
IF NOT sy-subrc IS INITIAL.
MESSAGE i001 WITH 'Error al grabar registros' path_file.
ENDIF.
ENDLOOP.
CLOSE DATASET path_file.
ENDIF.


En el caso que solo deseen bajarlo a PC puedes ocupar la función download pero te recomiendo que ocupes WS_DOWNLOAD.

gdmj1107 30/11/06 19:27:18

Quería evitar llevarlo al servidor pero tendré que hacerlo, gracias por tu ayuda

Salu2

Toko 29/03/07 20:16:05

Bajar archivo en proceso de fondo
 
Tengo el mismo problema con el proceso de fondo, utilizo lo siguiente:

OPEN DATASET PATH_FILE FOR OUTPUT IN TEXT MODE ENCODING NON-UNICODE.

IF NOT SY-SUBRC IS INITIAL.

write : 'Error al generar archivo de salida'.
* EXIT.
ELSE.

LOOP AT T_SALIDA.
TRANSFER T_SALIDA TO PATH_FILE.
IF NOT SY-SUBRC IS INITIAL.
WRITE: 'Error al grabar registros'.
ENDIF.
ENDLOOP.

CLOSE DATASET PATH_FILE.
ENDIF.

es un servico AS/400, no me aparece error, pero no hace nada....

alguien tiene alguna idea de como puedo hacerlo.

atte
toko

DCErick 29/03/07 23:14:58

Puedes grabarlo en una PC usando carpetas compartidas....
Por ejemplo yo subo archivos de una PC que se conecta al banco, y para subirlos solo comparto la carpeta en donde se crearan dichos archivos y con el open dataset los abro poniento rutas como
'\\192.168.11.114\Cash\28032007\160815.txt' y funciona de maravilla...

puedes ver el grupo de funciones SAPLEPSF, ahi vienen varias funciones muy buenas para el manejo de archivos...

Y si ves el codigo de las fuciones notaras que la mayoria usa open dataset para manejar los archivos...

bisonye 02/04/07 13:38:26


¿Como pones la ruta? Si pones /directorio/ Te lo guarda en un directorio del raiz del 400 si omites la primera barra te lo guarda en el directorio por defecto del 400.
A mi asi me funciona sin problemas


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

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