PDA

Ver la Versión Completa : crear un directorio en el servidor


juanmgdelomana
18/04/08, 12:33:58
Hola me gustaría preguntar a ver si alguien sabe si existe una función en SAP para crear un directorio en el servidor.

Un saludo y gracias.

vickxo
21/04/08, 08:34:38
No se me ocurre directamente nada para crear un directorio salvo.... que entres por la transaccion sm69 y crees un z donde cargues el comando mkdir para sistemas UNIX o md para windows luego por las sm49 buscas el z creado y lo ejecutas en la linea donde aparece comandos adicional y en teoria podria funcionar me lo saque de este link...pero insisto no tengo ni idea de si vaya a funcionar

http://sap4.com/postlite6048-.html

juanmgdelomana
21/04/08, 09:00:09
Lo que quiero mediante mi programa es comprobar en primer lugar si existe un determinado directorio en el application server, (lo podría mirar en la transacción al11) para más tarde si no existe crearlo.

Para lo primero puedo utilizar la función EPS_GET_DIRECTORY_LISTING que me devuelve un listado de todo lo que hay dentro de una ruta en el servidor.

Para lo segundo creo que podría utilizar las sentencias open dataset, transfer dataset y close dataset.

He encontrado buscando en foros la función 'GUI_CREATE_DIRECTORY' pero creo que esta función solamente me los permite crear en local, no es así???

Sabe alguien de alguna función que me cree el DIRECTORIO dentro de una ruta que le especifique.

Muchas gracias por vuestra atención. Un saludo

vickxo
21/04/08, 09:10:51
Prueba con esta para crear el directorio

GUI_CREATE_DIRECTORY()

O con esta otra

TMP_GUI_CREATE_DIRECTORY()



CALL FUNCTION 'GUI_CREATE_DIRECTORY'
EXPORTING
dirname = 'C:\PRUEBA'
EXCEPTIONS
failed = 1
OTHERS = 2.

Este ejemplo es para local, pero con la funcion q marcas podrias indicar la ruta en donde quieres el fichero puede q funcione....

Saludos...

juanmgdelomana
21/04/08, 09:24:10
No se poruqe razón ninguna de estas dos funciones me van, las pruebo mediante la se37, a continuación accedo a la al11 a la ruta donde se supone lo debería haber creado y no aparecen dichos directorios.:confused:

Me podríais decir por que?

vickxo
21/04/08, 10:36:35
Por lo q lei en la red la funcion no sirve para el SAPGUI 7, para esta ultima debes de utilizar el metodo cl_gui_frontend_services~directory_create
En el porgrama LSADDF40 viene un ejemplo ... la fuente es:

http://es.groups.yahoo.com/group/abap4/message/19708

Auqnue a decir verdad nunca he usado la funcion en toda mi puñetera vida pero tiene pinta de servir !

Saludos!

ballan
21/04/08, 13:07:16
Para poder crear directorios en el servidor tendras que ejecutar un script (de Unix o Windows dependiendo sobre que servidor este montado aunque el 90% son Unix) como bien te dicen mas arriba los scripts se crean en la tx SM49 y se ejcutan por medio de la funcion SXPG_COMMAND_EXECUTE

juanmgdelomana
22/04/08, 07:23:02
Muchas gracias ballan, aún no lo he probado bien pero creo que los tiros van por aqui, el servidor que estamos utilizando para el proyecto es Windows. ¿El commandname que debería utilizar es mkdir? ¿El destination sería la ruta dentro del servidor? ¿El resto de los parametros...? ¿Los puedo dejar vacios?

Un saludo y muchas gracias.

ballan
22/04/08, 08:56:52
Si, en el comando tendrias que poner mkdir o md y creo que como parametro tendrias que poner la ruta pero de eso no estoy seguro, de todas formas jugando un poco con los parametros y eso seguro que lo sacas rapidamente

vickxo
22/04/08, 09:27:15
MKDIR solo funciona para sistemas UNIX, en el caso de windows es MD, es como si estaviera en la consola de MS-DOS solo q se la mandas a traves de una funcion abap...

juanmgdelomana
22/04/08, 09:40:55
No he conseguido generar níngún directorio aún... Debería haber un parámetro que fuese path para indicar la ruta dentro del servidor no?