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.
www.mundosap.com 2006 - Spain
software crm, crm on demand, software call center, crm act, crm solutions, crm gratis, crm web