[gelöst] Datumskonvertierung beim Einlesen über den Dataport

2. März 2007 09:28

Ich habe folgendes Problem:
Über einen Dataport lese ich eine csv-Datei ein.
Das Problem ist aber, dass das Datum dort im Format YYYY/MM/DD hinterlegt ist.
NAV 4.3 erkennt dieses Format aber nicht als 'Date' an.
Weiss vielleicht jemand, wie ich das Format umkonvertieren kann, damit ich es in ein 'Date'-Feld eintragen lassen kann? (Das mauelle Umschreiben in der Quelldatei fällt als Lösung weg, da das bei der Fülle der täglich zu importierenden Datensätzen zu auswändig wäre)
Die Krönung wäre es natürlich, wenn ich das Datum gleichzeitig mit der Zeit (die im richtigen Format eingelesen wird) schon beim Einlesen in ein 'DateTime' umwandeln und speichern könnte. Aber das sollte ja mit "...CREATEDATETIME(DATE, TIME);" gehen

Danke schonmal im voraus!

-Schnitzelp
Zuletzt geändert von Schnitzelp am 2. März 2007 10:05, insgesamt 1-mal geändert.

2. März 2007 09:33

Du kannst den String in 2er+Schrägstrich-Schritten als 3 Zahlen einlesen und diese dann über Date := DMY2DATE(Tag, Monat, Jahr) konvertieren.

2. März 2007 09:36

Vielen Dank für die schnelle Antwort.
Darüber bin ich auch schonmal gestolpert; mir fehlt aber leider der Befehl dazu.
Kannst du mir vielleicht kurz schreiben, wie ich die "YYYY/MM/DD" einzeln einlese? (Wie ich den String quasi aufteilen und trennen kann)

2. März 2007 09:57

Hallo Schitzelp,

du kannst mit copystr aus einem Textfeld Zeichen ausschneiden.

NewString := COPYSTR(String, Position [, Length])

mfG Jürgen

2. März 2007 10:05

Das ist genau das, was ich gesucht haben, VIELEN DANK!

(Ein Lob an euch, echt super Support hier!!!)

-Schnitzelp

2. März 2007 10:21

Ich empfehle dir ganz dringend dieses Mini-Handbuch:
http://www.msdynamics.de/viewtopic.php?t=1545

Es fasst alle gängigen Befehle sortiert nach Anwendungsgebiet (z.B. Dates & Times).