Mehrere Dateien einlesen

14. Februar 2017 12:03

Guten Morgen,

ich hätte mal eine Frage bzgl. dem Import von Daten.
Ich habe einen XML-Port geschrieben der mir die Quittierungsdatei unseres Lieferanten in eine Tabelle einliest.

Nun ist es aber so das bei dem Prozess auch mal mehrere Dateien kommen können und ich den Namen der Datei nicht weiß.
Es kann also mal eine CSV kommen, mal 2,3,4,.....

Mein Problem ist, das ich beim open Befehl ja den Dateinamen angeben muss. Wie kann ich das den am besten umgehen?

Meine Idee wäre, lies die erste Datei, nach der Verarbeitung lösch die Datei, wenn es eine zweite Datei gibt dann von vorne usw usw usw

Vielen Dank

Viele grüße

Re: Mehrere Dateien einlesen

14. Februar 2017 12:06

Hallo,

schau dir mal die Funktionen der Codeunit 419 an. Die sind was Dateihandling angeht sehr leistungsfähig. Gerade im Client- /Servicetierumfeld.

Gruß Fiddi

Re: Mehrere Dateien einlesen

14. Februar 2017 12:40

ich würde auch die 419 und DotNet Möglichkeit bevorzugen (Geschwindigkeit/Zuverlässigkeit).

Aber es geht auch die Virtuelle "File" Tabelle zu verwenden. Versuch eine Page zu erstellen und als Tabelle "File" einzugeben.
Im OnOpenPage kannst du dann einen Filter auf einen Ordner setzen. z.B.: SETRANGE(Path, 'C:\TEMP');

ACHTUNG: Im Allgemeinen sind Zugriffsrechte zu beachten :)

Re: Mehrere Dateien einlesen

14. Februar 2017 12:50

Aber es geht auch die Virtuelle "File" Tabelle zu verwenden


wobei ich diese Funktion nicht mehr verwende, da sie doch einige "undokumentierte" Funktionen hat, gerade im Zusammenhang mit Mehrfacheinlesungen, wo man "File" erst mal "wegfiltern" muss, damit die Werte neu eingelesen werden.
Außerdem funktioniert "File" nur auf dem Server.

Das geht mit den Getdirectory- Funktionen schon schicker.

Gruß Fiddi