Hier berichte ich euch von meinem persönlichen Horrortrip mit den Web Services für PowerQuery / Power BI bei der Migration von MS NAV Dynamics («NAV”) auf MS Business Central («BC”).
Als ich vor etwa sechs Jahren meine derzeitige Stelle antrat war der Default fürs Datenziehen aus dem ERP-System NAV die Ausgabe von statischen Excelsheets, welche wiederum in diverse andere Files gepastet wurde, in denen in anderen Tabs darauf verlinkt war. Eine Buchung und das File war bereits wieder obsolet.
Eine SQL Abfrage auf die relationale Datenbank war und ist seitens IT nicht erlaubt. Zum Glück gab es damals einen gewieften und extrem hilfsbereiten Mitarbeiter im IT Development, dem mit den sogenannten «Web Services», auf die im PowerQuery via O-Data-Abfragen zugegriffen werden kann, eine Lösung in den Sinn kam, die bereits standardmässig im NAV vorhanden war und vor allem nur diejenigen Daten ausgibt, auf die der jeweilige Nutzer anhand seiner Berechtigung auf die Mandanten und Tabellen ohnehin zugreifen darf. Für diesen Tipp, gegen den auch die sicherheitsorientierteste IT-Abteilung nichts mehr einwenden konnte, wird ihm – ausgedrückt in den Worten meines Grossvaters – meine Dankbarkeit auf ewig hinterherhinken.
Wir lizenzierten die Web Services, ich definierte die benötigten Abfragen hinsichtlich dessen, welche der Datenbanktabellen ich anzapfen wollte und welche der zahlreichen Felder ich jeweils überhaupt benötigte. Bei grossen Tabellen wie etwa den General Ledger Entries machte es Sinn, auch eine Version zu erstellen, die nur die Buchungen der letzten Jahre ausgab, was die Ladegeschwindigkeit etwas verbesserte.
Nachdem die Abfragen von der IT erstellt und die anfänglichen Probleme mit der Authentifizierung behoben waren, gab es kein Halten mehr. Die meisten Auswertungen, die auf NAV-Daten basierten, wurden nach und nach umgebaut. Dies war teils recht aufwändig und komplex, insbesondere wenn zahlreiche Datentabellen verschiedener NAV-Mandanten in eine Auswertung liefen. Die Arbeit zahlte sich aber aus, denn am Ende konnte man zum Aktualisieren einfach nur noch Refresh drücken. Und sie reporteten glücklich bis an ihr Lebensende.
… Leider lief es nicht wie im Märchen. Zwei Jahre später kam der grosse böse Wolf in Form eines von der IT angekündigten Upgrades von NAV auf BC. Der Teaser für den neuesten Horrorstreifen lief innerhalb von Sekunden in meinem Kopf: Authentifizierungsprobleme, falsch gesetzte Berechtigungen auf die Web Services, fehlende oder nicht originalgetreu analog NAV im BC nachgebaute Queries oder umbenannte Datenfelder. Um die Spannung für den Leser nicht ins Unermessliche zu steigern: Vieles davon sollte sich bewahrheiten, als wir schliesslich Zugriff aufs BC Testsystem erhielten.
Somit stand das Drehbuch für den Top-Schocker dieses Herbsts in Zügen auch bald: Anstatt mich auf darauf verlassen zu können, dass es schon passen würde und stichprobenartig zu prüfen, würde ich jede einzelne Query auf ihre Funktionsfähigkeit, Korrektheit und Vollständigkeit prüfen müssen. Sprich alle Weblinks zu NAV-O-Data ändern auf die neuen Links der BC-Webdienste und dann… prüfen? Schön wär’s. «DataSource Error» sagte die Fehlermeldung.
Es folgte ein monatelanges Pingpong mit den Projektpartnern, diverse Anpassungen an den Links und Verbindungseinstellungen, immer wieder erfolglose Tests, in denen entweder die ikonische «DataSource Error» FM kam oder eine andere, die verlautbarte, dass überhaupt keine Verbindung hergestellt werden könne oder das Excel hängte sich beim Versuch, die Abfragen zu aktualisieren einfach immer wieder auf.
Der Projektpartner griff zum letzten Strohhalm und stellte die Links der Webdienste von https auf http um, was auch nichts brachte. Sportliche drei Werktage vor dem Go-Live fand schliesslich ein fähiger Mitarbeiter in der IT heraus, dass zusätzlich noch die Abfrageeinstellungen im Query-Editor angepasst werden mussten, nota bene auf «keine Zertifikatssperrung» und auf das Ignorieren aller Einstellungen auf Datenschutzebene.
Ab da war ein Testen endlich möglich und immerhin stellte sich bei diesem heraus, dass die Umstellung der Datenquellen genügte und zumindest alle Feldnamen gleichgeblieben waren.
Was passiert, wenn wir Anfang Dezember live gehen und sich wieder alle Links ändern? Das weiss wohl nur das fliegende Spaghettimonster und zu genau diesem bete ich bis dahin, dass es im PROD schneller als – wie im TEST- vier Monate geht, bis meine fürs Daily Business benötigten Abfragen funktionsfähig sind.
