If this is your first visit, be sure to
check out the FAQ by clicking the
link above. You may have to register
before you can post: click the register link above to proceed. To start viewing messages,
select the forum that you want to visit from the selection below.
Tengo un problema con la función GUI_DOWNLOAD y es que cuando lo ejecuto mediante job no me descarga nada, si no lo hago mediante un job el funcionamiento es el correcto. Alguien sabe porque pasa esto.
el problema es que las funciones WS_DOWNLOAD o GUI_DOWNLOAD no se pueden ejecutar en fondo. Deberías bajarte el fichero al servidor de aplicaciones con las sentencias OPEN DATASET, TRANSFER DATASET y CLOSE DATASET y luego bajarlo del servidor de aplicaciones a local haciendo un CALL TRANSACTION a la CG3Y.
Pregunta a tu responsable si hay alguna carpeta en el arbol donde puedas almacenar ese fichero temporalmente.
La ruta sera algo parecido a esto.../usr/sap/trans/tmp/ depende de como este organizado tu servidor de aplicación.
Tal y como t comenté en el post anterior puedes usar la transacción CG3Y o creo que te puede ser mas cómodo usar una función que hace lo mismo, te dejo el código de ejemplo.
Un saludo.
*&---------------------------------------------------------------------*
*& Report ZPMSFR_BAJFICHSER
*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*
REPORT ZPMSFR_BAJFICHSER no standard page heading LINE-COUNT 65 LINE-SIZE 132.
tables: SAPB.
* Selection screen
SELECTION-SCREEN BEGIN OF BLOCK b_first WITH FRAME title text-001.
SELECTION-SCREEN SKIP 1.
parameters: Unidad like SAPB-SAPPFAD default '/usr/sap/trans/tmp/',
destino like SAPB-SAPPFAD default 'C:/'.
SELECTION-SCREEN SKIP 1.
SELECTION-SCREEN END OF BLOCK b_first.
start-of-selection.
CALL FUNCTION 'ARCHIVFILE_SERVER_TO_CLIENT'
EXPORTING
PATH = unidad
TARGETPATH = destino
EXCEPTIONS
ERROR_FILE = 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.
else.
Me ha surgido otro problema, utilizando la transacción 3CGY on-line funciona bien pero en batch no pasa ningún archivo.
Si utilizo la función el resultado es el mismo en on-line si funciona y en batch no pasa ningún archivo.
Sabes xq puede ser???
Porque esta transacción utilizará el gui_download, para pasar del servidor a tu pc.
Una solución para este problema sería hacer un ftp mediante comando. Y llamarlo desde tú programa de esta forma.
he probado lo que te dije y vas a tener razón, es imposible hacerlo funcionar en background. Además he leido en otros foros y por lo que parece no eres al primero que le surge ese problema y nadie tiene una solución factible. La única solución posible parece la que ha dado JAC.
Si no quieres complicarte y no necesitas tener los ficheros automaticamente en local, te queda bajarlos manualmente tu mismo a local una vez que los tienes en el servidor de aplicaciones.
Comentario