Cargar un fichero del servidor (UNIX)
Obtener la lista de ficheros de un directorio del servidor ejecutando un comando del sistema operativo.
Si solo necesitas los nombres de los ficheros, es más sencillo y seguro usar la función EPS2_GET_DIRECTORY_LISTING, que no necesita definir comandos del sistema operativo.
- Trucos
- 3 de 7
- Siguiente
- Hacer invisible un table control
Si lo que quieres es una carga directa de los ficheros que existan
en una ruta en un servidor UNIX puedes probar con esto:
DATA: ld_ruta LIKE sxpgcolist-parameters. " Ruta de los ficheros
DATA: gt_tabl LIKE btcxpm OCCURS 0 WITH HEADER LINE. " Tabla
CALL FUNCTION 'SXPG_COMMAND_EXECUTE'
EXPORTING
commandname = 'ZLL'
additional_parameters = ld_ruta
TABLES
exec_protocol = gt_tabl
EXCEPTIONS
no_permission = 1
command_not_found = 2
parameters_too_long = 3
security_risk = 4
wrong_check_call_interface = 5
program_start_error = 6
program_termination_error = 7
x_error = 8
parameter_expected = 9
too_many_parameters = 10
illegal_command = 11
wrong_asynchronous_parameters = 12
cant_enq_tbtco_entry = 13
jobcount_generation_error = 14
OTHERS = 15.El comando 'ZLL' se define en la transacción SM69:
Por ejemplo, uno definido con el comando de sistema 'ls' y parámetro '-l'.
De este modo carga en la tabla interna gt_tabl todos los ficheros y directorios
del servidor UNIX que existen en el directorio ld_ruta.
Los directorios vienen indicados con una d y los ficheros con un guión.
Después de esto, sólo quedaría pegarte un poco con el formato para ver
la posición exacta en la que viene el nombre del fichero.