Datenexport für Fibu

Konzeptionelles, Technisches, Termine, Fragen zum Hersteller usw.

Moderator: Moderatoren

Antworten
Benutzeravatar
satmax
1000 working lines a day
1000 working lines a day
Beiträge: 831
Registriert: Do, 02. Dez 2010 19:34
Wohnort: Biberbach in Österreich
Hat sich bedankt: 1 Mal
Danksagung erhalten: 1 Mal
Kontaktdaten:

Datenexport für Fibu

Beitrag von satmax »

Hallo,

nachdem meine Umstellung ganz gut läuft bin ich nun am Export der Daten für verschiedenen Finanzbuchhaltungen. Ich Prinzip werden dabei jeweils für jede Fibu ein anderes ASCII Format erzeugt. Prinzipiell könnte ich hier relativ einfach und viel Code von Clipper übernehmen, naja, ganz so einfach doch noch habe ja jetzt eine SQL Datenbank. :D

Also bisher einfach mit fopen/fwrite eine Datei erstellt und fertig. Das ganze halt für verschiedene Finanzbuchhaltungen. Gibt es da bessere Ansätze, Bsp. "Dataobjects"? Ich muss zugeben, die habe ich mir noch gar nicht angesehen...

Ähnliches brauch ich auch für XML

War bisher so und ähnlich aufgebaut.

Code: Alles auswählen

fWrite(hFile,'<?xml version="1.0" encoding="UTF-8"?>' +CHR(13)+CHR(10) )
fWrite(hFile,'<!DOCTYPE ShipmentStatus SYSTEM "ShipmentStatusV202.dtd">'+CHR(13)+CHR(10))
fWrite(hFile,'<ShipmentStatus Version="2.0.2">'+CHR(13)+CHR(10))
Zuletzt geändert von satmax am Sa, 18. Okt 2014 21:53, insgesamt 1-mal geändert.
Gruß
Markus
Benutzeravatar
brandelh
Foren-Moderator
Foren-Moderator
Beiträge: 15695
Registriert: Mo, 23. Jan 2006 20:54
Wohnort: Germersheim
Hat sich bedankt: 65 Mal
Danksagung erhalten: 33 Mal
Kontaktdaten:

Re: Datenexport für Fibu

Beitrag von brandelh »

vorausgesetzt, die Dateien werden nicht gigabyte groß, erzeuge ich intern einen STRING, den ich auf EINMAL in eine Datei schreibe.
Nur MEMOWRITE() darf man nicht benutzen, da es ein chr(26) anhängt. Es kann aber sein, dass das nicht schneller ist, weil ja das OS auch die Schreibvorgänge chached.

Ich finde man kann es besser lesen ;-)

Code: Alles auswählen

#define CRLF chr(13)+chr(10)
cStr := '<?xml version="1.0" encoding="UTF-8"?>'+CRLF+;
        '<!DOCTYPE ShipmentStatus SYSTEM "ShipmentStatusV202.dtd">'
... 
cStr += '<ShipmentStatus Version="2.0.2">'+CRLF
...
hFile := fCreate(...)
fWrite(hFile,cStr)
... 
Du kannst auch Funktionen wie Str2Disk() von den Tools oder aus der Wissensbasis nutzen.

Dieser "Volltext" Ansatz hat den Vorteil, dass du genau siehst was du schreibst, aber du musst halt viel Schreiben ;-)
Du könntest auch Funktionen bzw. Klassen schreiben die den allgemeinen (immer gleichen) Teil erzeugen und über Parameter die Variablen Teile bekommen.

Alaska hat auch was zu XML gemacht, ob das aber auch schreibt oder nur einliest weiß ich jetzt nicht, ich meine das ist aber auch nur in (einer älteren) Prof. Sub. als Quellcode enthalten.
XB2.NET hat auch XML Funktionen, aber was die können weiß ich nicht.
Gruß
Hubert
Benutzeravatar
satmax
1000 working lines a day
1000 working lines a day
Beiträge: 831
Registriert: Do, 02. Dez 2010 19:34
Wohnort: Biberbach in Österreich
Hat sich bedankt: 1 Mal
Danksagung erhalten: 1 Mal
Kontaktdaten:

Re: Datenexport für Fibu

Beitrag von satmax »

Ein echt Interessanter Ansatz. Ich werde das überdenken...
Gruß
Markus
DelUser01

