PDA

Ver la Versión Completa : Mover un archivo en el Servidor


fcovargasc
20/12/10, 19:10:12
Estimados
Necesito Mover un archivo de una carpeta a otra, para esto cree un comando cmd en SM69, pero cuando lo llamo con la funcion SXPG_CALL_SYSTEM como puedo insertarle el nombre del archivo por parametro

alguien conoce otra forma efectiva para mover un archivo a otra carpeta en el servidor????


gracias Estimados

ppchico
21/12/10, 08:03:44
Yo lo suelo hacer con comandos en este caso sería el comando MV. Prueba lo Siguiente:

Por ejemplo, puedes hacerlo así:





CONCATENATE 'MV' p_directorio1 into l_comando.
l_cadena = p_directorio2.

CALL FUNCTION 'RZL_START_PROGRAM_REMOTE'
EXPORTING
cmd = l_comando
cmd_arguments = l_cadena.



Con esto debería valerte para mover el fichero entre directorios del servidor.

Suerte!

fcovargasc
21/12/10, 15:55:25
Hola, Primero muchas gracias por reponder
segundo probe lo que me indicas pero me entrega e siguiente mensaje cuando lo ejecuto.

*P_PATHIN url donde se encuentra archivo
*mover a carpeta de error XMLERR\

CONCATENATE P_PATHIN 'XMLERR\' INTO l_urldes.

CONCATENATE 'MV' P_PATHIN FILENAME into l_comando.

CALL FUNCTION 'RZL_START_PROGRAM_REMOTE'
EXPORTING
cmd = l_comando
cmd_arguments = l_urldes.


mensaje final "Función no implementada en esta plataforma"


Yo lo suelo hacer con comandos en este caso sería el comando MV. Prueba lo Siguiente:

Por ejemplo, puedes hacerlo así:





CONCATENATE 'MV' p_directorio1 into l_comando.
l_cadena = p_directorio2.

CALL FUNCTION 'RZL_START_PROGRAM_REMOTE'
EXPORTING
cmd = l_comando
cmd_arguments = l_cadena.



Con esto debería valerte para mover el fichero entre directorios del servidor.

Suerte!

ppchico
21/12/10, 17:13:50
Hola, Primero muchas gracias por reponder
segundo probe lo que me indicas pero me entrega e siguiente mensaje cuando lo ejecuto.

*P_PATHIN url donde se encuentra archivo
*mover a carpeta de error XMLERR\

CONCATENATE P_PATHIN 'XMLERR\' INTO l_urldes.

CONCATENATE 'MV' P_PATHIN FILENAME into l_comando.

CALL FUNCTION 'RZL_START_PROGRAM_REMOTE'
EXPORTING
cmd = l_comando
cmd_arguments = l_urldes.


mensaje final "Función no implementada en esta plataforma"
Se me olvidó poner SEPARATED BY SPACE. de modo que según tu código sería de la siguiente manera:


*P_PATHIN url donde se encuentra archivo
*mover a carpeta de error XMLERR\

CONCATENATE P_PATHIN 'XMLERR\' INTO l_urldes.

DATA: L_AUXILIAR TYPE STRING.

CONCATENATE P_PATHIN FILENAME INTO L_AUXILIAR.

CONCATENATE 'MV' l_auxiliar into l_comando separated by space.

CALL FUNCTION 'RZL_START_PROGRAM_REMOTE'
EXPORTING
cmd = l_comando
cmd_arguments = l_urldes.


De esta forma, imagina la siguiente situación:

PATH Inicio: /PATH1/SUBCARPETA2/FICHERO.TXT
PATH Fin: /PATH1/SUBCARPETA2/FICHERO.TXT

Entonces tendrías que estar pasando lo siguiente:

CMD = "MV [SPACIO] /PATH1/SUBCARPETA/FICHERO.TXT"
CMD_ARGUMENTS = "/PATH1/SUBCARPETA2/FICHERO.TX"

Así, ejecutará el comando entero
MV [SPACIO] /PATH1/SUBCARPETA/FICHERO.TXT1 [SPACIO] /PATH1/SUBCARPETA2/FICHERO.TXT

Nótese que no tiene que poner [SPACIO] sino que se trata de el caracter espacio (Barra espaciadora).

Prueba de nuevo y me cuentas!!
Un Saludo,
Javier.

fcovargasc
21/12/10, 17:31:49
Función no implementada en esta plataforma

cmd :MV \\LDCTES76\DATOSSAP\CLNT600\SOC5000\INTERFACES\ENTRADA\DTEXML\XMLOK\EDTE_3A1BD485FFF34C769A037F13C6B25EC0_1.XML

cmd_arguments :\\LDCTES76\DATOSSAP\CLNT600\SOC5000\INTERFACES\ENTRADA\DTEXML\XMLERR\
--------------------------------------------------------------------------
Función no implementada en esta plataforma

cmd :MV \\LDCTES76\DATOSSAP\CLNT600\SOC5000\INTERFACES\ENTRADA\DTEXML\XMLOK\EDTE_3A1BD485FFF34C769A037F13C6B25EC0_1.XML

cmd_arguments :\\LDCTES76\DATOSSAP\CLNT600\SOC5000\INTERFACES\ENTRADA\DTEXML\XMLERR\EDTE_3A1BD485FFF34C769A037F13C6B25EC0_1.XML


en ambas situaciones me da ese mensaje, esta funcion es de unix, el server es win 2003 nt.