Steffen Forkmann | msu solutions Halle
Programmierung mit Microsoft Dynamics Nav Grundlegende Konzepte
[email protected] http://www.msu-solutions.de
Steffen Forkmann | Programmierung mit Microsoft Dynamics Nav
Agenda • Was ist Dynamics NAV (Navision) eigentlich? – Ein paar Folien zum Einstieg – Grundlegende Konzepte
• Implementation – Anpassung der Buchungsroutinen – Einbau eines neuen Auswertungskriteriums
• Ausblick auf Version 5.1
2
Steffen Forkmann | Programmierung mit Microsoft Dynamics Nav
3
Was ist Microsoft Dynamics NAV (Navision) • ERP-System für kleine und mittelständische Unternehmen (KMU) – – – –
Ursprünglich von Navision Software A/S entwickelt 2000 Zusammenschluss Navision / Damgaard 2002 Übernahme durch Microsoft Integration in Dynamics Reihe
Steffen Forkmann | Programmierung mit Microsoft Dynamics Nav
Navision weltweit 276.000 4.500 30.000 3.800 über 20 32 in 102
Kunden Partner Vertriebsmitarbeiter Mitarbeiter Jahre Erfahrung Landesversionen Ländern installiert
Hauptmarkt Deutschland und Dänemark
4
Steffen Forkmann | Programmierung mit Microsoft Dynamics Nav
Geteilte Entwicklung Dienstleistungen Spezial-/BranchenKnow-how
Microsoft Partner (z.B. msu solutions GmbH)
Standardfunktionalität
Microsoft Business Solutions Basistechnologie
5
Steffen Forkmann | Programmierung mit Microsoft Dynamics Nav
Funktionsbereiche • • • • • • • •
Finanzbuchhaltung Debitoren & Verkauf Service Kreditoren & Einkauf Marketing und CRM Artikel & Lager Logistik Produktion
• • • • • • • • •
Fertigung Kapazitätsplanung Ressourcen Projekte Kostenrechnung Anlagen Personalwesen Lohn Termine
6
Steffen Forkmann | Programmierung mit Microsoft Dynamics Nav
7
Finanzbuchhaltung • • • • • • • • •
DAS zentrale Modul Mit allen anderen Modulen vollständig verbunden Kontenpläne Gewinn- und Verlustrechnung Bilanzen Gegenüberstellung von Salden und Budgetzahlen Liquiditätsplanung Beliebig gestaltbare Geschäftsjahre Auffinden zusammengehöriger Buchungen (Navigate)
Steffen Forkmann | Programmierung mit Microsoft Dynamics Nav
8
Tabellen im Verkauf Belegart: Tabelle Verkaufskopf / Verkaufszeile
Buchen Liefern
Buchen Fakturieren
zusätzlich entstehen z. B.
Angebot, Rahmenauftrag, Auftrag, Rechnung, Reklamation, Gutschrift
Tabelle Verkaufslieferkopf/Verkaufslieferzeile Tabelle Rücksendungskopf/Rücksendungszeile Tabelle Verkaufsrechnungskopf/Verkaufsrechnungszeile Tabelle Verkaufsgutschriftskopf/Verkaufsgutschriftszeile Tabelle Artikelposten Tabelle Wertposten Tabelle Sachposten Tabelle Debitorenposten Tabelle MwSt.-Posten
Steffen Forkmann | Programmierung mit Microsoft Dynamics Nav
Demo
Debitor Buchung
9
Steffen Forkmann | Programmierung mit Microsoft Dynamics Nav
10
Grundbegriffe C/SIDE
TM
Client/Server Integrated Development Environment
C/AL
C/SIDE Application Language
C/CAPS
Configuration and Pricing System
C/SHELL
Die Währungseinheit für C/CAPS
SIFT
TM
SumIndexField Technology
FlowField
Zur Laufzeit berechnete Felder
FlowFilter
Filter für FlowFields
Steffen Forkmann | Programmierung mit Microsoft Dynamics Nav
11
C/SIDE vs. C/AL • C/SIDE – Entwicklungsumgebung + Datenbank – Integrierter Debugger
• C/AL – Interne ereignisgesteuerte aber nicht objektorientierte Programmiersprache – Eng mit Turbo Pascal verwandt – Zugang zu C/AL muss in einer Entwickler-Lizenz erworben werden. – Einige Kunden lizenzieren den Formular-Designer oder den ReportDesigner
Kein Visual Studio !
Steffen Forkmann | Programmierung mit Microsoft Dynamics Nav
Client-Server-Architektur • Client: – Verarbeitung der Geschäftslogik – Präsentation – Anbindung an Office Produkte
• Server: – Datenhaltung • Navision Native Server • SQL Server
• Vollständige Dezentralisierung auf dem „Client“ – z.B. für Schulungs- oder Entwicklungszwecke
12
Steffen Forkmann | Programmierung mit Microsoft Dynamics Nav
Native Server vs. SQL Server • Native Server – – – –
Hohe Stabilität, Transaktionssicherheit, Trigger Hohe Geschwindigkeit bei der Bildung von Summen (SIFT) Absolut wartungsarm Soll mittelfristig ersetzt werden
• SQL Server – Hohe Stabilität, Transaktionssicherheit, Trigger, … – Viele weitere Features – ABER: Administrationsaufwand wesentlich größer
13
Steffen Forkmann | Programmierung mit Microsoft Dynamics Nav
14
Navision Key-Concepts • Offener Quellcode – Alle Objekte werden mit anpassbaren Quellcode ausgeliefert
• Durchgängiger Style-Guide – Bedienung (und Code) sieht in allen Modulen gleich aus
• Lizensierung über Granules – Der Kunde lizensiert nur die für ihn interessanten Module (Beispiel: Anlagenbuchhaltung)
• Mandanten – betriebswirtschaftliche Einheit (Firma, Niederlassung, ...) – mehrere Mandanten pro Datenbank möglich
Steffen Forkmann | Programmierung mit Microsoft Dynamics Nav
SIFT-Technologie • • • • •
Sum-Indexed Flow Technology Schnelle Berechnung von gefilterten Summen Beispiel: Bewegung vom 1.2. bis 12.12. Nur 2 Datenbankzugriffe 550 – 200 Geht pro Tabellenindex einzeln zu aktivieren Datum
Kostenstelle
Betrag
SumIndex
01.01.2006
100
50
50
15.01.2006
100
150
200
01.02.2006
200
100
300
01.06.2006
100
50
350
12.12.2006
300
200
550
30.12.2006
200
40
590
15
Steffen Forkmann | Programmierung mit Microsoft Dynamics Nav
Navision Objekttypen • Nur 7 verschiedene Typen von Geschäftsobjekten: – – – – – – – –
Table (Datenbanktabelle mit entsprechenden Triggern) Form (Editierbare Ansichten – Karte bzw. Liste) Codeunit (Zusammengefasste Codeblöcke) Report (Ausdruckbar oder „Processing Only“) Dataport (Im-/Export als CSV-File) XML-Port (Im-/Export als XML-File) MenuSuite (Menu-Objekt) [Pages] ab Dynamics NAV 5.1
16
Steffen Forkmann | Programmierung mit Microsoft Dynamics Nav
17
Nummernbereiche Standardapplikation
1 - 9.999 Entwicklungsbereich der Standardapplikation
Länderanpassungen
10.000 - 49.999 Entwicklungsbereich für Länderanpassungen
Kundenanpassungen
50.000 - 99.999 Entwicklungsbereich für Kundenanpassungen
Zusatzmodule
100.000 - 999.999.999 Entwicklungsbereich für Zusatzmodule
Steffen Forkmann | Programmierung mit Microsoft Dynamics Nav
Demo
Geschäftsbereichsbuchung
18
Steffen Forkmann | Programmierung mit Microsoft Dynamics Nav
19
Technische Neuerungen NAV 5.1 • Neuer rollenbasierter Client • Neuer Objekttyp: Pages – Neuer Page Designer in C/SIDE – Transformationstool für existierende Forms
• Web Services – Web Service Designer in C/SIDE – Zugriff auf Daten und C/AL Code
• Report Design – Integration von Visual Studio in vorhandenen Report Designer – Aufbauend auf Reporting Services
C/SIDE BLEIBT! 19
Steffen Forkmann | Programmierung mit Microsoft Dynamics Nav
20
Dynamics NAV 5.1 Architektur
Service Tier
SQL Server
Microsoft Dynamics NAV SQL DB
Server & Database Schicht
Native Server SQL Server
Server
NAS
Service & Application Schicht
Client
Gewohnter Client Business Logic C/SIDE
Rollenbasierter Client
UI Schicht
ODER
21
Steffen Forkmann | Programmierung mit Microsoft Dynamics Nav
Client Tier
Windows Client Rich Client Internet Information Server
Browser
Form Builder
Data Binder
Web Services
Client Services
SharePoint Display Target Render
Application
Meta data provider
Data Binder
Class Library
Form Builder
SharePoint Services
Database Tier
RolesTailored Client
SharePoint Client
Microsoft Dynamics NAV Service Tier
3-Tier Architektur ab Nav 5.1
Microsoft SQL Server
Jesper Lachance Ræbild & Frank Fugl 2007
Steffen Forkmann | Programmierung mit Microsoft Dynamics Nav
22
Service Tier • Läuft auf Internet Information Server (IIS) • Code wird weiterhin in C/AL geschrieben – Automatisch in eine Assembly kompiliert – Entwickler kommen jedoch nicht mit C# in Berührung
• ABER: – Erstmals externer Zugriff auf Business Objekte – Webservices
Steffen Forkmann | Programmierung mit Microsoft Dynamics Nav
23
Reporting • Basiert auf SQL Server 2005 Reporting Services • Aus Navision Report wird ein Dataset generiert – Report Definition Language (RDL) Layout wird aus bestehender Report Struktur extrahiert – RDL Tools: BI Development Studio oder Visual Studio – Danach kann der Report wieder in Navision importiert werden
Steffen Forkmann | Programmierung mit Microsoft Dynamics Nav
Fazit • • • • • • • •
Große Einheitlichkeit in Design und Code Komplette Integration aller Module Kunde kauft nur was er benötigt (Granules) Alle Buchungen müssen durch die selben Objekte Buch.-Blätter Postenkonzept Offener Quellcode (Kundenanpassungen direkt im Standard)
24
Steffen Forkmann | Programmierung mit Microsoft Dynamics Nav
25
Vielen Dank • Gibt es Fragen? • Gerne beantworte ich diese auch via Email an
[email protected]! • Die Vortragsfolien können auf der Webseite http://www.navision-blog.de/ herunter geladen werden