Zugriff auf Lex-DB per ODBC

Hallo zusammen,

hat hier jemand zufällig Kenntnis von der Tabellenstruktur von Warenwirtschaft Premium?

In einer Exceldatei ziehen wir aus verschiedenen Quellen Daten zusammen, um diverse Auswertungen machen zu können. U.a. greifen wir auch per ODBC auf die Daten der Lexware WaWi zu und importieren diese zur Weiterverarbeitung in Excel. Insbesondere geht es um die Angebote, Rechnungen, ABs, usw.
Die Erstellung der SQL-Abfragen war viel Herumprobiererei, da die Tabellenstruktur und insbesondere die Verknüpfungen zwischen Tabellen nicht öffentlich dokumentiert zu sein scheinen. In allen Fällen, bis auf einen, erhalten wir mittlerweile genau die gewünschten Daten.

Ein Problem, was bisher nicht gelöst werden konnte, sind jedoch die Angebote.
Es sollen innerhalb eines gewissen Zeitraums alle Angebote abgefragt werden. Die Abfrage dazu lautet in etwa:

SELECT FK_Auftrag.Datum_erfassung AS 'Datum',FK_Auftrag.AuftragsNr AS 'Belegnr.', FK_Vertreter.szBezeichnung AS 'VB',FK_Auftrag.szUserdefined4 AS 'MW-Status',  FK_Auftrag.AuftragsKennung AS 'Kennung',FK_Auftrag.KundenNr AS 'Kd.-Nr.', FK_Auftrag.KundenMatchcode AS 'Matchcode', FK_Auftrag.szUserdefined1 AS 'Stichwort', FK_Auftrag.szUserdefined2 AS 'EK', FK_Auftrag.Summen_netto_haupt AS 'Summe netto',LX_KOSTENSTELLE.szBezeichnung AS 'KST', LX_KOSTENTRAEGER.szBezeichnung AS 'KTR'FROM F1.FK_Auftrag FK_Auftrag LEFT OUTER JOIN F1.FK_Vertreter FK_Vertreter ON FK_Auftrag.lVertreterID = FK_Vertreter.lID LEFT OUTER JOIN F1.LX_KOSTENSTELLE LX_KOSTENSTELLE ON FK_Auftrag.Kostenstelle = LX_KOSTENSTELLE.lID_KostenstelleLEFT OUTER JOIN F1.LX_KOSTENTRAEGER LX_KOSTENTRAEGER ON FK_Auftrag.Kostentraeger = LX_KOSTENTRAEGER.lID_KostentraegerWHERE FK_Auftrag.Datum_erfassung>{ts '2015-12-31 00:00:00'} AND FK_Auftrag.AuftragsKennung=0ORDER BY FK_Auftrag.Datum_erfassung DESC

Allerdings brauchen wir in der Auswertung auch den Status eines Angebots. In Lexware selbst kann man für Aufträge Verkauf in den Ansichtseinstellungen die Spalte Bearbeitungsstatus einblenden, die anzeigt, ob ein AG in Bearbeitung, angenommen oder erledigt ist.


Wir konnten nur kein passendes Feld in der Tabelle Auftrag zu diesem Bearbeitungsstatus ausfindig machen.
Die Vermutung liegt nahe, dass dieses Spalte im Lexware-Client gar kein wirkliches Tabellenfeld wiedergibt, sondern von der Anwendung in irgendeiner Form errechnet wird (hard-coded) und somit gar nicht direkt per ODBC abfragbar ist. Oder der Status befindet sich in einer anderen Tabelle, die mit FK_Auftrag referenziert wurde. Das ist wirklich schwierig herauszubekommen.

Kann hierzu jemand helfen?

Unser aktueller Workaround ist leider etwas lästig. Wir exportieren nämlich die Lexware-Ansicht nach Excel. Dies liefert zwar die gewünschten Daten, lässt jedoch keinerlei Automatisierung zu. Es muss immer jemand händisch tun, dabei ist das Ziel die Daten täglich in die Excelauswertung neu zu exportieren.

Ich hatte dasselbe Problem. Falls deine Frage nicht längst beantwortet ist. Hier meine Lösung:
[…] INNER JOIN FK_Vorgang ON FK_Auftrag.VorgangNr = FK_Vorgang.lID
Das benötigte Feld in FK_Vorgang ist lkv_Status
0: in Bearbeitung
1: angenommen
2: abgelehnt
Viel Spaß!
Henry