Получение содержимого каталога на стороне сервера в SAP ABAP

Мне нужно получить список каталога на стороне сервера внутри SAP. Как я могу достичь этого в ABAP? Есть ли встроенные функции SAP, которые я могу вызвать?

В идеале я хочу функцию, которую я могу передать путь в качестве ввода, и которая вернет список имен файлов во внутренней таблице.

5 ответов


после прочтения ответов Криса Carrthers и tomdemuyt я бы сказал так:

1) Используйте RZL_READ_DIR_LOCAL, если вам нужен простой список имен файлов.

2) EPS_GET_DIRECTORY_LISTING более мощный - он также может перечислять подкаталоги.

спасибо вам обоим!

С наилучшими пожеланиями Ники Галанов!--1-->


EPS2_GET_DIRECTORY_LISTING делает то же самое как EPS_GET_DIRECTORY_LISTING но перенастраивает имена файлов до 200 chars!


вызов функции 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
*"----------------------------------------------------------------------

поместите путь в параметр name import, а затем прочитайте список каталогов из FILE_TBL после его возвращения.

RZL_READ_DIR_LOCAL может обрабатывать обычные локальные пути, а также UNC-пути.

единственным недостатком является то, что он дает вам доступ только к первым 32 символам каждого имени файла. Однако вы можете легко создать новую функцию на основе кода RZL_READ_DIR_LOCAL и изменить способ вывода программы C читается, так как первые 187 символов каждого имени файла фактически доступны.


ответ вызывает функциональный модуль EPS_GET_DIRECTORY_LISTING. Имя_каталога -> имя каталога FILE_MASK - > Pass '*', чтобы получить все файлы.

Примечание: это не имеет дело с действительно большими именами файлов (80 символов+), он усекает имя.


взгляните на исходный код транзакции AL11: RSWATCH0 form fill_file_list Там вы можете получить всю информацию о файлах.

надеюсь, что это помогает!