txt servidor seleccionar rzl_read_dir_local guardar example eps_get_directory_listing directorio descargar crear cg3z carpeta borrar archivo al11 sap abap directory-listing

seleccionar - Obtener los contenidos de un directorio del lado del servidor en SAP ABAP



rzl_read_dir_local example (5)

Necesito obtener una lista de un directorio del lado del servidor dentro de SAP. ¿Cómo logro esto en ABAP? ¿Hay alguna función SAP integrada a la que pueda llamar?

Idealmente, quiero una función que pueda pasar una ruta como entrada, y que devolverá una lista de nombres de archivos en una tabla interna.


Función de llamada RZL_READ_DIR_LOCAL:

FUNCTION RZL_READ_DIR_LOCAL. *"---------------------------------------------------------------------- *"Lokale Schnittstelle: *" IMPORTING *" NAME LIKE SALFILE-LONGNAME *" TABLES *" FILE_TBL STRUCTURE SALFLDIR *" EXCEPTIONS *" ARGUMENT_ERROR *" NOT_FOUND *"----------------------------------------------------------------------

Coloque la ruta de acceso en el parámetro de importación NAME y luego lea el listado del directorio de FILE_TBL después de que regrese.

RZL_READ_DIR_LOCAL puede manejar rutas locales normales así como rutas UNC.

El único inconveniente es que solo le da acceso a los primeros 32 caracteres de cada nombre de archivo. Sin embargo, puede crear fácilmente una nueva función basada en el código RZL_READ_DIR_LOCAL y cambiar la forma en que se lee el resultado del programa C, ya que los primeros 187 caracteres de cada nombre de archivo están realmente disponibles.


Eche un vistazo a la transacción AL11 código fuente: RSWATCH0 formulario fill_file_list Allí puede obtener toda la información sobre los archivos.

¡Espero que esto ayude!


Después de leer las respuestas de Chris Carrthers y tomdemuyt, diría:

1) Use RZL_READ_DIR_LOCAL si necesita una lista simple de nombres de archivos.

2) EPS_GET_DIRECTORY_LISTING es más potente: también puede mostrar subdirectorios.

Gracias a los dos!

Con mis mejores deseos, Niki Galanov


EPS2_GET_DIRECTORY_LISTING hace lo mismo que EPS_GET_DIRECTORY_LISTING PERO repone los nombres de archivo hasta 200 caracteres!


la respuesta es llamar al módulo de funciones EPS_GET_DIRECTORY_LISTING. DIR_NAME -> Nombre del directorio FILE_MASK -> Pase ''*'' para obtener todos los archivos.

Nota: Esto no trata con nombres de archivo realmente grandes (80 caracteres +), trunca el nombre.