Función para ejecutar comandos unix
Muy buenas,
Tengo que ejecutar unos comandos en unix para copiar, borrar, etc. ficheros que están en determinadas rutas. Otras veces he utilizado: CALL FUNCTION 'RZL_START_PROGRAM_REMOTE' EXPORTING cmd = fichero_origen cmd_arguments = fichero_destino EXCEPTIONS argument_error = 1 send_error = 2 OTHERS = 3. Donde por ejemplo si quiero mover un fichero a otra ruta, en fichero_origen pongo mv seguido de la ruta del fichero origen, y en fichero_destino la ruta destino y el nombre del fichero. La cuestión es que esta función internamente almacena el fichero_origen en una variable de 100 caracteres, y debido a que la ruta esta dentro de muchas carpetas y que el nombre de fichero es muy largo, pues la corta y no me lo hace. Alguien sabe otra función que pueda utilizar para ejecutar comandos unix??? Y si no, al menos, alguna forma de poder borrar un fichero de una ruta unix, sin tener que utilizar esta función??? Asi intentaría copiar el fichero con un loop, y escribirlo en la ruta destino, y luego tendría que borrarlo de la ruta original. muchas gracias |
Desde la transaccion SM49 puedes crear comandos externos para interactuar con el SO, create los comandos para mover, eliminar o lo que quieras hacer y luego esos comandos puedes ejecutarlos con la funcion
SXPG_COMMAND_EXECUTE o SXPG_COMMAND_EXECUTE_LONG que te permite mas longtud en los parametros |
Al final hice esto:
DATA: BEGIN OF itab OCCURS 0, line(255), END OF itab. DATA: l_unix_command(500). CALL 'SYSTEM' ID 'COMMAND' FIELD l_unix_command ID 'ITAB' FIELD itab-*sys*. Y en l_unix_command he puesto el comando que quiero, por ejemplo: 'mv ruta1/fich1 ruta2/fich2' Gracias. |
Husos Horarios son GMT. La hora en este momento es 15:47:18. |
www.mundosap.com 2006 - Spain
software crm, crm on demand, software call center, crm act, crm solutions, crm gratis, crm web