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.