OCT Gateway Business Central (Microsoft Dynamics 365)
Klassifikation
Merkmal | Klassifikation |
Quelldatentyp | API |
Öffentliche Datenquellen API Dokumentation | https://learn.microsoft.com/de-de/dynamics365/business-central/dev-itpro/api-reference/v2.0/ |
Steuerungsstruktur | Konfigurationsdatei: Auswahl der abzurufenden Mandanten, Auswahl des Startdatum des Datenabrufs Steuerungstabelle, welche die Aktivierung pro Mandant / Wirtschaftsjahr und Datenbestand ermöglicht. |
Validierungsoberfläche | Ja, Tabellenstatistik und Tabellenwerte |
Zuletzt getestet mit OCT Version | 5.11 |
Programmierpattern | Table by Table (jede Tabelle ist individuell im Abruf definiert) |
Tabellengruppe | staging.tBUSINESSCENTRAL365_* |
Öffentlicher Testdatenbestand | Business Central Demoversion |
Konnektor für FIN-Modul | Ja |
Funktionalität
Das Gateway spiegelt die Daten aus den vordefinierten Tabellen 1:1 über die Business Central API in die staging Schicht einer OCT Datenbank.
folgende Tabellen werden gespiegelt:
Accounts
AccountingPeriods
Companies
CompanyInformation
Dimensions
DimensionValues
GeneralLedgerEntries (mit dimensionSetLines)
TrialBalances
Die OCT Datenbank stellt eine Validierungsoberfläche für diese Daten bereit.
Voraussetzungen
Business Central / Azure Portal
Einrichtung der API Zugangsdaten in Business Central und Azure Portal Einrichtung Microsoft Dynamics 365 Business Central API (Stand: August 2025)
für den Abruf der Daten benötigt das Gateway die Verzeichnis-ID (Englisch: Tenant-ID), die Anwendungs-ID (Englisch: Client-ID) sowie den geheimen Clientschlüssel (Englisch: Client-Secret)
OCT
OCT Applikation 5.11 oder höher - je nach Einrichtungsvariante lokal oder in der Azure Cloud
OCT Datenbank
eine OCT Datenbank als Zieldatenbank muss on-prem oder in einer Cloudumgebung erreichbar sein
Technische Einrichtung
Einrichtung des Gateways mit OCT in der Saxess-Cloud
Voraussetzungen:
Azure Storage Account mit Kontoname und Access Key
in config.json die Zugangsdaten (api_tenant_id, api_client_id, api_client_secret) für die API, abzurufende Mandanten unter BC365_Einstellungen ->Mandanten, Startdatum und die Zugangsdaten für die Zieldatenbankdaten einfügen
eine Dateifreigabe auf Azure Storage mit dem Namen “python” erstellen, den Inhalt des Ordners Gateway_BusinessCentralAPI in die Dateifreigabe kopieren
Ablaufplan:
Einen Storage Account vom Typ FileStorage als Datenquelle anlegen
1.1 Im Azure Storage Account eine Dateifreigabe “python” (Name ist Konvention) mit einem Ordner “scripts” (Name ist verpflichtend) anlegen
1.2 Den Deployment Ordner “Gateway_BusinessCentralAPI ” aus dem Bitbucket Repo herunterladen und den Inhalt in den Ordner “scripts” kopieren
1.3 falls vorher noch nicht erledigt, im Ordner “config” in der Datei “config.json” die Zugangsdaten (api_client_id, api_client_secret, api_tenant_id) für die API, abzurufende Tabellen (in Liste “sql_Tabellen”) und die Zieldatenbankdaten einfügen
Datenbankobjekte durch Ausführen des Scripts “SETUP_STAGING_BusinessCentral.sql” in die OCT-Datenbank einspielen
in der OCT-Oberfläche unter Datenquellen den Azure Storage Account per AccessKey / Variante FileStorage als Quellsystem hinzufügen
in der OCT-Oberfläche die Pipeline “STAGBC365 - Datenextraktion BusinessCentral” öffnen
4.1 (falls vorhanden) Step: “Powershell - Datenextraktion BusinessCentral” löschen oder deaktivieren
4.2 im Step: “Container - Datenextraktion BusinessCentral” die Azure Datenquelle einstellen, unter Startbefehl config anpassen falls der Name der config.json angepasst wurde
4.3 Pipeline ausführen
Datenvalidierung in OCT über die Factory Validierung, Productline Staging BusinessCentral
im Tab START der BusinessCentral Validierung den Link zur Tabellenübersicht anpassen
Einrichtung des Gateway mit OCT on Premises
Ablaufplan:
Python Arbeitsumgebung für OCT einrichten
1.1 Python Installation 3.13 oder höher installieren (Python)
1.2 ODBC Treiber 18 für MSSQL Server installieren
1.3 (optional) Visual Studio Code mit Python Erweiterung (für Testläufe/Debugging)
Python und Visual Studio Code müssen in der Variante Systeminstaller für alle Benutzer installiert sein, sonst ist eine Ausführung als anderer Benutzer (und meist ist der OCTService ein solcher) nicht möglich (verlinkte Anleitung in 1.1. beachten)
Den Deployment Ordner “Gateway_BusinessCentralAPI” aus dem Bitbucket Repo herunterladen, und nach C:\ProgramData\Saxess Software\ kopieren
benötigte Pythonpakete installieren
3.1 ein Terminal als Admin starten
3.2 zum Gateway_BusinessCentralAPI Ordner wechseln mit “cd ../../ProgramData/Saxess Software/Gateway_BusinessCentralAPI”
3.3 mit folgendem Befehl Pakete installieren: “python -m pip install -r requirements.txt”
Datenbankobjekte durch Ausführen des Scripts “SETUP_STAGING_BusinessCentral.sql” aus dem Ordner “setup” im Gateway_BusinessCentralAPI Ordner in die OCT-Datenbank einspielen
in der Datei “config.json” im Ordner “config” die DatenquellenID, Zugangsdaten für die BusinessCentral-API (api_client_id, api_client_secret), abzurufende Tabellen (in die Liste “sql_Tabellen”) und die Zieldatenbankdaten einfügen
(optional): testweise Direktausführung
Python Script main.py im Terminal ausführen (python main.py --config=config.json), alternativ test_datenabruf.bat im “Gateway_BusinessCentralAPI” Ordner starten
Pipeline STAGBC365-Datenextraktion BusinessCentral einrichten:
7.1 Step: “Container - Datenextraktion BusinessCentral” löschen oder deaktivieren
7.2 Pipeline Schedule einstellen falls benötigt
7.3 Pipelineausführung testen
Datenvalidierung in OCT über die Factory Validierung, Productline Staging BusinessCentral
8.1 im Tab START der BusinessCentral Validierung den Link zur Tabellenübersicht anpassen
Konfiguration der config.json Datei
Auswahl der abzurufenden Mandanten über Eintragung in die Mandantenliste
folgende Endpunkte werden pro Mandant und aktiviertes Geschäftsjahr abgerufen:
Companies
CompanyInformation
AccountingPeriods
Accounts
DimensionValues
TrialBalances
GeneralLedgerEntries
Output
"csv_out_aktiv" : 1
"db_output_aktiv": 1
Entscheidet ob die abgerufenen Daten in die Zieldatenbank geschrieben oder als CSV Datei auf der Festplatte oder im Azure File Share abgespeichert werden sollen. 1 = aktiviert, 0 = deaktivert
Beide Optionen können gleichzeitig aktiv sein.
Bei Ausführung des Gateway-Skripts im Container-Step den “ziel_ordner” im Abschnitt “Dateisystem” freilassen, da das Skript dann die Daten im File Share ablegt.