SAP ABAP: Recuperar nombres de ficheros del servidor ABAP

Para obtener los nombres de los ficheros del servidor en ABAP (ficheros que podemos ver en la transacción AL11), tendremos que usar la función EPS_GET_DIRECTORY_LISTING.

Con la transacción AL11 podemos acceder a los directorios de SAP (del servidor) e incluso abrir los archivos.

Accediendo a la transacción AL11 nos listará todos los directorios disponibles; haciendo doble click sobre cualquiera de ellos podremos ver los archivos que hay dentro. Y, si los archivos son de texto, incluso podemos ver su contenido haciendo nuevamente doble click.

Os mostramos un ejemplo de uso de cómo obtener los nombres de los ficheros del servidor en ABAP:

PARAMETERS: p_ruta TYPE  epsf-epsdirnam DEFAULT ‘/usr/comunic/prueba’.

  DATA: lt_dirlist          TYPE TABLE OF epsfili,

        ls_dir_list          TYPE epsfili,
        ls_dirlist          TYPE epsfili.

 DATA:  lv_dir_name      TYPE epsf-epsdirnam,
         lv_file_counter  TYPE epsf-epsfilsiz,
         lv_error_counter TYPE epsf-epsfilsiz.

  CLEAR:
        ls_dir_list,
        ls_dirlist,
        lv_dir_name,
        lv_file_counter,
        lv_error_counter.

*Recuper los ficheros del servidor y se guarda en una tabla interna
  CALL FUNCTION ‘EPS_GET_DIRECTORY_LISTING’
    EXPORTING
      dir_name               = p_ruta
    IMPORTING
      dir_name               = lv_dir_name
      file_counter           = lv_file_counter
      error_counter          = lv_error_counter
    TABLES
      dir_list               = lt_dirlist
    EXCEPTIONS
      invalid_eps_subdir     = 1
      sapgparam_failed       = 2
      build_directory_failed = 3
      no_authorization       = 4
      read_directory_failed  = 5
      too_many_read_errors   = 6
      empty_directory_list   = 7
      OTHERS                 = 8.

En la tabla lt_dirlist tendremos el listado de ficheros del directorio indicado.

Puedes consultar el uso de más funciones en el siguiente enlace.