OCT-Datenintegration

REWE Fachmodell mit DATEVconnect Gateway

Dieses Paket umfasst

  • das REWE Fachmodell (Ziel Datenmodell, auf welches der Anwender zugreift)

  • Den Konnektor, um die Daten aus der DATEVCONNECT Staging Schicht in das REWE Fachmodell zu laden

  • das Gateway für DATEVconnect (der “Stecker” um die Daten der DATEVconnect API in die staging Schicht zu laden)

Hier ist primär die Einrichtung mit einer on-premises Installation von OCT beschrieben. Die Abweichungen beim Betrieb mit einer OCT Cloud Instanz sind zwischendurch in blau kommentiert und am Ende beschrieben.

Grundsätzlich kann das Paket (Fachmodell mit Konnektor und Gateway) eingespielt werden oder die Komponenten “Fachmodell, Konnektor und Gateway” einzeln. Der einzige Unterschied liegt in der Anzahl der Pipelines, welche entstehen. Das Paket legt sich eine einzige Pipeline “RUNME” an, die Einzelkomponenten jeweils einzelne Pipelines, deren Steps dann noch zu einer RUNME Pipeline zusammengeschoben werden sollten.

Mindestversion von OCT

v5.11

Saxess interne Ressourcen


Download

Vom internen Confluence Bereich


1. Systemvoraussetzungen

  • OCT Installation mit einer neuen OCT-Datenbank

    • Vom Server mit der OCT Installation muss die URL des DATEVconnect Webservice erreichbar sein.

    • Falls DATEV on-premises betrieben wird, ist daher im Normalfall auch eine on-premises Installation von OCT notwendig.

    • Nur falls der DATEVconnect Webservice über eine Drittanbieterkomponenten (Riecken) öffentlich verfügbar gemacht wird, kann auch eine Cloud Instanz von OCT genutzt werden.

  • Zugangsdaten zur DATEVconnect API müssen vorhanden sein:

    • URL

    • Zugangsvariante on-premises: ein Windows Benutzerkonto mit DATEVconnect Rechten ist vorhanden

    • Zugangsvariante Cloud: Benutzername und Passwort sind bekannt

  • Eine Python Installation muss vorhanden sein. (entfällt bei OCT Cloud Nutzung)

  • Eine lokale Installation von VisualStudioCode sollte vorhanden sein. (entfällt bei OCT Cloud Nutzung)


2. Installation

  • Paket DATEVconnect.zip über den Downloadlink oben herunterladen und entpacken.

  • Den entpackten Ordner “DATEVconnect” unter C:\ProgramData\Saxess Software\DATEVconnect ablegen. (anders bei OCT Cloud, siehe Punkt 6)

  • Der Ordnername sollte exakt so lauten, andernfalls müssen die Aufrufpfade in den Pipelinesteps angepasst werden.

Der Order “DATEVconnect” beinhaltet:

  • Ordner setup: Enthält alles für die Installation

  • Ordner log: Dieser Ordner wird automatisch erzeugt. Hier werden die Logdateien bei der Ausführung abgelegt.

  • Ordner config: Beinhaltet die zentrale Konfigurationsdatei (config File), auf welche die Extraktionsskripte zugreifen.

  • *.bat-Dateien: Zwei Batch-Dateien, mit denen der API-Abruf ins Staging auch ohne OCT getestet werden kann.

  • *.py-Dateien: Python Script für die Datenextraktion

  • versionsinfo.txt: eine Textdatei mit Versionsinformationen

image-20260428-091521.png
  • Öffnen Sie im Ordner “config” die Datei “config.json” und erfassen Sie dort:

    • Customer: beliebige Bezeichnung für den Kundennamen

    • datev_system_id: Kennung für das DATEVSystem - wird in OCT als DatenquellenID verwendet Defaultwert “DATEV”

    • start_fiscal_year_id: ab diesem Wirtschaftsjahr wird der Bestand zur Verarbeitung angeboten (kann später noch pro Mandant eingeschränkt werden)

    • api_username: leer bei on-premises, Username falls Zugriff aus Cloud

    • api_passwort: leer bei on-premises, Username falls Zugriff aus Cloud

    • api_winauth: 0 für Cloud, 1 für on-premises

