grundlegende konzepte - navision-blog.de · microsoft dynamics nav service tier internet...
TRANSCRIPT
Steffen Forkmann | msu solutions Halle
Programmierung mit Microsoft Dynamics NavGrundlegende Konzepte
[email protected]://www.msu-solutions.de
Steffen Forkmann | Programmierung mit Microsoft Dynamics Nav2
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
Steffen Forkmann | Programmierung mit Microsoft Dynamics Nav3
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 Nav4
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
Steffen Forkmann | Programmierung mit Microsoft Dynamics Nav5
Geteilte Entwicklung
Dienstleistungen
Spezial-/Branchen-Know-how
Standardfunktionalität
Microsoft Partner(z.B. msu solutions GmbH)
Basistechnologie
Microsoft Business Solutions
Steffen Forkmann | Programmierung mit Microsoft Dynamics Nav6
Funktionsbereiche
• Finanzbuchhaltung
• Debitoren & Verkauf
• Service
• Kreditoren & Einkauf
• Marketing und CRM
• Artikel & Lager
• Logistik
• Produktion
• Fertigung
• Kapazitätsplanung
• Ressourcen
• Projekte
• Kostenrechnung
• Anlagen
• Personalwesen
• Lohn
• Termine
Steffen Forkmann | Programmierung mit Microsoft Dynamics Nav7
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 Nav8
Tabellen im Verkauf
Tabelle Verkaufskopf / Verkaufszeile
Tabelle Verkaufsrechnungskopf/Verkaufsrechnungszeile
Tabelle Verkaufsgutschriftskopf/Verkaufsgutschriftszeile
Tabelle Verkaufslieferkopf/Verkaufslieferzeile
Tabelle Rücksendungskopf/Rücksendungszeile
Belegart: Angebot, Rahmenauftrag, Auftrag,Rechnung, Reklamation, Gutschrift
Buchen
Fakturieren
Tabelle Debitorenposten
Tabelle Sachposten
Tabelle Artikelposten
Tabelle Wertposten
Tabelle MwSt.-Posten
Buchen
Liefern
zusätzlich
entstehen z. B.
Steffen Forkmann | Programmierung mit Microsoft Dynamics Nav9
DemoDemo
Debitor BuchungDebitor Buchung
Steffen Forkmann | Programmierung mit Microsoft Dynamics Nav10
Grundbegriffe
C/SIDE TM
C/AL
C/CAPS
C/SHELL
SIFT TM
FlowField
FlowFilter
Client/Server Integrated Development Environment
C/SIDE Application Language
Configuration and Pricing System
Die Währungseinheit für C/CAPS
SumIndexField Technology
Zur Laufzeit berechnete Felder
Filter für FlowFields
Steffen Forkmann | Programmierung mit Microsoft Dynamics Nav11
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 Report-Designer
Kein Visual Studio !
Steffen Forkmann | Programmierung mit Microsoft Dynamics Nav12
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
Steffen Forkmann | Programmierung mit Microsoft Dynamics Nav13
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
Steffen Forkmann | Programmierung mit Microsoft Dynamics Nav14
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 Nav15
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
20015010015.01.2006
200
300
100
200
100
Kostenstelle
5904030.12.2006
55020012.12.2006
3505001.06.2006
30010001.02.2006
505001.01.2006
SumIndexBetragDatum
Steffen Forkmann | Programmierung mit Microsoft Dynamics Nav16
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
Steffen Forkmann | Programmierung mit Microsoft Dynamics Nav17
Nummernbereiche
Kundenanpassungen 50.000 - 99.999
Entwicklungsbereich für Kundenanpassungen
Standardapplikation 1 - 9.999Entwicklungsbereich der Standardapplikation
Länderanpassungen 10.000 - 49.999Entwicklungsbereich für Länderanpassungen
Zusatzmodule 100.000 - 999.999.999Entwicklungsbereich für Zusatzmodule
Steffen Forkmann | Programmierung mit Microsoft Dynamics Nav18
DemoDemo
GeschäftsbereichsbuchungGeschäftsbereichsbuchung
Steffen Forkmann | Programmierung mit Microsoft Dynamics Nav19
Technische Neuerungen NAV 5.1Technische 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
19
C/SIDE BLEIBT!
Steffen Forkmann | Programmierung mit Microsoft Dynamics Nav20
Dynamics NAV 5.1 ArchitekturDynamics NAV 5.1 Architektur
Native ServerNative Server
SQL ServerSQL Server
GewohnterGewohnter ClientClient
Business Logic Business Logic
C/SIDEC/SIDE
Clie
nt
Clie
nt
Se
rve
rS
erv
er
NASNAS
Microsoft Microsoft Dynamics NAV Dynamics NAV
SQL DBSQL DB
SQL ServerSQL Server
RollenbasierterRollenbasierter
ClientClient
UI
UI
Schic
ht
Schic
ht
Se
rve
r &
Se
rve
r &
Da
tab
ase
D
ata
ba
se
Schic
ht
Schic
ht
Service TierService Tier
Se
rvic
e &
Se
rvic
e &
Ap
plic
atio
n
Ap
plic
atio
n
Schic
ht
Schic
ht
ODERODER
Steffen Forkmann | Programmierung mit Microsoft Dynamics Nav21
Mic
rosoft
Dyna
mic
s N
AV
Serv
ice T
ier
Sha
reP
oin
t Se
rvic
es
Inte
rne
t In
form
atio
n S
erv
er
Web Services
Client Services
ApplicationMeta data provider
Class Library
SharePoint Display Target
Render
Data Binder
Form Builder
Clie
nt T
ier
Microsoft SQL Server
Win
do
ws C
lien
tR
ich
Clie
nt
Form Builder
Data Binder
RolesTailoredClient
BrowserS
ha
reP
oin
t Clie
nt
Data
base
Tie
r
3-Tier Architektur ab Nav 5.1
JesperJesper LachanceLachance RRææbildbild & Frank & Frank FuglFugl 20072007
Steffen Forkmann | Programmierung mit Microsoft Dynamics Nav22
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 Nav23
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 Nav24
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)
Steffen Forkmann | Programmierung mit Microsoft Dynamics Nav25
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