Re: Datenexport für Fibu

Beitrag von DelUser01 »

Hallo Markus

wo liegt eigentlich das Problem bzw. was ist die Frage?
Benutzeravatar
satmax
1000 working lines a day
1000 working lines a day
Beiträge: 831
Registriert: Do, 02. Dez 2010 19:34
Wohnort: Biberbach in Österreich
Hat sich bedankt: 1 Mal
Danksagung erhalten: 1 Mal
Kontaktdaten:

Re: Datenexport für Fibu

Beitrag von satmax »

War ein Tippfehler, habe ich ausgebessert.
... Finanzbuchhaltungen. Gibt es da bessere Ansätze, Bsp. "Dataobjects"? Ich muss zugeben, die habe ich mir noch gar nicht angesehen...
Gruß
Markus
DelUser01

Re: Datenexport für Fibu

Beitrag von DelUser01 »

Hallo Markus

warum willst Du Deine erstellten Daten nicht mehr mit FOpen usw. auf die Platte schreiben?
Benutzeravatar
satmax
1000 working lines a day
1000 working lines a day
Beiträge: 831
Registriert: Do, 02. Dez 2010 19:34
Wohnort: Biberbach in Österreich
Hat sich bedankt: 1 Mal
Danksagung erhalten: 1 Mal
Kontaktdaten:

Re: Datenexport für Fibu

Beitrag von satmax »

Hallo Roland,

wahrscheinlich werde ich es so machen, da kann ich relativ viel vom Clipper Code übernehmen. Anderseits wäre das möglicherweise etwas für eine Klasse. zu 80% bleibt ja der Export immer gleich, nur die Felder müssen anders aufbereitet werden. Eben je nach Fibu (aktuell verwenden meine Kunden ca. 6-7 verschiedene Fibus). Die Umsetzung habe ich fürs nächste Wochenende geplant, mal sehen was mir bis dahin noch einfällt oder auf welche Spuren Ihr mich bringt. :)
Gruß
Markus
Benutzeravatar
AUGE_OHR
Marvin
Marvin
Beiträge: 12906
Registriert: Do, 16. Mär 2006 7:55
Wohnort: Hamburg
Hat sich bedankt: 19 Mal
Danksagung erhalten: 45 Mal

Re: Datenexport für Fibu

Beitrag von AUGE_OHR »

hi,

der Vorschlag von Hubert würde ich bei "universeller" Anwendung verfeinern

Code: Alles auswählen

cStr := '<?xml version="1.0" encoding="UTF-8"?>'+CRLF+;
...
cStr := ::XmlHead()
also den festen Text gegen Method austauschen.
den Text selbst würde ich in einem Array verwalten den du je nach Mandant bestücken kannst.
gruss by OHR
Jimmy
Benutzeravatar
Rudolf
Programmier-Gott
Programmier-Gott
Beiträge: 1418
Registriert: Mo, 02. Jan 2006 23:03
Wohnort: Salzburg/Österreich
Kontaktdaten:

Re: Datenexport für Fibu

Beitrag von Rudolf »

Hallo Markus,
habe 9 verschiedene Buchhaltungsschnittstellen in meinem ERP System, schreibe mit strfile() zeilenweise in die Ausgabedatei. Wenn Du Infos über einzelen Schnittstellen brauchst, melde Dich, habe ziemlich viel Doku dazu.
Grüße
Rudolf
DelUser01

Re: Datenexport für Fibu

Beitrag von DelUser01 »

Hallo Rudolf
Rudolf hat geschrieben:habe 9 verschiedene Buchhaltungsschnittstellen in meinem ERP System... Wenn Du Infos über einzelen Schnittstellen brauchst, melde Dich....
Informative Voranfrage:
Muss eventuell eine Schnittstelle für die Übergabe der Rechnungsdaten an Datev machen. Hast Du sowas?
Benutzeravatar
Rudolf
Programmier-Gott
Programmier-Gott
Beiträge: 1418
Registriert: Mo, 02. Jan 2006 23:03
Wohnort: Salzburg/Österreich
Kontaktdaten:

Re: Datenexport für Fibu

Beitrag von Rudolf »

Hallo,
ja, die Version mit der damo32.exe falls Du diese meinst.
Grüße
Rudolf
Benutzeravatar
Tom
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 9358
Registriert: Do, 22. Sep 2005 23:11
Wohnort: Berlin
Hat sich bedankt: 101 Mal
Danksagung erhalten: 361 Mal
Kontaktdaten:

