31. Januar 2011 17:55
Hi,
ich hab ein Problem beim Importieren von einer Textdatei. Und zwar werden all ' ß ' zerhauen. Kenne mich mit den Codes für die Zeichensätze nicht aus. Weiß jemand was ich da beim Einlesen durch was ersetzen müsste?
Viele Grüße
twoface
Zuletzt geändert von twoface am 10. Februar 2011 12:16, insgesamt 1-mal geändert.
31. Januar 2011 18:13
Also einfachste Lösung:
OpenOffice installieren, Datei mit OOCalc öffnen, Datei als CSV speichern und die Optionen editieren dabei den Zeichensatz auf CP850 ändern, dann sollte das ganze mit korrektem Zeichensatz für den NAV import laufen.
Evtl. Klappt auch Excel, wenn du es als DOS- Text speicherst
Gruß, Fiddi
1. Februar 2011 10:01
fiddi hat geschrieben:Evtl. Klappt auch Excel, wenn du es als DOS- Text speicherst
Gruß, Fiddi
Ja, so klappt das auch!
Beim Import der CSV-Daten in Excel dann übrigens genauso nicht "Windows ANSI" sondern "MS-DOS"-Format einstellen.
mfg,
winfy
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.
1. Februar 2011 10:12
Wobei ich dann "Text (MSDOS)" (TAB-Stop getrennt) bevorzugen würde, weil es mit dem Dataport zu öffnen geht (.txt) und man sicher sein kann, das die Felder nicht mal mit " und man ohne " (Anfürhrungsstriche) gespeichert werden (damit kann der Dataport nicht umgehen).
OO hat da den Vorteil, dass man da noch sehr viel mehr am Ausgabeformat einstellen kann, und man auch ohne große Sucherei auch beliebig formatierte Textdateien öffnen kann.
Gruß, Fiddi
1. Februar 2011 10:16
Und für alle diejenigen, die die Zeichenkonvertierung bereits im Programmcode durchführen lassen wollen, haben wir ja immer noch meine gute, alte
Codeunit-Sammlung, welche auch die Codeunit
"TextManagement" enthält, in welcher man Funktionen für eine ASCII<->ANSI Konvertierung findet.
1. Februar 2011 10:27
Timo Lässer hat geschrieben:Und für alle diejenigen, die die Zeichenkonvertierung bereits im Programmcode durchführen lassen wollen, haben wir ja immer noch meine gute, alte
Codeunit-Sammlung, welche auch die Codeunit "TextManagement" enthält, in welcher man Funktionen für eine ASCII<->ANSI Konvertierung findet.
Brauchst du in diesem Fall nicht unbedingt: Codeunit 11501 kann das auch schon im Standard (Ascii2Ansi u. Ansi2Ascii)
Gruß, Fiddi
1. Februar 2011 13:35
hallo männers,
danke für die vielen tipps. aber leider funktioniert keiner der vorschläge bei mir richtig. sicher mach ich irgendwas falsch.
ich hab die datei als CSV(DOS) gespeichert und hab das mit ASCII2ANSI probiert. das ß kommt immer als á an. anbei eine zeile meiner datei (die wird so geliefert, hab also noch keine umformatierung vorgenommen)
bekommt die einer von euch richtig importiert?
kann ich denn nicht einfach á mit ß ersetzen? hab dafür kein befehl gefunden.
viele grüße
1. Februar 2011 14:27
Das mit dem Ersetzen betrifft nicht nur das ß meistens ist auch äöü nicht korrekt.
Tu dir mal den Gefallen und benutze mal OpenOffice.Calc und öffne die Datei als "Text CSV (.txt,-csv)"
Wenn du nur die Zeile mit dem ß in einer Testdatei hast, kannst du schon beim Öffnen der Textdatei ausprobieren, welcher Zeichensatz das ist (das ß wird korrekt angezeigt). Ich würde Ansi/CP 437 oder CP 850 für möglich halten.
Abspeichern musst du die Datei dann wieder als Text CSV (.txt,.csv) aber mit Zeichensatz 850. (Kann beim speichern ändern, wenn man die Option "Filtereinstellungen bearbeiten" einschaltet.
Andererseits kann es natürlich auch sein,das der Erzeuger der Datei bereits einen Falschen Wert für das ß ausgeben hat
Gruß, Fiddi
1. Februar 2011 15:27
hi fidi,
die datei kommt aus datev lohdas. denke auch dass das was nicht stimmt. aber dann verstehe ich nicht wieso ich die datei in excel ohne probleme öffnen kann.
ich kann die datei auch in pspad öffnen. hab da den zeichensatz auf dos, ansi, utf8, unicode geändert und gespeichert. es bleibt dabei.
meinst du wirklich es ändert etwas wenn ich es mit oppenoffice mache? was soll denn da anders sein?
ich würde gerne es versuchen einfach á zu ersetzen. was gibts denn für ein befehl in navision um einzelne zeichen zuersetzen?
gruß
twoface
1. Februar 2011 15:35
Schau dir convertstr an :)
1. Februar 2011 15:52
ich kann die datei auch in pspad öffnen. hab da den zeichensatz auf dos, ansi, utf8, unicode geändert und gespeichert. es bleibt dabei.
Bei Editoren ändert man meistens nur den Zeichensatz der Anzeige, die binäre Repräsentation ändert sich nicht beim Abspeichern. OO tut das aber beim Abspeichern. Daten werden beim Einlesen ins vom Zeichensatz Konverter von X nach Ansi konvertiert und beim Abspeichern von Ansi nach Y konvertiert. so wie du es haben willst.
Das ist natürlich für eine Datev- Schnittstelle, die dauernd benötigt wird, keine Lösung. Es sollte dir nur helfen herauszufinden, welchen Zeichensatz das abgebende System (hier wohl DATEV) liefert.
Wenn DATEV z.B. CP437 als Zeichensatzkodierung liefert, dann musst du klären welche Zeichen du konvertieren musst um auf CP850 zu kommen.
Gruß, Fiddi
1. Februar 2011 16:53
fiddi hat geschrieben:Wenn DATEV z.B. CP437 als Zeichensatzkodierung liefert, dann musst du klären welche Zeichen du konvertieren musst um auf CP850 zu kommen.
aaahhhh... ich check das nicht. Kann ich nicht selbst irgendwie sehen welche Zeichensatzkodierung die Datei hat? Das wird sehr schwierig vom Steurbüro so eine Info zu bekommen. Ich verstehe auch nicht wieso alle anderen sonderzeichen korrekt übersetzt werden.
1. Februar 2011 17:11
Wenn du die Textdatei mit OOCalc öffnest kannst du es testen. Es wahrscheinlich nur einer dieser 3 die ich oben angeführt habe. Wenn das ß in der dann angezeigten Importauswahl angezeigt wird, hast du den Zeichensatz gefunden. Alternativ kannst du in deinem PSpad die Datei öffnen, und solange den Zeichensatz ändern bis das ß und alle anderen Zeichen (äöü..) korrekt angezeigt werden. Dann hast du den Zeichensatz der Datei gefunden.
Danach machst du dich an die Unterschiede zwischen deinen gefundenen Zeichensatz und dem 850er Zeichensatz von NAV. Die musst du dann mit einem Convertstr konvertieren.
Gruß, Fiddi
1. Februar 2011 18:14
so... hab jetzt openoffice installiert und die datei dadrin geöffnet. beim öffnen schlägt mir oo automatisch westeuropa(windows-1252/WinLatin 1) vor und die Datei wird korrekt in OO angezeigt. Hab sie dort dann als TXT csv gespeichert. Auch das hilft nicht.
Im PSPad wird das ß immer richtig angezeigt! überhaupt kann ich die datei in jedem program richtig öffnen ausser in navision.
ich dreh noch durch hier
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.
1. Februar 2011 18:41
also doch Windows- Zeicnesatz.
Dan speicjer die Datei mal wieder unter anderem Namen als TEXT CSV ab, und sage beim Abspeichern, das du die Filtereinstellungen bearbeiten möchtest. Dort wählst du jetzt als Zeichensatz 'Westeuropa (DOS/OS2 850 intenational)' aus die Feldtrenner passt du so an, wie du Sie in deinem Dataport eingestellt hast. Die weiteren Optionen lässt du auf den Standard- Werten.
Diese Datei importierst du jetzt in NAV, und prüfst was dabei herauskommt. Der PSpad wird dir jetzt übrigens kein ß bei der neuen Datei mehr anzeigen.
Wenn das funktioniert hat, kümmern wir uns als nächstes um den Dataport
Gruß, Fiddi
7. Februar 2011 16:41
Es ist schon einmal erwähnt worden, vielleicht wurde nur der Aufruf falsch gemacht.
Codeunit 11501 GeneraltMgt bietet diese Funktion, die bei uns seit Jahren einwandfrei läuft.
z.B.
Name := GeneralMgt.Ansi2Ascii(Name);
Name Janßen aus einer Textdatei kommt dann auch als Janßen in ein Textfeld in Navision an.
Gruß Petra
10. Februar 2011 12:04
hallo männers,
vielen dank für eure hilfe. inzwischen ist das problem gelöst. es lag nicht an der datei. der betreffende dataport war von der firma sivers. es handelt sich um eine schnittstell zum import von lohndaten aus datev. dabei werden nicht die standardfunktionalitäten der dataport objekte zum importieren verwendet. die hatten beim einlesen an irgendeine stelle (weiß immer noch nicht wo, weil ich ziemlich alles geprüft hatte) einen fehler. nachdem die mir ein überarbeitetes objekt geschickt haben, funktioniert auch der import mit ß.
nochmals vielen dank allen.
viele grüße
twoface
Powered by phpBB © phpBB Group.
phpBB Mobile / SEO by Artodia.