image-20260428-091643.png
  • Legen Sie das Zertifikat für den DATEVconnect Webservice im Ordner “DATEVconnect” als datevconnect.cer ab (entfällt bei Cloud)

Wichtig ist, darauf zu achten, dass sich keine versteckten Leerzeichen oder sonstige Formatierungsfehler einschleichen, die den JSON ungültig machen.
Das Skript liefert in diesem Fall keine detaillierte Fehlermeldung – außer, dass das CONFIG-File im angegebenen Pfad nicht gefunden wurde.
Der eigentliche Fehler liegt dann aber meist an einem Formatierungsproblem im JSON selbst. In Passwörtern / Pfadangaben müssen Sonderzeichen ggf. per \ escaped bzw. vorhandene \ verdoppelt werden.


3. Einspielen des REWE Moduls incl. DATEVconnect Gateway

  • Anschließend öffnen Sie den Setup Ordner und öffnen SETUP_REWE_DATEVConnect.sql im Management Studio. Das Skript führen Sie in der OCT Datenbank aus.

image-20260428-092518.png
  • In OCT sollte sich anschließend eine Sammlung an Pipelines aufgebaut haben.

image-20260428-092558.png
  • Auch im Bereich “Datenerfassung” wurden dabei bereits verschiedene Objekte erstellt.

image-20260428-092658.png

Das REWE Modul incl. DATEVconnect Gateway ist erfolgreich in OCT eingespielt.


4. API Abruf testen (optional, nur bei on-prem Installation möglich)

4.1. Steuerungstabelle konfigurieren

  • Im nächsten Schritt testen wir den manuellen Abruf der DATEV API in das Staging-Schema des Moduls.

  • Dafür ist zunächst die Installation der notwendigen Python Libraries erforderlich. Führe dazu die .bat-Datei mit dem Namen “install libraries” aus.

Wichtig: Die Datei unbedingt als Administrator ausführen!

  • Anschließend bearbeiten wir die Steuerungstabelle.

  • Öffnen Sie dafür im setup-Ordner das SQL-File “Gatewaysteuerung” im Management Studio, führe sie dieses jedoch nicht vollständig aus.

  • Mit diesem File können die Mandantenkonfigurationen angepasst werden.

  • Markieren Sie zunächst nur die erste Zeile und führen Sie diese mit F5 aus, um die Default-Konfigurationen anzuzeigen.

image-20260428-093147.png
  • Das sieht wie folgt aus:

image-20260428-093304.png

4.2. Aktivierung der gewünschten Datenbestände zum Abruf.

  • Relevant ist hier, welche Daten übernommen werden sollen, also ob FIN, KOST, OP, AV.

  • In unserem Beispiel wollen wir FIN und KOST ab dem 01.01.2023 abrufen und zwar für beide Mandanten.

  • Um das zu hinterlegen, gehen wir erneut in das Skript der Gatewaysteuerung zum Punkt "Mandantenaktivierung mit Bestandsauswahl".

image-20260428-093448.png
  • Setzen Sie die relevanten Kategorien setzen auf “1” und passen Sie das Startjahr der Extraktion an.

  • Markieren Sie anschließend den relevanten Updatebefehl einzeln und führen Sie diesen mit F5 aus.

  • Geben Sie mit dem ersten Befehl die überarbeitete Steuerungstabelle aus und prüfen Sie diese auf Richtigkeit!

4.3. Abruf ins Staging

  • In der ersten Ebene des Ordners befinden sich zwei .bat-Dateien:

1_Steuerungstabelle aktualisieren.bat
2_Daten abrufen.bat

  • Diese werden in genau dieser Reihenfolge ausgeführt. Der Vorgang kann durchaus einige Zeit in Anspruch nehmen.

  • Wenn die Skripte durchgelaufen sind, kann in den Staging-Tabellen überprüft werden, ob die Daten angekommen sind. Andernfalls wäre dies auch im Skriptlog entsprechend vermerkt.

Der initiale Abruf hat funktioniert!


5. Modell- und Pipelinekonfiguration in OCT

