COMO CARGAR UN FICHERO DE UNIX A TRAVES DE UNA FUNCIÓN
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:
Yo tengo uno definida 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.