MUNDOSAP

MUNDOSAP (foro/index.php)
-   Programación ABAP IV (foro/forumdisplay.php?f=4)
-   -   cl_gui_frontend_services=>gui_download y servidores (foro/showthread.php?t=38602)

cosagaucha 02/09/10 15:22:27

cl_gui_frontend_services=>gui_download y servidores
 
Hola gente,
estoy usando este metodo para bajar la tabla de datos a un archivo en mi pc, y eso anda OK, el tema es que ahora necesito cambiar el folder local, a un folder en un servidor de red x, donde el path logico es de la forma '\\10.20.xx.xx\' mas el nombre del archivo.

El tema es que por mas que tengo acceso a esa carpeta y puedo crear archivos, este metodo no me esta generando el archivo en el servidor, a no ser que reemplace la ip de red, por una unidad mapeada: 'Y:\'

Hay alguna opcion que tocar en el metodo como para que me acepte la primer ruta? o tendre que cambiar de clase/metodo y usar el open dataset ?

gracias a todos!!

ballan 02/09/10 16:08:10

Hace bastante tiempo recuerdo que la forma que tenia SAP de ver si te estabas refiriendo a una ruta local o de servidor era mirando el primer caracter de la ruta y si era una letra entonces era local y si era una "/" o "\" entonces era ruta de servidor por lo que es altamente probable que tanto este metodo como las funciones GUI_DOWNLOAD, WS_DOWNLOAD, etc "hereden" este chequeo y no dejen depositar el contenido de la tabla en una ruta que no empieze por letra asi que me temo que o mapean la unidad de red o tendras que utilizar open dataset

cosagaucha 02/09/10 21:00:59

hola, gracias por responder!,

hice el codigo del open dataset, pero en la linea siguiente, el sy-subrc es 8 ... alguna idea del porque?...

gracias!!

Jonathan Barrio Rodriguez 03/09/10 08:53:36

Me suena que era cuando no encontraba el archivo.

Hervie 03/09/10 10:08:01


Hola,
mete el trozo de codigo que utilizas para ver en qué puede fallar. No tengo mucha experiencia, pero esta parte ya la he tocado.

Hervie 03/09/10 10:13:38

mira este hilo...


cosagaucha 03/09/10 12:54:01

hola, el código que uso es el siguiente:

OPEN DATASET v_file FOR OUTPUT IN TEXT MODE ENCODING DEFAULT MESSAGE d_msg_text.
IF sy-subrc = 0.
LOOP AT ti_arch2 INTO wa_arch2.
TRANSFER wa_arch2 TO v_file.
ENDLOOP.
ENDIF.
CLOSE DATASET v_file.

y debuggeandolo, cuando hago el open dataset.. el mensaje que se almacena en d_msg_text es: "no such file or directory".

Aunque la ruta es la correcta, y el usuario que lo ejecuto tiene permisos de creacion y modificacion de archivos, tanto sea desde el explorador de windows como desde dentro de sap...

Otra, el archivo ANTES de ejecutar el prg NO existe, pero... no lo deberia poder crear el open dataset???

Gracias!

cosagaucha 03/09/10 13:15:08


hola Hervie, en base al link que me pasaste, -gracias!- vi en la AL11, que por mas que yo busco en 2 tablas -path logico y nombre del archivo- esa ruta que yo compongo con los datos de las 2 tablas, NO Existe en la AL11, ese sera mi drama?

O sea, por mas que yo le doy la ruta "externa" de sap, si sap no la tiene en la AL11, no la va a reconocer?

gracias de nuevo!

straith 08/09/10 14:33:01

Hola, pues si no has encontrado solución. Cambia el uso del método/clase por el open dataset.

La ruta deberá ser algo así "/usr/sap/mand/archivo" si el servidor es unix.

Verifica algún archivo ya existente si lo puedes leer sin problema poniendo la ruta de esta forma y fijate que te tira el sy-subrc.

La mas probable es que tengas algún error en la ruta o que desde SAP no tengas permiso para escribir en el directorio, algo que ya me ha pasado.

VLozano 09/09/10 15:40:51

No sólo eso, sino que además, si la variable que utilizas para construir el path no acepta minúsculas, jamás conseguirás grabar el fichero.

Conceptos
1- Si intentas bajar el fichero a una unidad del PC, utiliza los métodos/objetos *GUI*
1.a) OJO! Esos objetos y/o métodos NO funcionan en proceso de fondo

2- Si intentas bajar el fichero a un directorio de SAP (AL11), debes utilizar DATASETs
2.a) OJO! Cuando selecciones/informes el directorio, hay que tener en cuenta las mayúsculas


Yo lo que haría en tu caso sería mapearme como unidad de red un directorio del servidor (Linux?) donde se aloja el SAP, que se corresponda con uno de los directorios de la AL11 (usr/sap/data...), y modificar el programa de tal forma que si trabajas en línea usara *GUI* y en fondo DATASET, sobre la unidad mapeada o el directorio AL11. El inconveniente de este sistema es que deberías mapear la misma unidad para todos los usuarios que vayan a ejecutar el programa.

Así que quizá, lo recomendable, es tirar de DATASET XD

(rizando el rizo, podrías mandárselo al usuario por mail :D )


Husos Horarios son GMT. La hora en este momento es 01:11:28.

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