Microsoft Dynamics NAV 2009 Application Design
By Mark Brummel
()
About this ebook
Dynamics NAV 2009 is an Enterprise Resource Planning (ERP) software product from Microsoft that can be used for variety of business needs. It is part of the Microsoft Dynamics family, and intended to assist with finance, manufacturing, Customer Relationship Management, supply chains, analytics, and electronic commerce for small and medium-sized enterprises.
This book is a focused tutorial on Microsoft Dynamics NAV application development, so you can develop complete applications and not just application outlines. It will show NAV developers how to create different kinds of applications. Different kinds of application are vital in different industries like fashion, automobile, retail, books (education), and other industries. It starts off by introducing the supply chain that you will be using throughout the book. You will implement the Microsoft Dynamics NAV ERP suite and learn how it is set up and customized for various industries.
You will be able to customize Dynamics NAV to suit the different aspects of a business such as Financial Management, Relationship Management, Production, Jobs, Trade, Storage, Logistics, and so on. The book will take you through these Microsoft-designed application features and show you how to customize and extend them safely. Thus, you will be able to create a structure of your own in Microsoft Dynamics NAV.
A focused tutorial for Microsoft Dynamics NAV application development
ApproachThis book is a tutorial in an easy-to-read style. It will show Dynamics NAV developers how to create applications of different kinds with sufficient examples throughout.
Who this book is forIf you are a NAV consultant and developer, or designer of business applications you will benefit most from this book.
The book assumes that you have a basic understanding of business management systems and application development, with a working knowledge of Microsoft Dynamics NAV.
Read more from Mark Brummel
Programming Microsoft Dynamics 365 Business Central - Sixth Edition: Build customized business applications with the latest tools in Dynamics 365 Business Central, 6th Edition Rating: 0 out of 5 stars0 ratingsProgramming Microsoft Dynamics NAV - Fifth Edition Rating: 0 out of 5 stars0 ratingsMicrosoft Dynamics NAV 2013 Application Design Rating: 0 out of 5 stars0 ratingsLearning Dynamics NAV Patterns Rating: 0 out of 5 stars0 ratings
Related to Microsoft Dynamics NAV 2009 Application Design
Related ebooks
Microsoft Dynamics CRM 2011 Applications (MB2-868) Certification Guide Rating: 0 out of 5 stars0 ratingsImplementing Microsoft Dynamics NAV - Third Edition Rating: 0 out of 5 stars0 ratingsMicrosoft Dynamics AX Implementation Guide Rating: 5 out of 5 stars5/5ADempiere 3.4 ERP Solutions Rating: 0 out of 5 stars0 ratingsProgramming Microsoft?DynamicsT NAV 2009 Rating: 0 out of 5 stars0 ratingsEssential Guide to Operations Management: Concepts and Case Notes Rating: 0 out of 5 stars0 ratingsCustomer-Anchored Supply Chains: An Executive’S Guide to Building Competitive Advantage in the Oil Patch Rating: 0 out of 5 stars0 ratingsProgramming Microsoft Dynamics™ NAV 2015 Rating: 0 out of 5 stars0 ratingsA Step-by-Step Approach to Using SAS for Factor Analysis and Structural Equation Modeling, Second Edition Rating: 0 out of 5 stars0 ratingsNext Generation Demand Management: People, Process, Analytics, and Technology Rating: 0 out of 5 stars0 ratingsMastering QlikView Rating: 5 out of 5 stars5/5Programming Microsoft Dynamics® NAV 2013 Rating: 0 out of 5 stars0 ratingsThe Official Supply Chain Dictionary: 8000 Researched Definitions for Industry Best-Practice Globally Rating: 4 out of 5 stars4/5Customer Success with Microsoft Dynamics Sure Step Rating: 0 out of 5 stars0 ratingsMastering ServiceNow - Second Edition Rating: 3 out of 5 stars3/5Pharmaceutical Quality by Design Using JMP: Solving Product Development and Manufacturing Problems Rating: 5 out of 5 stars5/5SAP Business ONE Implementation Rating: 0 out of 5 stars0 ratingsDesign Principles for Process-driven Architectures Using Oracle BPM and SOA Suite 12c Rating: 0 out of 5 stars0 ratingsExpert Cube Development with Microsoft SQL Server 2008 Analysis Services Rating: 5 out of 5 stars5/5Working with Odoo Rating: 5 out of 5 stars5/5Oracle ADF Enterprise Application Development – Made Simple : Second Edition Rating: 0 out of 5 stars0 ratingsMastering Microsoft Dynamics NAV 2016 Rating: 4 out of 5 stars4/5Pragmatic Software Testing: Becoming an Effective and Efficient Test Professional Rating: 3 out of 5 stars3/5Mastering Elasticsearch - Second Edition Rating: 0 out of 5 stars0 ratingsMicrosoft Dynamics Sure Step 2010 Rating: 0 out of 5 stars0 ratingsExpert Cube Development with SSAS Multidimensional Models Rating: 0 out of 5 stars0 ratingsEssentials of Inventory Management Rating: 4 out of 5 stars4/5Mastering Salesforce CRM Administration Rating: 4 out of 5 stars4/5Manufacturing: Engineering, Management and Marketing Rating: 0 out of 5 stars0 ratingsRules In SAP-SD Module Rating: 5 out of 5 stars5/5
Information Technology For You
Health Informatics: Practical Guide Rating: 0 out of 5 stars0 ratingsCompTIA ITF+ CertMike: Prepare. Practice. Pass the Test! Get Certified!: Exam FC0-U61 Rating: 0 out of 5 stars0 ratingsData Analytics for Beginners: Introduction to Data Analytics Rating: 4 out of 5 stars4/5WordPress Plugin Development: Beginner's Guide Rating: 0 out of 5 stars0 ratingsWindows Registry Forensics: Advanced Digital Forensic Analysis of the Windows Registry Rating: 4 out of 5 stars4/5How to Write Effective Emails at Work Rating: 4 out of 5 stars4/5AWS Certified Cloud Practitioner: Study Guide with Practice Questions and Labs Rating: 5 out of 5 stars5/5The Ultimate Guide to Landing a Network Engineering Job Rating: 0 out of 5 stars0 ratingsComputer Science: A Concise Introduction Rating: 4 out of 5 stars4/5Creating Online Courses with ChatGPT | A Step-by-Step Guide with Prompt Templates Rating: 4 out of 5 stars4/5Practical Ethical Hacking from Scratch Rating: 5 out of 5 stars5/5How To Use Chatgpt: Using Chatgpt To Make Money Online Has Never Been This Simple Rating: 0 out of 5 stars0 ratingsAn Ultimate Guide to Kali Linux for Beginners Rating: 3 out of 5 stars3/5Hacking Essentials - The Beginner's Guide To Ethical Hacking And Penetration Testing Rating: 3 out of 5 stars3/5The Basics of Hacking and Penetration Testing: Ethical Hacking and Penetration Testing Made Easy Rating: 4 out of 5 stars4/5Inkscape Beginner’s Guide Rating: 5 out of 5 stars5/5The Certified Fintech Professional Rating: 5 out of 5 stars5/5The Programmer's Brain: What every programmer needs to know about cognition Rating: 5 out of 5 stars5/5DNS in Action Rating: 0 out of 5 stars0 ratingsQuantum Computing for Programmers and Investors: with full implementation of algorithms in C Rating: 5 out of 5 stars5/5Summary of Super-Intelligence From Nick Bostrom Rating: 5 out of 5 stars5/5CompTIA Network+ CertMike: Prepare. Practice. Pass the Test! Get Certified!: Exam N10-008 Rating: 0 out of 5 stars0 ratingsA Civic Technologist's Practice Guide Rating: 0 out of 5 stars0 ratingsSupercommunicator: Explaining the Complicated So Anyone Can Understand Rating: 3 out of 5 stars3/5Computer Organization and Design: The Hardware / Software Interface Rating: 4 out of 5 stars4/5ChatGPT: The Future of Intelligent Conversation Rating: 4 out of 5 stars4/5CompTIA A+ CertMike: Prepare. Practice. Pass the Test! Get Certified!: Core 1 Exam 220-1101 Rating: 0 out of 5 stars0 ratingsCybersecurity for Beginners : Learn the Fundamentals of Cybersecurity in an Easy, Step-by-Step Guide: 1 Rating: 0 out of 5 stars0 ratings
Reviews for Microsoft Dynamics NAV 2009 Application Design
0 ratings0 reviews
Book preview
Microsoft Dynamics NAV 2009 Application Design - Mark Brummel
Table of Contents
Microsoft Dynamics NAV 2009 Application Design
Credits
Foreword
About the Author
Acknowledgement
About the Reviewers
Preface
What this book covers
What you need for this book
Who this book is for
Conventions
Where to find the Screens in this book
Screenshots
How to read the application schemas
Number and date punctuation
Reader feedback
Customer support
Errata
Piracy
Questions
1. Introduction to Microsoft Dynamics NAV
Versions and history
What is this book about
Setup versus customization
The beauty of simplicity
Horizontal versus vertical solutions
Open source
Structure of this book
The Role Tailored concept
The building blocks
Tables as user interface and business logic
Dynamics NAV in throughout supply chain
Some basics
Number series
Extended text
Navigate
Setup tables
Posting groups
Pricing
Dimensions
Data model principles
Master data
Journals
The general ledger
Balancing
Flow fields and flow filters
More journals and entries
Posting Schema
Sub and detailed entries
Documents—combining the journals into processes
Document structure
Document transactions
Other structures
Relationship management
Jobs
Manufacturing
Summary
2. A Sample Application
Fit-gap analysis
Designing a Squash Court application
Look, learn, and love
Drawing the table and posting schema
The Project approach
Interfacing with the standard application
Getting started
Creating squash players
CreateVendor versus CreateCustomer
Reverse engineering
Designing a journal
Squash Court master data
Chapter objects
Reservations
Journal Template
Journal Batch
Register
The Journal
Reservation
Invoicing
Time calculation
Price calculation
Squash prices
Price calc mgt. codeunit
Inherited data
Dimensions
Master data
Journal
Posting
Document
The posting process
Check line
Post line
Invoicing
Invoice document
Sales header
Sales line
Dialog
Posting process
Analyse the object
Making the change
Navigate
FindRecords
ShowRecords
Testing
Summary
3. Financial Management
Chart of accounts
Posting accounts
The entry tables
Sub accounting
General journals
Entry application
Posting groups
Dimensions
Budgeting
Creating budget entries
Accounting periods
Closing dates
Currencies
Consolidation
VAT statement
Data analysis
General Ledger
Account schedules
Analysis by dimensions
The setup
Customizing financial management
Sales line description to G/L entries
Extra fields in the G/L entries
Integrating with financial management
Creating a G/L transaction
The C/AL code
Advanced entries
Look, learn, and love
Summary
4. Relationship Management
How companies work
Contacts
Salutation codes
Alternative addresses
Create as
Duplicates
Search
Profiles
Automatic profiles
Interactions
Automatic interactions
Finished interactions
To-do's
Opportunities
Workflow
Sales stages
Activity codes
Creating an opportunity
Sales quote
Close the deal
Segments
Add contacts
Refine/Reduce contacts
Segment criteria
Mailing groups
Log segment
Campaigns
Pricing
Segments
Activate
Outlook integration
E-mail logging
The setup
Customizing relationship management
Salutation formula types
Add the option
Support the formula
The GetSalutation function
Set up the salutation formula
Test the solution
Customer and vendor numbering
Disabling direct creation of customers and vendors
Sharing contact information across companies
Share tables
Business relations
C/AL code modifications
Number series
Final steps
Alternative approaches
Add contacts to segments
Expand report
Implement criteria filters
Test solution
Summary
5. Production
What is production?
History of production
Production methodologies
Raw materials
Basic production principles
Bill of materials
MRP
GIGO
MPS
Item costing
Item tracking
Quality control
Energy and waste
APICS
Getting started
Assembling
The table and posting schema
The items
Item costing
Item tracking
The bill of materials
Calculate standard cost
Creating the inventory
Adjusting cost item entries
Posting inventory cost to G/L
Check, check, and double check
Recalculating standard unit cost
BOM journal
Check costing (again)
Recalculating unit cost (again)
Standard cost worksheet
Item revaluation journal
The result
Item costing in ten steps
Manufacturing
The table and posting schema
The items, machines, and work centers
Items
Machine centers
Capacity
Production bill of materials
Routing
Testing and low level code
Simulation, sales orders, or inventory
Make-to-stock
Make-to-order
The sales order
Calculating MPS and MRP
Requisition versus planning versus subcontracting worksheets
Inventory profile offsetting
Calculating a plan
Production order workflow
Purchase orders
Finishing production
Specialized production
Jobs
Kitting
Sales process
Kitting in Microsoft Dynamics NAV 7
Vertical industry implementation
Fashion
Bill of materials
Shipping worksheet
Automotive
Tooling and amortization
Item tracking
Medicines
Lot numbers and expiration dates
Quality control
Food
Zero inventory
Ordering schedules
Furniture
Calculations
Inventory
Summary
6. Trade
The process
Wholesale versus retail
Sales and purchasing
Transaction mirroring
Sales
Orders
Quote and blanket order to order
Quote to order
Blanket order to order
Creating a new sales order
Sales header
Sales lines
Master data options
Sales line fields
Validation flow
No. | field 6
Quantity | field 15
Unit price | field 22
UpdateUnitPrice
Line discount % | field 27
UpdateAmounts
VAT calculation
Invoicing
Prepayments
Combined invoicing
Manual
Batch
Credit Memo and Return Orders
Purchasing
Resources
Drop shipments
Manual
Requisition worksheet
Document releasing and approval process
Status
Releasing a document
Manual versus automatic releasing
Document approval
Deleting sales and purchase documents
Data deletion
Deletion of shipments and invoices
Document tables and row level locking
Range locks in documents
UpdateVATOnLines
Inventory management
Items
Locations
Variants
Example
Stock keeping units
Example
Creating SKU function
Sales pricing
Item ledger entry application
Item application C/AL routine
Requirements
Value entries
Direct cost
Value entries and general ledger entries
Transfer orders
Example
Requisition journals
Reordering policy
Extending reordering policy
Virtual inventory
Warehouse management
Warehouse strategy levels
Location setup
Warehouse employees
Bin code | level 1
Example
Bin content
Receipt and shipment | level 2
Warehouse request
Limitations
Put-Away and Pick | level 3
Warehouse request
Warehouse activities
Level 2 and level 3 comparison
Receipt + use put-away worksheet | level 4
Whse.- activity register versus whse.-activity-post
Directed put-away and pick | level 5
Zones and default bins
Bin calculation
Implementing and customizing warehouse management
Reservations
Scenario
Check-avail. period calc.
Always versus optional reservation
Reservation entries
Creating a reservation
Order tracking policy
Example
Replenishment
Trade in vertical industries
Fashion
Sales orders
Reservations
Automotive
Vehicle Information
Parts management
Pharmaceuticals/medicines
Medication card
Contribution invoicing
Food
Assortment
Fast order entry
Furniture
Variant configuring
One-off items
Summary
7. Storage and Logistics
How to read this chapter
Chapter objects
The process
Using standard features
Defining the modules
Storage
Logistics
Invoicing
The storage application
Documents
Look, learn, and love
Journal
Documents
Master data
Designing the table and posting schema
Sharing tables
Getting started
Opening balance
Products
Warehouse
Regions
Shelves
Registration worksheet
Storage documents
Receipt
Put-away
Shipment
Picks
The logistics application
Designing the table and posting schema
Getting started
Shipments
Routes
Combining shipments
Route optimizer
Route follow up
Incidents
Follow up
The invoicing application
Process
Income and expense
Invoicing
Sales Line
Codeunit Sales-Post (80)
Pricing methodology
Storage prices
Calculation
Result
Periodic invoicing
Processing the buffer
Combined invoicing
Add-on flexibility
Value added logistics
Item tracking
Third and fourth party logistics
Summary
8. Consulting
The process
Fits
Gaps
Resource groups
Time registration
Item calculation
Issue registration
Getting started
How many jobs
Job card
Job task and planning lines
Job journal
Job examples
Chapter objects
1 | The new implementation
Budgeting
2 | The infrastructure
3 | The upgrade
4 | The support team
Time sheets
Data and transaction model
Purchasing
Item costing versus work in progress
Invoicing
Calculating Work in Progress
Example
WIP post to general ledger
Changing jobs
Quantity budgeting
Resource groups
Calculations
Issue registration
Time sheet
Registration
Summary
9. Interfacing
Interface types
Import and export
Manual
Data pulling
Data pushing
Event driven versus timer driven
Interfacing technologies
File
Automation Control and OCX
OCX
Automation Control
Events
.NET
Automation wrappers
ODBC/ADO
Reading from Microsoft Dynamics NAV
Writing to Microsoft Dynamics NAV
Talking to other databases
SQL Server interfacing
C/FRONT
Microsoft Message Queue
NAS
Web services
Consuming web services in NAV
Exposing a NAV web service
Consuming a Microsoft Dynamics NAV web service
Client add-ins
Standard application interfaces
Dataport
XMLPort
Office integration
Word and Excel integration
Style sheet tool
Using style sheets in the RTC
Word Automation
Advanced Excel integration
Outlook integration
Outlook part
ExtendedDatatype property
Mail and SMTP mail Codeunits
Outlook synchronization
Exchange integration
Interaction log entries
SharePoint
BizTalk
Client Add-ins
Interface methodologies
The scenario
The design
The mapping
The gaps
What if it does not work
The scenario
The interface type
The interface technology
Active Data Objects
Reliability
NTimer.dll
Logging
The design
The solution
COMMIT
Writing data
Reading data
Log, log, and log more
Testing
The RF database
The test
Viewing the results
SQL statements
The buffer tables
The RF database
Interfacing into the future
SharePoint client in Microsoft Dynamics NAV 7
Microsoft Dynamics CRM
Windows Azure
Summary
10. Application Design
Application lifecycle
Design to use
Forms
Pages
Role centers
Squash application
Storage and logistics
Reports
Design to maintain
Naming
Singular and plural
Reserved words
Names and abbreviations
Quantity versus quality
The framework concept
Transformation tool
Transform or design
Design to support
Second level support
Design to upgrade
Has Microsoft changed my (referenced) object
Some redesign examples
CRM (version 2.0)
Dimensions (version 3.x)
Bin code (version 3.x)
Inventory valuation (version 3.x)
Item tracking (version 3.6 and 4.0)
MenuSuite (version 4.0)
Jobs (version 5.0)
Role tailored client (version 2009)
Item costing (almost all versions)
Documentation
Split operational and financial information
Design to perform
OLTP versus OLAP
Fast transaction posting
Cleanup unused indexes
Application setup
Job queue
Background posting
Date compression and cleanup
Date compression
Data cleanup
Locks, blocks, and deadlocks
Native server versus SQL server
Locking principles
Deadlocks
Blocking and deadlocks in Microsoft Dynamics NAV
Impact on development
Design to analyze
Report design
Version and object management
What is a version
Version numbering
Combining versions
Creating a version
Tracking object changes
Development methodology
A sample approach
Fit/gap analysis
Prototyping
Development
Testing
Implementation
Maintenance and support
The project
Standard, customized, or both
Add-on products
Customizing
Total cost of ownership
Roadmap to success
Summary
A. Installation Guide
Licensing
Installing Microsoft Dynamics NAV
Changing the license
Restart service tier
Installing the objects
Importing a FOB file
Installing the dynamic link library files
Register NavMaps.dll
Register VEControl.dll
Index
Microsoft Dynamics NAV 2009 Application Design
Microsoft Dynamics NAV 2009 Application Design
Copyright © 2010 Packt Publishing
All rights reserved. No part of this book may be reproduced, stored in a retrieval system, or transmitted in any form or by any means, without the prior written permission of the publisher, except in the case of brief quotations embedded in critical articles or reviews.
Every effort has been made in the preparation of this book to ensure the accuracy of the information presented. However, the information contained in this book is sold without warranty, either express or implied. Neither the author, nor Packt Publishing, and its dealers and distributors will be held liable for any damages caused or alleged to be caused directly or indirectly by this book.
Packt Publishing has endeavored to provide trademark information about all of the companies and products mentioned in this book by the appropriate use of capitals. However, Packt Publishing cannot guarantee the accuracy of this information.
First published: June 2010
Production Reference: 1040610
Published by Packt Publishing Ltd.
32 Lincoln Road
Olton
Birmingham, B27 6PA, UK.
ISBN 978-1-84968-096-7
www.packtpub.com
Cover Image by Tina Negus (<tina_manthorpe@sky.com>)
Credits
Author
Mark Brummel
Reviewers
Daniel Rimmelzwaan
Max Traxinger
Jeremy Vyska
Eric Wauters
Acquisition Editor
Rashmi Phadnis
Development Editor
Mayuri Kokate
Technical Editors
Neha Damle
Bhavesh D. Bhasin
Editorial Team Leader
Gagandeep Singh
Project Team Leader
Lata Basantani
Project Coordinator
Poorvi Nair
Proofreader
Lesley Harrison
Indexer
Rekha Nair
Production Coordinator
Adline Swetha Jesuthas
Cover Work
Adline Swetha Jesuthas
Foreword
The history of the Dynamics NAV application started with a small accounting product called PC-Plus
back in 1984. The idea was to create an application suitable for bookkeepers who had no knowledge of computers. It was done by copying real life artifacts like paper journals, orders, and invoices and it even had a copy of a Canon table calculator! PC-Plus
was an overnight success—but soon a huge demand for customizations and verticals started developing. After the PC-Plus
team developed a vertical for auto repair shops called Auto-Plus
, they realized that if they had to create all the functionality themselves, their business would never scale. Therefore, they got the idea to create a product including a base application and a set of tools suitable for others to build exactly the functionality they wanted. That was the start of Dynamics NAV as we know it today.
Over the years, the base application evolved. When PC-Plus
was created, people loved it for its core G/L functionality—but soon the same people wanted the same simple solution to help run more of their business and eventually manage their entire business. This meant that the Dynamics NAV application grew from being all about finance management to cover manufacturing, distribution, service management, projects and CRM and is today a fully-fledged ERP solution. Even though the application has grown, it is still simple and consistent, which makes it possible for a single developer to overview it, understand it, and build exactly the necessary functionality.
Michael Nielsen
Director of Engineering, Dynamics NAV,
Microsoft Development Center Copenhagen — Denmark
About the Author
Mark Brummel is an all-round Microsoft Dynamics NAV specialist. He started in 1997 as an end user but quickly moved to the other side of the table. For ten years he has worked for resellers where designing and maintaining add-on systems was his specialization. Some of these add-on systems exceed the standard product when it comes to size and complexity. He has also been coaching colleagues and troubleshooting 'impossible' problems as a part of day-to-day work. Mark has trained most of the experienced NAV developers for the NAV 2009 product in The Netherlands and Belgium and he has been hired by almost every NAV reseller in the Benelux.
Mark works as a freelancer. His main focus area is to help out end users in implementations all over the world.
Mark was the first world wide to use the NAV 2009 (CTP3) product in a production system feeding back valuable information to Microsoft. Today, he is still involved in projects to provide input for future versions and test new CTP releases.
A special project has been performance tuning of the Dynamics NAV product on SQL Server. From 2007 to 2009, he was involved in the development of the 'SQL Perform Tools' as business partner of SQL Perform Benelux. As a unique specialist, he has done break through research in improving the performance of Dynamics NAV on SQL Server.
In his spare time, Mark maintains his blog on www.brummelds.com. This blog contains a wide range of articles about both the Microsoft Dynamics NAV and SQL Server product. He is also a frequent speaker at Microsoft events and a writer for independent Dynamics NAV websites and user groups. In 2006, Mark was rewarded by Microsoft with the Most Valuable Professional award for his contribution to the online and offline communities. In 2007 and 2009 he also reviewed Programming Microsoft Dynamics NAV
and Programming Microsoft Dynamics NAV 2009
.
Acknowledgement
Just before I was asked to write this book, I sold my company and went back to freelancing in order to spend more time with my wife Dionel and kids Josephine (6), Wesley (4) and Saskia (1½). Therefore, I would like to thank them for allowing me this great opportunity and challenge. Writing this book has taken the better part of weekends, evenings, and vacations for a period of almost half a year. I will never forget this period where daddy is writing a book and Josephine asking, What is your book about dad?
(in Dutch of course) and me finding it difficult to explain.
I would also like to thank Packt Publishing for giving me the opportunity to write a book about the application that I love so much. The people at Packt were very helpful and patient in helping me explore the life of an author and my continuous efforts in changing the outline and number of chapters and pages.
I have tried my best to write a book about the real intention of what Microsoft Dynamics NAV is. NAV is more than ERP and more than a Development Environment. It is about simplicity and being able to create applications using a unique structure and way of thinking.
Many people have helped to get this book at the great level it is. First of all, the technical reviewers, Daniel Rimmelzwaan, Matt Traxinger, Jeremy Vyska, and Eric Wauters who have done an excellent job in improving my efforts in writing. I would like to thank Andrew Good for his help with Chapter 5, Production.
The examples for implementing Microsoft Dynamics NAV in vertical industries in Chapters 5 and 6 are taken from real implementations and I would like to thank these companies for taking the time and effort to answer my questions:
Arseus: Karel Jutte
Bakery 't Stoepje: Sjacco Nel
Bosman Medical Supplies: Renate Lukassen
Rev'it Sport: Bas Stijntjes, Theo van Geel, and Peter Kuypers
Wildkamp: Albert Smit and Gerard Nijlant
I would like to thank all the people who helped me during the first thirty three years of my life. Leaving school when I was 18, I studied at the university of life (sometimes the hard way) with the help of many who guided me in my personal and business life. Amongst all these people are of course my wife Dionel, my parents, great parents, brother Rene and sister Anna, and my parents-in-law.
Special thanks go to David and Karen Studebaker. I met them in 2006 at Tech-Ed in Boston, USA. They have been of invaluable help in bringing structure in my business and personal life.
About the Reviewers
Daniel Rimmelzwaan was born and raised in The Netherlands, and moved to the USA at the end of 1999 to be with his new American wife. In Holland, he worked as a Microsoft Access and VBA developer. When looking for a job as a VB developer in the USA, he was introduced to Navision by a VB Recruiter
, and was intrigued by the simplicity of its development tools. He decided to accept a job offer as a Navision Developer, with the firm intention to continue looking for a 'real' developer job.
More than 10 years later, a long stint at a Microsoft partner, a few years as a freelancer, and now back in the partner channel, Daniel is still working with NAV. He currently works for Archerpoint, one of the largest and most experienced Microsoft Dynamics NAV partners in the USA, and he is enjoying his career more than ever.
Daniel has had the opportunity to work in a wide variety of roles such as Developer, Analyst, Designer, Team Lead, Project Manager, Consultant, and more. Although he has a very versatile experience with all things related to NAV, his main focus is custom development, with a bias toward helping his customers solve NAV performance issues on SQL Server.
Ever since he started working with NAV, Daniel has been an active member of the online communities for NAV, such as mibuso.com, dynamicsuser.net, and the online forums managed by Microsoft. For his contributions to these online communities, Daniel received his first of five consecutive Microsoft Most Valuable Professional Awards in July 2005, which was just the second year that the MVP Award was given out for NAV. The MVP Award is given out by Microsoft to independent members of technology communities around the world, and recognizes people that share their knowledge with other members of the community.
Daniel lives with his wife and two kids in Michigan in the USA.
Matt Traxinger graduated from the Georgia Institute of Technology in 2005 with a B.S. in Computer Science, specializing in Human Computer Interaction and Cognitive Science. After college, he took a job as an add-on developer using a language he was unfamiliar with for a product he had never heard of: Navision. It turned out to be a great decision.
In the following years, Matt learned all areas of the product and earned Microsoft Certified Business Solutions Professional certifications in both technical and functional areas of NAV. He continues to stay current with new releases of the product and is certified in multiple areas for versions 4.0, 5.0, and 2009.
Currently Matt works in Norcross, GA, for Canvas Systems, one of the largest resellers of new and refurbished computer equipment as an in-house NAV Developer and Business Analyst. He supports multiple offices in the United States as well as locations in the United Kingdom and the Netherlands.
Matt is also writing the NAV Development Cookbook for Packt Publishing which should be released later this year. In his spare time, you can find him on the online communities Mibuso.com and DynamicsUser.net under the name MattTrax, helping others learn more about the Dynamics NAV software.
Jeremy Vyska started his career in Microsoft Dynamics NAV in 2000. Since then, he has worked with, implemented, and customized almost every functional area of Dynamics NAV. He has fulfilled many business process roles relating to Dynamics NAV, including technical sales, requirements gathering, project planning, implementation, training, support, and of course, development. He has overseen teams of staff working on a project, as well as co-ordinating of independent resources.
Jeremy has also specialized in add-on and vertical development, which is a different skill-set than typical client development. Optimizations and maintainability are even more critical in those products, since partners may need to implement and customize the solution. He has been on the development and PM teams of at least half a dozen such solutions that are actively in the market space today, most notably Serenic Software on their premiere NAV-based solution for non-profits and NGO's.
Currently, Jeremy runs Small Square Services (founded in 2009), providing a wide variety of services to the worldwide Microsoft Dynamics NAV Partner Channel and supporting customers throughout the northeast US.
Eric Wauters is one of the founding partners of iFacto Business Solutions www.ifacto.be. With nine years of technical expertise, he is an everyday inspiration to its development team. As development manager, he continually acts upon iFacto's technical readiness and guarantees that he and iFacto are always on top of the latest Microsoft Dynamics NAV developments. Apart from that, Eric is also very active in Microsoft Dynamics NAV community-life where he tries to solve technical issues and thrives to share his knowledge with other Dynamics NAV enthusiasts. Surely, a lot amongst you will have read some of Eric's posts on Mibuso.com, Dynamicsusers.net or his own blog www.waldo.be which he invariably signs with waldo
. In 2008, he co-founded the Belgian Dynamics Community, a platform for all Belgian Dynamics NAV users, consultants and partners, enabling knowledge sharing and networking. His proven track record entitled him to be awarded in 2007, 2008, 2009, and 2010 as MVP (Microsoft Most Valuable Professional).
Preface
In 1997, the company I worked for was looking for a replacement for their MS-DOS-based software package. We were very fortunate in finding Navision Financials 1.1 as a software package that supported the upcoming Windows platform, and was flexible enough to be implemented supporting our demands.
Even though the standard functionality was nowhere near what we have today, the structure of the application's design was simple and solid and has not changed since then.
In the years after that more companies embraced Navision as their answer to the changing demands in the market, and many vertical solutions that exist today started their life cycle. With the acquisition of Navision by Microsoft the interest of new partners grew in to the channel we know today.
The add-on solutions catalogue now has 620 pages with 548 solutions from 208 partners in 36 countries, making Microsoft Dynamics NAV a very popular development platform to create business software.
Microsoft Dynamics NAV offers a unique development experience that can only be fully used once you understand how the standard application parts are designed.
When properly licensed, everyone can change how the application works. With this great possibility comes great responsibility as this means that we can also easily break important business logic.
This results in a unique need for a designer of applications that run inside Microsoft Dynamics NAV to know more about the application without going into deep functional details.
The balance in this book will be between learning and understanding how the standard application features of Microsoft Dynamics NAV are designed, and learning how to use this knowledge when designing our own solutions. The area between understanding the application's functionality and its technical design is very thin.
In this book, we will make changes to the standard application and also create new solutions.
We will also discuss how Microsoft Dynamics NAV can interface with other applications.
What this book covers
Chapter 1, Introduction to Microsoft Dynamics NAV, will introduce you to Microsoft Dynamics NAV. We will talk briefly about the history of the application and talk about the concepts. We will cover some of the basics such as Number Series and Navigation. Then we will discuss the Data Model principles used by Microsoft Dynamics NAV using Master Data, Journals, and Ledger Entries covered by Documents.
Chapter 2, A Sample Application, will implement the theory we learned in the first chapter to make a sample application. The goal of this chapter is to better understand how Journals and Ledger entries work throughout the system and how to create your own Journal application. You will learn how to reverse engineer the standard application to learn from it and apply this to our own customizations. We will integrate the application with Relationship Management and Sales in Microsoft Dynamics NAV, and extend Navigation and Dimensions for our solution.
Chapter 3, Financial Management, will explore how the Financial Management part of the application can be used and how it is designed. You will learn important concepts such as VAT, Posting Groups, Closing Dates, Entry Application, and Financial Data Analysis. We will make some changes in the core application by adding new information to the General Ledger, and learn how to integrate Financial Management into our add-on solution.
Chapter 4, Relationship Management, will help us to analyze the sales data in our system and be more productive towards our customers. We will explore the unique design of this part of the application and integrate this with the sample application we created in Chapter 2.
Chapter 5, Production, will show us how to set up Microsoft Dynamics NAV for Production companies. We will discuss the BOM Journal, Manufacturing, and Kitting. Item Costing and Item Tracking are key elements when using this part of the application. We will look at the Planning Worksheet and how to create Production orders using Make-to-Order and Make-to-Stock policies. We will reverse engineer the Inventory Profile Offsetting codeunit and see how this leads to a planning and Purchase Orders. At the end of this chapter we will look at ten ways to customize Production for vertical industries.
Chapter 6, Trade, will discuss the relationship between Sales, Inventory Management, and Purchasing, and how Warehousing can be involved using different levels of complexity. We will learn how Reservation Entries are used in the system from a technical perspective.
Chapter 7, Storage and Logistics, will design and build a solution for planning routes for shipments, a feature that is not available in Microsoft Dynamics NAV. We will design a solution that can be used by trading companies not only for their own shipments but also for storage companies. The solution is seamlessly integrated with the Dynamics NAV product. We will extend the journal knowledge we learned in Chapter 2 and Chapter 3 with new document structures we learned in Chapter 5 and Chapter 6.
Chapter 8, Consulting, will discuss how to implement the Job functionality using four example jobs, and extend jobs with an issue registration and timesheet application using resource groups and calculations.
Chapter 9, Interfacing, will discuss how to design a rock solid business to business interface. We will show what technologies are available to use for interfacing and how these technologies are implemented in the standard product. We will discuss all the built-in interfaces with other Microsoft applications such as Office, SharePoint, BizTalk, and Exchange.
Chapter 10, Application Design, will focus on the concepts of application design and how they apply to Microsoft Dynamics NAV. We will focus on Design to Use, Maintain, Support, Upgrade, Perform, and Analyze. This includes concepts for User Interface, Version Management, and the Development Methodology.
What you need for this book
To successfully follow the examples in this book you will need the following:
The Microsoft Dynamics NAV 2009 product CD to install the application.
Ideally you should have a full developers license. This can be obtained by being registering as a Microsoft Dynamics NAV partner. Alternatively, most of the example code can be explored using a demo license which can be downloaded from MSDN.
Microsoft Office and SQL Server Management Studio for the interface examples in Chapter 9.
The appendix describes how to install these prerequisites.
Who this book is for
Basically, this book is for:
NAV consultants and developers
Designers of business applications
Application Managers and End Users
Business Owners and influencers
This book assumes that you have a basic understanding of business management systems and application development, with a working