Microsoft Dynamics NAV bieten eine Dimensionen genannte Funktion an. Dimensionen gestatten es Ihnen Daten zu definieren die sie mit Ihren Transaktionen abbilden und für die Sie Berichte erstellen wollen.
Microsoft Dynamics NAV ist das flexibelste ERP System auf dem Markt. Die Dimensionen sind eines der Features die für Flexibilität sorgen.
Dimensionen werden oft eingesetzt um als Unterkonten in der Fibu zu dienen. In dieser Verwendung ist die Dimension als eine hierarchische Unterebene zum Sachkonto angedacht.
Diese Präsentation bespricht eine Softwaremodifikation die Ihnen eine hierarchische Unterordnung zwischen zwei Dimensionen erlaubt. Eine Dimension dient als Haupt-Dimension, die andere Dimension wird der Haupt-Dimension als Unter-Dimension zugeordnet.
Angenommen Ihr Unternehmen nutzt die Kostenträger in Dynamics NAV zur Dartstellung von Projekten.
Ihr Unternehmen nutzt auch eine dritte Dimension Budget zur Budgetierung. Die Budgetierung soll innerhalb der Projekte erfolgen.
In der Finanzbuchhaltung Einrichtung ist der Kostenträger als zweite Dimension, das Budget als dritte Dimension aufgesetzt. Diese Numerierung stellt aber keine Hierarchie dar. Die dritte Dimension ist der zweiten Dimension nicht untergeordnet.
Für jedes Projekt wurde ein eigener Nummernkreis von Budgetcodes eingerichtet.
Budgetcodes die mit B beginnen gehören zum Großprojekt Berlin. Budgetcodes die mit P beginnen gehören zur Entwicklung der neuen Produktlinie. Budgetcodes die mit S beginnen gehören zum Projekt des Aufbaus einer Zweigstelle in der Schweiz.
Dies ist eine logische Zuordnung von Budgetcodes zu Projekten. Die Software kennt diese Zuordnung nicht und kann Buchungen nicht auf Richtigkeit prüfen.
Es ist möglich daß ein Buchhalter eine Rechnung bucht und dabei irrtümlich das Projekt BERLIN und den Schweizer Budgetcode S0220 Installation angibt.
Die gebuchte Rechnung enthält nun eine nicht erlaubte Kombination von Projekt und Budgetcode und muß umständlich ausgebucht und neu eingegeben werden.
Das System soll so eingerichtet werden daß nicht erlaubte Kombinationen erkannt werden und deren Buchung nicht zulgelassen wird.
Unter Finanzmanagement, Verwaltung finden Sie Dimensionskombinationen. Hier können Sie Einschränkungen für die Buchung von Dimensionen festlegen.
In unserem Beispiel soll die Buchung von Budgetcodes auf bestimmte Kostenträger eingeschränkt sein.
Klicken Sie mit der rechten Maustaste auf das Wort Eingeschränkt und dann auf DrillDown.
Das Fenster Dimensionswertkombinationen öffnet sich.
Hier können Sie festlegen welches Projekt für die Buchung mit einem Budgetcode zugelassen sein soll indem Sie alle anderen Projekte blockieren.
Es wird sehr schnell deutlich daß dieses Arbeitsblatt zu groß wird um es mit vertretbarem Arbeistaufwand manuell auszufüllen und zu unterhalten.
Das System soll so modifiziert werden daß anstatt der verbotenen die erlaubten Kombinationen anzugeben sind.
Öffnen Sie den Object Designer und finden Sie Tabelle 349 Dimensionswert.
Öffnen Sie die Tabelle 349 im Design Mode und tragen Sie in der Dokumentation eine Bemerkung ein die Ihre Softwareänderung nachweist.
Fügen Sie der Tabelle ein neues Feld 50000 Project Code hinzu.
Das Feld hat den Data Type Code und die Länge 20. Die Description PC766 ist ein Quellnachweis für spätere Programmierer.
Das Feld erhält die deutsche Caption Konstenträger Code und eine TableRelation auf sich selbst, die Tabelle 349 Dimensionswert.
Die Tabellenbeziehung erhält einen Tabellenfilter auf den Globalen Dimensionswert 2, womit der Kostenträger festgelegt ist.
Um das neue Feld sichtbar zu machen muß es in Page 537 Dimension Values eingefügt werden. Öffnen Sie im Object Designer die Page 537 und fügen Sie eine neue Zeile vom Typ Field ein. Tippen Sie "Project Code" in das Feld SourceExpr. Das System füllt dann die anderen Felder nach.
Die Page Dimensionswerte enthät jetzt eine neue Spalte Kostenträger Code.
In diese Spalte tragen Sie den Kostenträger ein zu dem ein jeder Budgetcode gehören soll.
In Ihrer Datenbank besteht nun eine Beziehung zwischen Projekt und Budgetcode.
Es muß noch ein Kontrollmechanismus eingerichtet werden der die korrekte Einhaltung dieser Beziehung beim Buchen von Transaktionen erzwingt.
Es wurde eine neue Codeunit 50006 Dimension 3 Management programmiert die die Zuordnung von Budgetcodes zu Projekten liest und dann alle anderen Dimensionswertkombinationen blockiert.
Die Codeunit 50006 muß nach jeder Bearbeitung von Budgetcodes aufgerufen werden. Wo sollte ein solcher Aufruf erfolgen?
Wenn ein Mitarbeiter Budgetcodes bearbeitet ist es ratsam die Einrückung der Dimensionswerte aufzurufen, da diese u.a. die korrekte Summenbildung sicherstellt. Dieselbe Einrückungsfunktion ist den Mitarbeitern schon aus dem Kontenplan bekannt und wir können davon ausgehen das die Mitarbeiter die Budgetcodes einrücken werden.
Die Blockierung der Dimensionswertkombinationen kann nun bequem mit der Einrückung der Dimensionswerte verbunden werden. Dazu wurde eine Änderung in der Codeunit 409 Dimension Value-Indent vorgenommen.
Im Ergebnis dieser Softwaremodifikation nimmt das System bei jeder Einrückung der Dimensionswerte auch eine Aktualisierung der Dimensionswertkombinationen vor. Ein Budgetcode kann dann nur mit dem einen verbundenen Kostenträgercode gebucht werden.
Wie im Bild Einrückung der Dimensionswerte zu sehen ist der Budgetcode B0210 Bauphase I mit dem Kostenträgercode BERLIN verbunden.
Tippt der Buchhalter bei der Rechnungseingabe versehentlich einen anderen Kostenträgercode wie z.B. SCHWEIZ ein so bricht das System die Buchung einer solchen Rechnung mit einer Fehlermeldung ab.
Mit der bisherigen Softwaremodifikation haben wir erreicht daß das System Buchungen mit falschen Kombinationen von Kostenträger und Budget Code nicht zuläßt.
Es soll dem Buchhalter jetzt die Dateneingabe erleichtert werden indem nur die Budgetcodes sichtbar sind die zum bereits ausgewählten Kostenträger gehören.
In dieser Beispielrechnung wurde der Kostenträger BERLIN ausgewählt. Wenn der Buchhalter jetzt den Lookup Pfeil im Feld Budget Code klickt sollen nur die Berliner Budgetcodes erscheinen.
Um den Lookup von Budgetcodes auf den entsprechenden Kostenträger einzuschränken müssen an drei Stellen Softwarestücke eingefügt werden.
Die Codeunit 408 DimensionManagement erhält eine neue Funktion LookupDim3ValueCode.
Die Tabelle 39 Einkaufszeile erhält eine neue Funktion LookupShortcutDim3Code.
In Page 55 Purch. Invoice Subform wird der Aufruf auf die Standard Lookup-Funktion in Tabelle 39 durch die neue Funktion ersetzt.
Das Ergebnis der Softwaremodifikation ist in der Einkaufsrechnung zu sehen:
Der Buchhalter hat den Kostenträger BERLIN in die Rechnungszeile eingetragen. Wenn er jetzt den Lookup Pfeil im Feld Budget Code klickt, erscheint nur die Liste der Budgetcodes die zum Kostenträger BERLIN gehören.
Damit ist Dateneingabefehlern vorgebeugt und die Arbeit des Buchhalters erleichtert.