Re: Datenexport für Fibu

Beitrag von Tom »

DAMO32.EXE, wenn es tatsächlich um Buchungssätze geht (Erlös- und Zahlungsbuchungen). DATEV hat aber auch Fakturierungssysteme im Angebot (hieß früher mal "PC-REWE" für "Rechnungswesen"), die Vorbuchungsschnittstellen enthalten. Da läuft die Übergabe etwas anders.

DAMO (auch als DLL direkt verwendbar) nimmt vergleichsweise simpel formatierte ANSI-Textdateien entgegen und konvertiert diese in das DATEV-eigene Vorlaufformat. Wenn man das einmal richtig konfiguriert und die Übergabedateien sauber strukturiert hat, ist der Aufwand überschaubar.
Herzlich,
Tom
Benutzeravatar
Wolfgang Ciriack
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 2934
Registriert: Sa, 24. Sep 2005 9:37
Wohnort: Berlin
Hat sich bedankt: 13 Mal
Danksagung erhalten: 34 Mal
Kontaktdaten:

Re: Datenexport für Fibu

Beitrag von Wolfgang Ciriack »

Ab letztem Jahr (oder schon vorher), empfiehlt Datev die Benutzung der ASCII-Schnittstelle.
Viele Grüße
Wolfgang
DelUser01

Re: Datenexport für Fibu

Beitrag von DelUser01 »

Hallo Tom

danke für die Info!
Über das Zielsystem weiß ich noch nicht mehr, nur dass es Datev ist.

Gibt es für so etwas in den verschiedenen Buchhaltungssystemen schon eine Tendenz zu einer gemeinsamen Schnittstelle? Z.B. mit XML?
Benutzeravatar
Tom
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 9358
Registriert: Do, 22. Sep 2005 23:11
Wohnort: Berlin
Hat sich bedankt: 101 Mal
Danksagung erhalten: 361 Mal
Kontaktdaten:

Re: Datenexport für Fibu

Beitrag von Tom »

Gibt es für so etwas in den verschiedenen Buchhaltungssystemen schon eine Tendenz zu einer gemeinsamen Schnittstelle? Z.B. mit XML?
Meines Wissens nicht*. Tatsächlich werden ja keine Buchungen übergeben, sondern Vorbuchungen. Die eigentlichen Buchungen daraus erzeugt dann die jeweilige Fibu. Alles andere wäre auch extrem kritisch. Vor Ewigkeiten habe ich mal eine Schnittstelle für eine Fibu gebaut, die direkt gebucht hat. Das war der blanke Horror.

Ich habe gerade mal gezählt - wir haben fast 50 angepasste Schnittstellen, davon verwenden vier Fünftel simple Textformate, die anderen XML. Für die Anpassung haben wir ein System geschaffen, das "programmiert" werden kann - man legt eine Struktur und diverse Optionen fest, das meiste wird dann über die Ersetzung von Platzhaltern organisiert, die sich aus den internen Vorlaufdateien und den dazugehörigen Debitorendaten speisen. Dadurch müssen wir im Zweifelsfall höchstens Platzhalter ergänzen.

*Edit: Aber viele Fibu-Programme können DATEV-Vorlaufdateien importieren.
Herzlich,
Tom
Benutzeravatar
AUGE_OHR
Marvin
Marvin
Beiträge: 12906
Registriert: Do, 16. Mär 2006 7:55
Wohnort: Hamburg
Hat sich bedankt: 19 Mal
Danksagung erhalten: 45 Mal

Re: Datenexport für Fibu

Beitrag von AUGE_OHR »

Roland Gentner hat geschrieben:Über das Zielsystem weiß ich noch nicht mehr, nur dass es Datev ist.
jetzt musst du nur noch wissen ob für SK03 oder SK04 ...
ich habe meine vor Jahren nach der (Floppy) "Post Versand" Schnittstelle entwickelt die tatsächlich immer noch funktioniert :)
Roland Gentner hat geschrieben:Gibt es für so etwas in den verschiedenen Buchhaltungssystemen schon eine Tendenz zu einer gemeinsamen Schnittstelle? Z.B. mit XML?
Excel ;)
inzwischen können viele Fibu Schnittstellen direkt eine "richtige" Excel Tabelle verarbeiten.
gruss by OHR
Jimmy
Antworten