Holen Sie sich die Inhalte eines serverseitigen Verzeichnis in SAP ABAP
-
02-07-2019 - |
Frage
Ich brauche eine Auflistung eines serverseitigen Verzeichnisses innerhalb von SAP zu erhalten. Wie erreiche ich das in ABAP? Gebe es integriert in SAP-Funktionen die ich anrufen kann?
Im Idealfall möchte ich eine Funktion, die ich einen Pfad als Eingang passieren kann und die eine Liste von Dateinamen in einer internen Tabelle zurück.
Lösung
Nachdem die Antworten von Chris Carrthers Lesen und tomdemuyt Ich würde sagen:
1) Verwendung RZL_READ_DIR_LOCAL wenn Sie einfache Liste von Dateinamen.
2) EPS_GET_DIRECTORY_LISTING ist mächtiger - auch Unterverzeichnisse auflisten
.Danke Sie beide!
Mit freundlichen Grüßen Niki Galanov
Andere Tipps
EPS2_GET_DIRECTORY_LISTING
macht das Gleiche wie EPS_GET_DIRECTORY_LISTING
gibt aber die Dateinamen bis zu 200 Zeichen!
Anruffunktion 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
*"----------------------------------------------------------------------
Setzen Sie den Pfad in den NAME-Importparametern, und dann das Verzeichnis liest von FILE_TBL Auflistung, nachdem er zurückkehrt.
RZL_READ_DIR_LOCAL normale lokale Pfade sowie UNC-Pfade verarbeiten kann.
Der einzige Nachteil ist, gibt es nur Sie auf die ersten 32 Zeichen jeden Dateinamen zugreifen. Sie können jedoch leicht eine neue Funktion erstellen auf der Grundlage des RZL_READ_DIR_LOCAL Code, und die Art und Weise der C-Programm Ausgabe gelesen wird, als die ersten 187 Zeichen jeden Dateinamen tatsächlich zur Verfügung stehen.
die Antwort Aufruf des Funktionsbausteins EPS_GET_DIRECTORY_LISTING. DIR_NAME -> Name des Verzeichnisses FILE_MASK. -> Pass '*' um alle Dateien zu erhalten
. Hinweis: Das funktioniert nicht mit wirklich großen Dateinamen (80 Zeichen +) beschäftigen, es kürzt den Namen
Hier finden Sie aktuelle Transaktion AL11 Quellcode: RSWATCH0 Form fill_file_list
Dort können Sie alle Informationen über Dateien erhalten.
Hope, das hilft!