2008-09-30 18 views

Respuesta

3

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

1) Uso RZL_READ_DIR_LOCAL si necesitan simple lista de nombres de archivo.

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

Gracias a los dos!

Con recuerdos Niki Galanov

+1

La desventaja de EPS_GET_DIRECTORY_LISTING es que necesita una autorización de SAP bastante amplia ya que es parte del sistema de transporte (TMS) y generalmente solo se otorga a los administradores. – Marc

2

la respuesta está llamando 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 se trata de nombres de archivo realmente grandes (80 caracteres +), trunca el nombre. función

+0

Gracias, no sabía acerca de esa función, pero parece que no funciona con las rutas UNC, que necesito. –

3

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 el camino en el parámetro de importación NOMBRE, y después lee el listado de directorios 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.

+0

¿Lee esto un directorio en el servidor o en el Cliente? DIR_LOCAL suena como si fuera específico del cliente ... – Thorsten

1

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!

3

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

Cuestiones relacionadas