[Gelöst] Datensatzkonvertierung mit einem Export Dataport

28. August 2009 08:50

Guten morgen!

Zur Zeit möchte ich gerne eine Tabelle mit einem Dataport exportieren. Ansich ist das ja überhaupt kein Problem, aber die Zeichensätze hauen da natürlich nicht ganz hin (Wenn zb ein "ä" zu einem "æ" wird). Beim Importieren lässt sich das alles sehr einfach mit einer Ansi2Ascii Funktion erledigen, doch die will beim Export nicht funktionieren.

Mein bisheriger Versuch:

Vorgänge - OnBeforeExportRecord()
RecVorgänge.INIT;
RecVorgänge.Find('-');
REPEAT
RecVorgänge.Beschreibung := CUFormat."ConvertOEM-ANSI"(RecVorgänge.Beschreibung, FALSE);

UNTIL RecVorgänge.Next = 0;

Ich bin mir da nicht ganz sicher wegen den Record Variablen, weil die ja auf die Tabelle zugreifen.
Ich hoffe ich hab es nicht allzu kompliziert beschrieben :) Danke schonmal im vorraus!

MfG jhe
Zuletzt geändert von jheATnav am 28. August 2009 10:23, insgesamt 1-mal geändert.

Re: Datensatzkonvertierung mit einem Export Dataport

28. August 2009 09:54

Wenn ich es recht in Erinnerung habe, die DataPortFields gegen Variablen tauschen.
Und im Code diesen Variablen per Ansi2Ascii die korrekten Zeichen zuweisen.

Z.B.
Code:
TmpBeschreibung := CUFormat."ConvertOEM-ANSI"(RecVorgänge.Beschreibung, FALSE);
TmpAdresse := CUFormat."ConvertOEM-ANSI"(RecVorgänge.Adresse, FALSE);
// usw.


Evtl. die Forensuche benutzen, dieses Thema gab es bestimmt schon einmal.

Re: Datensatzkonvertierung mit einem Export Dataport

28. August 2009 09:54

Was du einmal versuch könntest:
Leg dir ein TextArray an, z.B. Fields.
Statt der Felder mit den Umlauten (z.B: RecVorgänge.Beschreibung) setzt du unter Dataports Fields nun Field[1], Field[2],.....
Im OnBeforeExportRecord (wenn das nicht geht mal im after versuchen):
Code:
Field[1] := CUFormat."ConvertOEM-ANSI"(RecVorgänge.Beschreibung, FALSE);


Ich hoffe es ist klar was ich meine.

Mikka war schneller ;)

Re: Datensatzkonvertierung mit einem Export Dataport

28. August 2009 10:15

Es ist nicht nötig, die Felder vorher in Variablen zu übertragen.
Man kann direkt in den Dataport-Fields entsprechende Konvertierungs-Funktionen eintragen.
Beispiel: Dataport 5050

In unserem Downloadbereich findest du übrigens eine umfangreiche Sammlung an nützlichen Codeunits, unter anderem auch eine für die ASCII-ANSI-Konvertierung (und umgekehrt).

Re: Datensatzkonvertierung mit einem Export Dataport

28. August 2009 10:23

Timo Lässer hat geschrieben:Es ist nicht nötig, die Felder vorher in Variablen zu übertragen.
Man kann direkt in den Dataport-Fields entsprechende Konvertierungs-Funktionen eintragen.
Beispiel: Dataport 5050

In unserem Downloadbereich findest du übrigens eine umfangreiche Sammlung an nützlichen Codeunits, unter anderem auch eine für die ASCII-ANSI-Konvertierung (und umgekehrt).


Der Tipp war goldwert! Hat funktioniert, danke! :)

Re: [Gelöst] Datensatzkonvertierung mit einem Export Dataport

21. September 2009 13:27

Fast perfekt. Alles wird richtig ausgegeben, jedoch ein ² wird zu ý. Kann man das auch noch beheben?