Dataport Zeilenendezeichen

28. August 2008 12:32

Hallo ich bin neu hier und auch neu in der Navision Programmierung und habe gleich mehrere Probleme mit einem Dataport.

1. Ich würde gerne wissen wie man fehlerfrei Dateien einliest die alternative Zeilenendezeichen besitzen. Wie z.B. Unix Dateien die eine Zeile mit einem LineFeed (LF) beenden, Windows dagegen benutzt CarriageReturn (CR) und LineFeed (LF). Geht das über die RecordSeperator Eigenschaft des Dataports? da ist ja standardmässig <<NewLine>> eingetragen wie kann man jetzt bestimmen wie dieses NewLine Zeichen auszusehen hat?

2. Wie sag ich dem Dataport, dass er erst in der zweiten Zeile anfängt die Daten zu verarbeiten, weil in der ersten Zeile die Spaltenüberschriften stehen.

aller guten Dinge sind ja bekanntlich 3.
Ich muß FieldStartDelimiter und FieldEndDelimiter benutzen, allerdings werden diese Zeichen auch in den einzelnen Feldern benutzt kann ein Dataport damit umgehen, wenn die Zeichen mit sich selbst Escapet werden ("" für " wenn der FieldDelimiter ein " ist)?

Danke schon mal im Vorraus

Re: Dataport Zeilenendezeichen

28. August 2008 13:06

Hallo neuer :P

Also als erstes könntest du mal in den Dataport Eigenschaften die entsprechnde Eigenschaft anklicken und F1 drücken.
Die hilfe von Nav ist an sich super und erklärt einiges.

zu 1.
<<NewLine>> ist einfach eine neue Zeile in deiner Importdatei.
Ich lese Daten immer als csv(MS-DOS) ein, aber denke dass das bei anderen Formaten auch so ist.

In der Hilfe wird auch erklärt was du für andere andere Formate nehmen kannst.

zu 2.
Spaltenüberschriften brauchst du in deiner Importdatei nicht. Die Spalten definierst du unter "View/Ansicht" - Dataport Fields/Dataport Felder ;)

zu 3.
Wenn es geht, mußt du ein Zeichen beutzen, welches in den Daten nicht vorkommt, sonst macht sich Nav verrückt :D

Andere Möglichkeit, insofern die Daten der Spalten IMMER die gleiche Länge habe, könntest du FileFormat auf Fixed stellen und bei den Dataports Field die Länge einstellen. Ist aber nur toll wenn wirklich die längen überinstimmen.

Hoffe das hilft dir ein wenig weiter.

Re: Dataport Zeilenendezeichen

28. August 2008 13:13

Hallo

zu 1
Über die Property RecordSeparator kann man verschiedene Zeichenfolgen festlegen
(siehe F1 - Online-Hilfe - Auszug )

<None> that there will no be RecordSeparator
<NewLine> any combination of CR and LF characters
<CR/LF> CR followed by LF
<CR> CR alone
<LF> LF alone
<TAB> Tabulator alone
Other strings the literal string entered

zu 2.
Dazu gibt es unter http://www.navision24.de/trickkiste/daten-importieren-spaltenueberschriften-ueberspringen.html ein Code-Beispiel

zu 3.
Ich nehme immer als Trennzeichen das Pipe-Zeichen | , was für gewöhnlich selten vorkommt.

MfG
Christian

Edit* Mist, einer war schneller...

Re: Dataport Zeilenendezeichen

28. August 2008 14:53

Wenn ich das Format der Datei bestimmen könnte hätte ich die Probleme ja auch nicht sie wird nur zur Verfügung gestellt und weill der Import irgendwann mal Automatisiert ablaufen soll versuch ich die Datei so zu nehmen wie sie ist.
Der Tipp mit dem Zeile überspringen hat schon mal funktioniert warum die Hilfe bei mir nur die Startseite der Navisionhilfe zeigt wenn ich auf dem Property RecordSeperator F1 drücke weiß ich nicht. Auch wenn ich in der Hilfe nach RecordSeperator suche sagt sie nichts.
Also denk ich werd ich was externes schreiben, was die Datei ins Nav verträgliche Format konvertiert, das ist für mich einfacher.