[GELÖST] Import aller Dateien aus einem Verzeichnis in 2016

6. Juli 2016 23:03

Hallo Zusammen,

folgende Aufgabenstellung habe ich gerade in NAV2016:

In einem bestimmten Verzeichnis liegen tausende von Dateien, die in NAV in einem BLOB-Feld gespeichert werden sollen.
Zieltabelle kann zunächst sehr einfach gehalten werden mit folgenden Feldern
- PrimaryKey (entspricht dem Namen der Datei)
- Blob (soll den Inhalt der Datei speichern)

In NAV 5.0 wäre das noch in folgender Form möglich gewesen:

Code:
MyFile.RESET;
MyFile.SETRANGE(Path,Importverzeichnis);
MyFile.SETRANGE("Is a file",TRUE);
IF MyFile.FIND('-') THEN BEGIN
  REPEAT
    ImportVonDateiInTabelle(Importverzeichnis+MyFile.Name);
  UNTIL MyFile.NEXT = 0;
END;


Hierbei enspricht MyFile einer Variable vom Typ "File", im Importverzeichnis liegen alle einzulesenden Dateien und die Funktion "ImportVonDateiInTabelle" ist nicht ausprogrammiert, da es mir in dem Beispiel nur um das Verarbeiten aller Dateien eines bestimmten Verzeichnisses geht.

Nun mein Problem in NAV2016:
In NAV 2016 kann man auf eine Variable vom Typ "File" alles obige nicht anwenden:
- RESET
- SETRANGE
- FIND
- NEXT

Hat jemand eine Idee, wie man dies nun in NAV2016 umsetzen kann ?

Vielen Dank für Eure Hinweise !
Blue
Zuletzt geändert von BlueInTheSky am 7. Juli 2016 13:13, insgesamt 1-mal geändert.

Re: Import aller Dateien aus einem Verzeichnis in NAV2016

6. Juli 2016 23:21

Das Thema hatten wir schon mal hier für 2009, aber eine Lösung sollte dabei sein: viewtopic.php?f=7&t=10440

Re: Import aller Dateien aus einem Verzeichnis in NAV2016

7. Juli 2016 09:55

Hallo,

schau dir mal die Funktionen der Codeunit 419 FileManagement an. da ist eigentlich fast alles drin, um an Dateien dran zu kommen, bzw. Sie auf dem Servicetier- Server zu verarbeiten.

Gruß Fiddi

Re: Import aller Dateien aus einem Verzeichnis in NAV2016

7. Juli 2016 13:12

Vielen Dank für Eure Tipps, McClane und Fiddi !
Mit Eurer Unterstützung ging es dann doch ganz einfach.

Das obige Beispiel klappt auch in NAV 2016 noch.
Man muss nur die Variable MyFile ändern:
Sie darf nicht mehr vom Typ "File" sein, sondern muss eine Record-Variable auf die virtuelle Tabelle "File" sein:
Record File.JPG


In dieser Form setzt das Beispiel allerdings voraus, dass das Importverzeichnis auf dem Server liegt, auf dem das NAV-Service-Tier installiert ist, was für meinen Fall kein Problem darstellte.
Falls diese Einschränkung ein Problem darstellt, benötigt man vermutlich die Funktionen aus Codeunit 419 "FileManagement", die Fiddi angesprochen hat.

Grüße, Blue
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.

Re: [GELÖST] Import aller Dateien aus einem Verzeichnis in 2

7. Juli 2016 14:11

BlueInTheSky hat geschrieben:Man muss nur die Variable MyFile ändern:Sie darf nicht mehr vom Typ "File" sein, sondern muss eine Record-Variable auf die virtuelle Tabelle "File" sein

Aber genau das gleiche hast du doch schon in deinem 5.0-Code gemacht?¿

Re: [GELÖST] Import aller Dateien aus einem Verzeichnis in 2

7. Juli 2016 14:35

--> Habe auch gerade gemerkt, dass es auch in NAV 5.0 nicht über
Datatype File.JPG

geht sondern nur über
Record File.JPG


Muss mich da verguckt haben. Also klappt das Beispiel so doch sowohl in NAV 5.0 als auch in NAV 2016 :roll:
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.

Re: [GELÖST] Import aller Dateien aus einem Verzeichnis in 2

8. Juli 2016 00:01

In diesem Fall anscheinend ja.
Allgemeiner jedoch: siehe Fiddis Hinweis, oder löse es per Dotnet, wie von SilverX in dem weiter oben verlinkten Beitrag beschrieben.