5.1. Modellierung für Kontorahmen

  • Damit die Kontenzuordnungen korrekt funktionieren müssen wir als erstes das Datenmodell einpflegen. Das geht über den Bereich “Datenerfassung” und die Factory “Modellierung”.

image-20260428-093854.png
  • Darin finden Sie die Ordner „Productlines“, „Strukturen“, „Zuordnungen“ und „Templates“.

  • Kopieren Sie zunächst aus dem Ordner „Templates“ das Product „Kontenstruktur HGB“ in den Ordner „Strukturen“.

  • Anschließend kopieren Sie den passenden Kontenrahmen aus dem Ordner „Templates“ in den Ordner „Zuordnungen“.

  • Welcher Kontenrahmen verwendet wird, können Sie in der Steuerungstabelle im Feld „account_system“ einsehen (siehe Screenshot der Steuerungstabelle).

  • Nachdem die Zuordnung vorgenommen wurde, wird die MODEL Pipeline (Schritt 1-3) ausgeführt:

image-20260428-094141.png

Die Modellierung ist somit abgeschlossen!

5.2. Pipelinekonfiguration

Das Ziel in diesem Schritt ist es, die Importpipeline zu konfigurieren. Diese sorgt dafür, dass der zuvor über die .bat-Dateien getestete Abruf in OCT eingebunden wird und die Daten aus dem Staging-Bereich in die Schemata integration und result überführt werden.

image-20260428-094305.png

Schritt 1: “Steuerungstabelle aktualisieren” & “staging ausführen

  • Es muss der Pfad des Skriptordners hinterlegt werden.

image-20260428-095352.png

Schritt 2: “Mandantenjahre für Übernahme definieren

  • Hier wird die Auswahl zu Extraktionszeitraum und Art der Daten, analog zu der manuellen Steuerungstabelle aus 4.1. hinterlegt.

Schritt 3: MandantenID’s in folgenden Tabellen hinterlegen:

  • “integration Stammdaten aufbauen (Mandanten definieren)”

  • “agent.spREWE_Dimensionsaufbau (Mandanten definieren)“

  • “agent.spREWE_Faktenaufbau (Mandanten definieren)“

image-20260428-095452.png

Schritt 4: MandantenID und Datentypauswahl in “integration Bewegungsdaten aufbauen (Mandanten definieren)” ergänzen

  • In diesem Step wird zusätzlich zu der MandantenID noch einmal ausgewählt, ob FIN, KOST, OP übertragen wird.

  • Dies wird analog zur Steuerungstabelle ausgefüllt.

image-20260428-095639.png

Schritt 5: Pipeline ausführen

  • Nun kann die Pipeline nach dem Speichern ausgeführt werden.

  • Im Anschluss kann im Bereich “Validierung” der Import nach integration und result überprüft werden.

Scheduler

  • Es ist nur die Pipeline “RUNME” zu schedulen.

  • DELETE_ALL wird nur im Bedarfsfall ausgeführt, wenn alle Datentabellen geleert werden sollen.

  • Pipeline “Model” ist dann auszuführen, wenn in der Modellierung im Bereich “Datenerfassung” eine Änderung erfolgt ist.


6. Anpassungen bei Installation für eine OCT Cloud Instanz

  • zu Punkt 1:

    • Es muss ein Storage Account mit einer Dateifreigabe “python” und einem Ordner “scripts” angelegt werden.

    • Die Ablage des Ordners erfolgt in diesem Ordner “scripts” des Storage Accounts.

    • Der Storage Account wird in OCT als FileStorage registriert.

  • zu Punkt 4: Dieser entfällt, da die Ausführung nur über die Pipeline möglich ist.

  • zu Punkt 5: Die beiden Schritte “Steuerungstabelle aktualisieren” und “staging ausführen” müssen durch Containersteps ersetzt werden. Für die im Screenshot ausgegrauten Bereiche gilt:

    • Ressourcengruppenname: erhalten Sie vom Serverbetreiber

    • Containerregistrierung: erhalten Sie vom Serverbetreiber

    • Containergruppenname: AD0xxxxGruppe (AD0xxxx steht für die Kundennummer)

    • Containername:AD0xxxxDATEVconnect

    • Identität: erhalten Sie vom Serverbetreiber

image-20260428-094807.png