Grundlegende Konzepte - navision-blog.denavision-blog.de/download/basta2007_forkmann.pdf · C/SIDE...

Preview:

Citation preview

Steffen Forkmann | msu solutions Halle

Programmierung mit Microsoft Dynamics NavGrundlegende Konzepte

steffen.forkmann@msu-solutions.dehttp://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 steffen.forkmann@msu-solutions.de!

• Die Vortragsfolien können auf der Webseite http://www.navision-blog.de/ herunter geladen werden

Recommended