Tải bản đầy đủ (.pdf) (620 trang)

programming microsoft dynamics nav 2009

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (22.29 MB, 620 trang )

www.it-ebooks.info
Programming Microsoft
®

Dynamics™ NAV 2009
Develop and maintain high performance NAV
applications to meet changing business needs with
improved agility and enhanced flexibility
David Studebaker
BIRMINGHAM - MUMBAI
This material is copyright and is licensed for the sole use by andrew mayo on 7th November 2009
2406 W. 16th Street, , Wilmington, , 19806
www.it-ebooks.info
Programming Microsoft
®
Dynamics™ NAV 2009™ NAV 2009 NAV 2009
Copyright © 2009 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: November 2009
Production Reference: 1271009


Published by Packt Publishing Ltd.
32 Lincoln Road
Olton
Birmingham, B27 6PA, UK.
ISBN 978-1-847196-52-1
www.packtpub.com
Cover Image by Faiz Fattohi ()
This material is copyright and is licensed for the sole use by andrew mayo on 7th November 2009
2406 W. 16th Street, , Wilmington, , 19806
www.it-ebooks.info
Credits
Author
David Studebaker
Reviewers
Mark J. Brummel
Steven Renders
Acquisition Editor
Douglas Paterson
Development Editor
Ved Prakash Jha
Technical Editors
Aanchal Kumar
Charumathi Sankaran
Copy Editor
Sanchari Mukherjee
Indexer
Rekha Nair
Editorial Team Leader
Gagandeep Singh
Project Team Leader

Lata Basantani
Project Coordinator
Joel Goveya
Proofreaders
Claire Cresswell-Lane
Erica Mukherjee
Graphics
Nilesh Mohite
Production Coordinator
Aparna Bhagat
Cover Work
Aparna Bhagat
This material is copyright and is licensed for the sole use by andrew mayo on 7th November 2009
2406 W. 16th Street, , Wilmington, , 19806
www.it-ebooks.info
About the Author
David Studebaker is Chief Technical Ofcer and the owner of Liberty Grove
Software, Inc., with his partner Karen Studebaker. Liberty Grove Software, a
Microsoft Partner, provides development, consulting, training, and upgrade services
for Microsoft Dynamics NAV resellers and rms using Dynamics NAV internally.
David has been recognized by Microsoft as a Certied Professional for NAV in all
areas—Development, Applications, and Installation & Conguration. He has been
honored as a Lead Certied Microsoft Trainer for NAV. He has been programming
since 1962 and developing in C/AL since 1996. David has been an active participant
in each step of computing technology—from the early mainframes to today's
technology, from binary assembly language coding to today's C/AL and C#.
David's special achievements include the development of the very rst production
SPOOLing system in 1967. Application areas in which David has worked include
manufacturing, distribution, retail, engineering, general accounting, association
management, professional services billing, distribution/inventory management,

freight carriage, data collection, and production management among others.
David has had a wide range of development, consulting, sales, and management
roles throughout his career. He has been partner or owner and manager of several
software development businesses, while always maintaining a signicant role as a
business applications developer.
David has a BS in Mechanical Engineering from Purdue University and an MBA
from the University of Chicago. He has been writing for publication since his
undergraduate college days. David has been a member of the Association for
Computing Machinery since 1963 and was a founding ofcer of two local chapters
of the ACM.
This material is copyright and is licensed for the sole use by andrew mayo on 7th November 2009
2406 W. 16th Street, , Wilmington, , 19806
www.it-ebooks.info
Acknowledgement
I would like to especially thank my partner in life and at work, Karen Studebaker,
for her unagging support and encouragement in all ways since those early days
at Purdue. No one could have a more wonderful partner or spouse. I would like to
acknowledge the guidance and love that I received from my parents as well as the
enthusiastic support and love of my wonderful children and other family members.
Finally, though there are far too many individuals to list, whatever I have been able
to accomplish would not have been possible without the help of many, many friends,
mentors, and associates along the way. Life would be very poor without all the kind
and generous folks I have met. I also wish to thank the great people at Microsoft and
Packt who assisted me with their contributions and advice throughout the creation of
this book. May you enjoy this book and nd it useful.
A special thanks to these helpful people at Microsoft:
Microsoft Technical Reviewers:
Overall Coordination—Michael Nielsen, Director of Engineering, Microsoft
Dynamics NAV.
Chapter 1: A Short Tour through NAV 2009 - Esben Nyhuus Kristoffersen

Chapter 2: Tables - Thomas Hejlsberg
Chapter 3: Data Types and Fields for Data Storage and Processing - Thomas Hejlsberg
Chapter 4: Pages—Tools for Data Display - Esben Nyhuus Kristoffersen
Chapter 5: Reports - Yuri Belenky
Chapter 6: Introduction to C/SIDE and C/AL - Lars Hammer
Chapter 7: Intermediate C/AL - Lars Hammer
Chapter 8: Advanced NAV Development Tools - Lars Hammer, Hans Kierulff
Chapter 9: Extend, Integrate, and Design—into the Future - Christian Abeln,
Bardur Knudsen
Dynamics NAV Help documentation: Paul Chapman, Dynamics NAV 2009
Documentation Manager, and his team, including Jill Frank, Søren Groes-Petersen,
John Swymer, and Bob Papsdorf
Dynamics NAV UX Guide: Hans Roed Mark, UX Manager, Microsoft Dynamics User
Experience Team
This material is copyright and is licensed for the sole use by andrew mayo on 7th November 2009
2406 W. 16th Street, , Wilmington, , 19806
www.it-ebooks.info
About the Reviewers
Mark J. 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. During
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 where it comes to size and complexity. In addition, coaching colleagues
and troubleshooting 'impossible' problems is his passion and 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. Today he is working freelance, is hired by
almost every NAV reseller in the Benelux area, and is also frequently asked to help
out in escalated implementations by end users. Mark is an associate in the Liberty
Grove Software network and a business partner of SQL Perform Benelux. Mark was
the rst to use the NAV 2009 (CTP3) product in a production system feeding back

valuable information to Microsoft.
A special project and passion is performance tuning of the Dynamics NAV product
on SQL Server. Since 2007, he is involved in the development of the 'SQL Perform
Tools'. A specialist's toolset which allows both trend and escalation analysis of key
elements for systems speed. As a unique specialist, he has done break-through
research in improving the performance of Dynamics NAV on SQL Server.
In his free 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. In 2006, Mark was
rewarded by Microsoft with the Most Valuable Professional award for his contribution
to the online and ofine communities. In 2007, he also reviewed Programming
Microsoft
®
Dynamics

NAV.
Steven Renders is a Microsoft Certied Trainer in Microsoft Dynamics NAV. He
has more than 12 years of business and technical experience. He joined Plataan in
2006, where he provides training and consultancy focused on Microsoft Dynamics
NAV development, Microsoft SQL Server, Business Intelligence solutions, Microsoft
SQL Server Reporting Services, and Database Performance Tuning. He is also an
expert on Dynamics NAV 2009, on which he has already delivered many training
sessions. Steven has also developed content for Microsoft Learning.
This material is copyright and is licensed for the sole use by andrew mayo on 7th November 2009
2406 W. 16th Street, , Wilmington, , 19806
www.it-ebooks.info
Foreword
Since the rst version of Dynamics NAV, simplicity has always been the biggest asset
of the product, and the goal has always been that it should be easy to learn, easy to

use, and easy to develop. For the NAV developers, this has been accomplished by
limiting the number of concepts they have to learn.
The rst is to use the concepts which are well known from real life, for example,
Form, Page, Table, and Report. The next is to introduce a programming language
C/AL, which is targeted at writing business logic and not device drivers. The
third is to add an integrated development environment, which removes the need
for "plumbing" logic, which typically pollutes the code in a normal development
environment. The fourth is to add automatic transaction and error handling, which
saves the developers a lot of time since they don't have to write "clean up" code. The
fth and probably most important, is to reuse code constructs across the application,
so that once you have learned one subsystem, it is easy to understand and master the
rest. The latter is the secret sauce of NAV and what makes it possible to master doing
customization across the whole NAV application.
This is, in very few words, what David's book is all about and what Dynamics NAV
is all about.
Michael Nielsen,
Director of Engineering,
Microsoft Dynamics NAV
This material is copyright and is licensed for the sole use by andrew mayo on 7th November 2009
2406 W. 16th Street, , Wilmington, , 19806
www.it-ebooks.info
This material is copyright and is licensed for the sole use by andrew mayo on 7th November 2009
2406 W. 16th Street, , Wilmington, , 19806
www.it-ebooks.info
Table of Contents
Preface 1
Chapter 1: A Short Tour through NAV 2009 13
NAV 2009: An ERP system 14
Financial Management 16
Manufacturing 16

Supply Chain Management (SCM) 17
Business intelligence and reporting 18
Relationship Management (RM) 18
Human Resource management 19
Project management 19
Significant changes in NAV 2009 19
Two-tier versus three-tier 20
Role Tailored Client 21
SSRS-compatible report viewer 21
Web services 21
NAV 2009: A set of building blocks and development tools 21
NAV object types 22
The C/SIDE Integrated Development Environment 22
Object Designer tool icons 24
NAV object and system elements 25
NAV functional terminology 28
User interfaces 29
An introduction to development 31
Our scenario for development exercises 31
Getting started with application design 32
Application tables 32
Designing a simple table 32
Creating a simple table 33
Field numbering 34
This material is copyright and is licensed for the sole use by andrew mayo on 7th November 2009
2406 W. 16th Street, , Wilmington, , 19806
www.it-ebooks.info
Table of Contents
[ ii ]
Pages/Forms 36

Keyboard shortcuts 49
Run a table 50
Reports 50
Creating a List format report 52
Codeunits 58
MenuSuites 59
Dataports 59
XMLports 60
Integration tools 61
Backups and documentation 62
Summary 63
Review questions 64
Chapter 2: Tables 67
Overview of tables 67
Components of a table 68
Table naming 69
Table numbering 69
Table properties 70
Table triggers 72
Keys 74
SumIndexFields 77
Field Groups 78
Expanding our sample application 82
Creating and modifying tables 82
Assigning a TableRelation property 87
Creating Forms for testing 87
Adding Secondary keys 95
Adding some activity-tracking tables 96
New tables 98
Keys and SumIndexFields in our examples 103

Types of tables 107
Wholly modifiable tables 107
Master 107
Journal 108
Template 109
Ledger 110
Reference 112
Register 114
Posted Document 114
Setup 116
Temporary 117
This material is copyright and is licensed for the sole use by andrew mayo on 7th November 2009
2406 W. 16th Street, , Wilmington, , 19806
www.it-ebooks.info
Table of Contents
[ iii ]
Content-modifiable tables 117
System 117
Read-Only tables 119
Virtual 119
Summary 121
Review questions 122
Chapter 3: Data Types and Fields for Data Storage
and Processing 125
Basic definitions 125
Fields 126
Field properties 126
Field numbering 132
Changing the data type of a field 134
Field triggers 135

Data structure examples 136
Variable naming 137
Data types 138
Fundamental data types 138
Numeric data 138
String data 139
Date/Time data 139
Complex data types 141
Data structure 141
Objects 142
Automation 142
Input/Output 142
DateFormula 143
References and other 149
Data type usage 150
FieldClass property options 152
Filtering 158
Defining filter syntax and values 158
Filtering on equality and inequality 159
Filtering by ranges 160
Filtering with Boolean operators 161
Filtering with wildcards 161
Filtering with combinations 162
Experimenting with filters 163
Accessing filter controls 172
Summary 175
Review questions 176
This material is copyright and is licensed for the sole use by andrew mayo on 7th November 2009
2406 W. 16th Street, , Wilmington, , 19806
www.it-ebooks.info

Table of Contents
[ iv ]
Chapter 4: Pages—Tools for Data Display 179
What is a page? 180
Controls 180
Bound and unbound 180
Pages—a stroll through the gallery 181
A sample RoleTailored Client page 182
Types of pages 187
List page 187
Card page 188
Document page 188
FastTab 189
List+ page 191
Journal/Worksheet page 191
Confirmation (Dialog) page 192
Request page 192
Navigate page 193
Departments page 194
Role Center page 196
Page parts 197
FactBoxes 198
Page names 199
Accessing the Page Designer 200
What makes up a page? 201
Page properties 202
Types of page controls 205
Inheritance 211
Page control details 211
Container controls 211

Group controls 212
Field controls 214
Using page controls in a Card page 218
Page Part controls 224
Creating a Card Part FactBox 226
Page Control triggers 228
Adding more List pages to our ICAN application 229
Creating a simple list page 230
Creating related List and Card pages 231
Learning more about pages 234
UX (User Experience) Guidelines 234
Creative plagiarism 235
This material is copyright and is licensed for the sole use by andrew mayo on 7th November 2009
2406 W. 16th Street, , Wilmington, , 19806
www.it-ebooks.info
Table of Contents
[ v ]
Experimenting with page controls and control properties 235
Help searching 236
Experimentation 236
Testing 238
Design 238
Summary 239
Review questions 240
Chapter 5: Reports 243
What is a report? 244
Two NAV report designers 244
A hybrid report designer 247
NAV report—look and feel 247
NAV report types 248

Report types summarized 253
Report naming 253
Report components overview 254
The components of a report description 255
Report Data Flow 256
The elements of a report 259
Report properties 260
Report triggers 263
Data Items 264
Data item properties 264
Data item triggers 269
Data item Sections 270
Creating RTC reports via the Classic Report Wizard 271
Learn by experimentation 279
Runtime formatting 280
Inheritance 281
Other ways to create RTC reports 281
Modify an existing RTC report 282
The Visual Studio Report Designer layout screen 284
Report Items 286
Make the report changes 288
Request Page 300
Processing-Only reports 304
Creating a report from scratch 305
Creative report plagiarism 306
Summary 307
Review questions 308
This material is copyright and is licensed for the sole use by andrew mayo on 7th November 2009
2406 W. 16th Street, , Wilmington, , 19806
www.it-ebooks.info

Table of Contents
[ vi ]
Chapter 6: Introduction to C/SIDE and C/AL 311
Essential navigation 312
Object Designer 312
Starting a new object 313
Some designer navigation pointers 319
Exporting objects 320
Importing objects 322
Text objects 324
Object number licensing 324
Some useful practices 325
Changing data definitions 326
Saving and compiling 326
Some C/AL naming conventions 328
Variables 329
Global identifiers 329
Local identifiers 330
Special working storage variables 331
A definition of programming in C/SIDE 334
Functions 335
Basic C/AL syntax 343
Assignment and punctuation 343
Wildcards 344
Expressions 345
Operators 346
Some basic C/AL 350
MESSAGE, ERROR, CONFIRM, and STRMENU functions 350
MESSAGE function 350
ERROR function 351

CONFIRM function 352
STRMENU function 354
SETCURRENTKEY function 355
SETRANGE function 356
GET function 356
FIND 357
FIND ([Which]) options and the SQL Server alternates 358
BEGIN–END compound statement 360
IF–THEN–ELSE statement 361
Indenting code 362
Some simple coding modifications 363
Adding a validation to a table 363
Adding code to enhance a report 368
Summary 375
Review questions 376
This material is copyright and is licensed for the sole use by andrew mayo on 7th November 2009
2406 W. 16th Street, , Wilmington, , 19806
www.it-ebooks.info
Table of Contents
[ vii ]
Chapter 7: Intermediate C/AL 379
Some C/AL development tools 379
C/AL Symbol Menu 380
Internal documentation 381
Computation and Validation utility functions 384
TESTFIELD 384
FIELDERROR 385
VALIDATE 386
ROUND 387
TODAY, TIME, and CURRENTDATETIME functions 388

WORKDATE function 389
Data conversion functions 390
FORMAT function 390
EVALUATE function 391
DATE functions 391
DATE2DMY function 391
DATE2DWY function 392
DMY2DATE and DWY2DATE functions 392
CALCDATE function 393
FlowField-SumIndexField functions 394
CALCFIELDS function 395
CALCSUMS function 396
CALCFIELDS and CALCSUMS comparison 396
Flow control 397
REPEAT–UNTIL control structure 397
WHILE–DO control structure 397
CASE–ELSE statement 398
WITH–DO statement 400
QUIT, BREAK, EXIT, SKIP, and SHOWOUTPUT functions 401
QUIT function 401
BREAK function 402
EXIT function 402
SKIP function 402
SHOWOUTPUT function 403
Input and Output functions 403
NEXT function with FIND or FINDSET 403
INSERT function 404
MODIFY function 405
Rec and xRec 405
DELETE function 405

MODIFYALL function 406
DELETEALL function 406
This material is copyright and is licensed for the sole use by andrew mayo on 7th November 2009
2406 W. 16th Street, , Wilmington, , 19806
www.it-ebooks.info
Table of Contents
[ viii ]
Filtering 407
SETRANGE function 408
SETFILTER function 408
COPYFILTER and COPYFILTERS functions 409
GETFILTER and GETFILTERS functions 409
MARK function 409
CLEARMARKS function 410
MARKEDONLY function 410
RESET function 410
Filter Groups 410
InterObject communication 411
Communication via data 411
Communication through function parameters 411
Communication via object calls 412
Using the new knowledge 412
A development challenge for you 413
Creating more ICAN test data 413
Developing the Donor Recognition Status report 419
Summary 433
Review questions 434
Chapter 8: Advanced NAV Development Tools 437
NAV process flow 438
Data preparation 439

Transactions entry 439
Testing and Posting the Journal batch 440
Accessing the data 440
Ongoing maintenance 441
Role Center pages 441
Role Center structure 442
Role Center activities page 444
Cue Groups and Cues 445
Cue source table 446
Cue Group Actions 449
System Part 451
Page Part 452
Navigation Pane and Action Menus 455
Departments 461
MenuSuite levels 462
MenuSuite structure 462
MenuSuite development 463
MenuSuite transformation 466
Configuration and personalization 467
This material is copyright and is licensed for the sole use by andrew mayo on 7th November 2009
2406 W. 16th Street, , Wilmington, , 19806
www.it-ebooks.info
Table of Contents
[ ix ]
Creating new C/AL routines 468
Callable functions 469
Codeunit 358 – Date Filter-Calc 470
Codeunit 359 – Period Form Management 471
Codeunit 365 – Format Address 473
Codeunit 396 – NoSeriesManagement 474

Codeunit 397 – Mail 475
Codeunit 408 – Dimension Management 475
Codeunit 412 – Common Dialog Management 476
Sampling of function models to review 477
Codeunit 228 – Test Report-Print 478
Codeunit 229 – print documents 478
Other objects to review 479
Management codeunits 479
Documenting modifications 480
Multi-language system 481
Multi-currency system 482
Code analysis and debugging tools 483
Developer's Toolkit 483
Relations to Tables 484
Relations from Objects 486
Source Access 486
Where Used 486
Trying it out 488
Working in exported text code 491
Using Navigate 493
Testing with Navigate 493
The C/SIDE Debugger 497
The C/SIDE Code Coverage tool 498
Client Monitor 498
Debugging NAV in Visual Studio 499
Dialog function debugging techniques 500
Debugging with MESSAGE 500
Debugging with CONFIRM 500
Debugging with DIALOG 500
Debugging with text output 501

Debugging with ERROR 501
C/SIDE test driven development 502
Summary 504
Review questions 505
This material is copyright and is licensed for the sole use by andrew mayo on 7th November 2009
2406 W. 16th Street, , Wilmington, , 19806
www.it-ebooks.info
Table of Contents
[ x ]
Chapter 9: Extend, Integrate, and Design—into the Future 507
Interfaces 507
XMLports 508
XMLport components 510
XMLport properties 510
XMLport triggers 514
XMLport data lines 514
XMLport line properties 520
Element or attribute 523
XMLport line triggers 524
XMLport Request Page 526
Advanced interface tools 527
Automation Controller 528
NAV Communication Component 528
Linked Server Data Sources 529
C/OCX 529
C/FRONT 529
NAV Application Server (NAS) 529
Client Add-ins 530
Client Add-in definition 530
Client Add-in construction 531

Client Add-in comments 534
Web services 534
Exposing a web service 536
Publishing a web service 537
Determining what was published 538
Customizing Help 542
NAV development projects 544
Knowledge is key 545
Different approaches for different scopes 545
Advantages of designing new functionality 545
Modifying an existing functional area 546
NAV development time planning 547
Data-focused design 547
Determining the data needs 548
Defining the needed data views 548
Designing the data tables 548
Designing the user data access interface 548
Designing the data validation 549
Data design review and revision 549
This material is copyright and is licensed for the sole use by andrew mayo on 7th November 2009
2406 W. 16th Street, , Wilmington, , 19806
www.it-ebooks.info
Table of Contents
[ xi ]
Designing the Posting processes 550
Designing the supporting processes 550
Double-check everything 550
Design for efficiency 551
Disk I/O 551
Locking 552

Design for updating 553
Customization project recommendations 554
One change at a time 554
Testing thoroughly 555
Plan for upgrading 559
Benefits of upgrading 560
Coding considerations 560
Careful naming 561
Good documentation 561
Low-impact coding 562
The upgrade process 563
Upgrade executables only 563
Full upgrade 564
Supporting material 565
Sure Step 565
RIM 565
Other reference material 566
Into the future 568
Summary 569
Review questions 570
Answers 573
Chapter 1 573
Chapter 2 574
Chapter 3 574
Chapter 4 575
Chapter 5 575
Chapter 6 576
Chapter 7 576
Chapter 8 577
Chapter 9 577

Index 579
This material is copyright and is licensed for the sole use by andrew mayo on 7th November 2009
2406 W. 16th Street, , Wilmington, , 19806
www.it-ebooks.info
This material is copyright and is licensed for the sole use by andrew mayo on 7th November 2009
2406 W. 16th Street, , Wilmington, , 19806
www.it-ebooks.info
Preface
To exist is to change, to change is to mature, to mature is to go on creating oneself
endlessly—Henri Bergson
By choosing to study C/AL and C/SIDE for NAV 2009, you are once again choosing
to embrace change. The knowledge you gain here about these tools can be applied
for your and others' benet. The information in this book will shorten your learning
curve on how to program for the NAV 2009 ERP system using the C/AL language,
the C/SIDE integrated development environment, and all the new capabilities
therein.
By embarking on the study of NAV and C/AL, you are joining a high-quality,
worldwide group of experienced developers. There is a collegial community of
C/AL developers on the Web who readily and frequently share their knowledge.
There are formal and informal organizations of NAV-focused users, developers,
and vendor rms both on the Web and in various geographic locations. The NAV
product is one of the best on the market and it continues to grow and prosper.
Welcome aboard and enjoy the journey.
A business history timeline
The current version of Microsoft Dynamics NAV is the result of much inspiration
and hard work along with some good fortune and excellent management decision
making over the last quarter century or so.
This material is copyright and is licensed for the sole use by andrew mayo on 7th November 2009
2406 W. 16th Street, , Wilmington, , 19806
www.it-ebooks.info

Preface
[ 2 ]
The beginning
Three college friends, Jesper Balser, Torben Wind, and Peter Bang, from Denmark
Technical University (DTU) founded their computer software business in 1984
when they were in their early twenties. That business was Personal Computing &
Consulting (PC & C) and its rst product was called PC Plus.
Single user PC Plus
PC Plus was released in 1985 with a primary goal of ease of use. An early employee
said its functional design was inspired by the combination of a manual ledger
journal, an Epson FX 80 printer, and a Canon calculator. Incidentally, Peter Bang is
the grandson of one of the founders of Bang & Olufsen, the manufacturer of home
entertainment systems par excellence.
PC Plus was PC DOS-based, a single user system. PC Plus' design features included
the following:
• An interface resembling the use of documents and calculators
• Online help
• Good exception handling
• Minimal computer resources required
The PC Plus product was marketed through dealers in Denmark and Norway.
Multi-user Navigator
In 1987, PC & C released a new product, the multi-user Navigator and a new
corporate name, Navision. Navigator was quite a technological leap forward.
It included:
• Client/Server technology
• Relational database
• Transaction-based processing
• Version management
• High-speed OLAP capabilities (SIFT technology)
• A screen painter tool

• A programmable report writer
This material is copyright and is licensed for the sole use by andrew mayo on 7th November 2009
2406 W. 16th Street, , Wilmington, , 19806
www.it-ebooks.info
Preface
[ 3 ]
In 1990, Navision was expanding its marketing and dealer recruitment efforts into
Germany, Spain, and the United Kingdom. Moreover, in 1990, V3 of Navigator was
released. Navigator V3 was still a character-based system, albeit a very sophisticated
one. If you had an opportunity to study Navigator V3.x, you would instantly
recognize the roots of today's NAV product. By this time, the product included:
• A design based on object-oriented concepts
• Integrated 4GL Table, Form, and Report Design tools (the IDE)
• Structured exception handling
• Built-in resource management
• The original programming language that became C/AL
• Function libraries
• The concept of regional or country-based localization
When Navigator V3.5 was released, it also included support for multiple platforms
and multiple databases. Navigator V3.5 would run on both Unix and Windows NT
networks. It supported Oracle and Informix databases as well as the one that was
developed in-house.
At about this time, several major strategic efforts were initiated. On the technical
side, the decision was make to develop a GUI-based product. The rst prototype of
Navision Financials (for Windows) was shown in 1992. At about the same time, a
relationship was established that would take Navision into distribution in the United
States. The initial release in the US in 1995 was V3.5 of the character-based product,
rechristened Avista for US distribution.
Navision Financials for Windows
In 1995, Navision Financials V1.0 for Microsoft Windows was released. This

product had many (but not all) of the features of Navigator V3.5. It was designed
for complete look and feel compatibility with Windows 95. There was an effort to
provide the ease of use and exibility of development of Microsoft Access. The new
Navision Financials was very compatible with Microsoft Ofce and was thus sold
as "being familiar to any Ofce user". Like any V1.0 product, it was fairly quickly
followed by a V1.1 that worked much better.
In the next few years, Navision continued to be improved and enhanced. Major new
functionalities were added:
• Contact Relation Management (CRM)
• Manufacturing (ERP)
• Advanced Distribution (including Warehouse Management)
This material is copyright and is licensed for the sole use by andrew mayo on 7th November 2009
2406 W. 16th Street, , Wilmington, , 19806
www.it-ebooks.info
Preface
[ 4 ]
Various Microsoft certications were obtained, providing muscle to the marketing
efforts. Geographic and dealer base expansion continued apace. By 2000, according
to the Navision Annual Report of that year, the product was represented by nearly
1,000 dealers (Navision Solution Centers) in 24 countries and used by 41,000
customers located in 108 countries.
Growth and mergers
In 2000, Navision Software A/S and its primary Danish competitor, Damgaard A/S,
merged. Product development and new releases continued for the primary products
of both original rms (Navision and Axapta). In 2002, the now much larger Navision
Software, with all its products (Navision, Axapta, and the smaller, older C5 and
XAL) was purchased by Microsoft, becoming part of the Microsoft Business Systems
division along with the previously purchased Great Plains Software business and
its several product lines. Since that time, one of the major challenges for Microsoft
has been to meld these previously competitive businesses into a coherent whole.

One aspect of that effort was to rename all the products as Dynamics software,
with Navision being renamed to Dynamics NAV.
Fortunately for those who have been working with Navision, Microsoft has not only
continued to invest in the product, but has increased the investment. This promises
to be the case for the foreseeable future.
Continuous enhancement
As early as 2003, research began with the Dynamics NAV development team planning
moves to further enhance NAV, taking advantage of various parts of the Microsoft
product line. Goals were dened to increase integration with products such as
Microsoft Ofce and Microsoft Outlook. Goals were also set to leverage the functional
capabilities of Visual Studio and SQL Server, among others. All the while, there has
been a determination not to lose the strengths and exibility of the base product.
This was a massive change that required almost a complete rewrite of the underlying
code, the foundation that's normally not visible to the outside world. To accomplish
that while not destroying the basic user interface, the business application model, or
the development environment, was a major effort. The rst public views of this new
version of the system, a year or two later, were not greeted with universal enthusiasm
from the NAV technical community. But the Dynamics NAV development persevered
and Microsoft continued supporting the investment, until NAV 2009 was released in
late 2008. With the addition of Service Pack 1 in mid-2009, the biggest hurdles to the
new technologies have been cleared. More new capabilities and features are yet to
come, taking advantage of all these efforts.
This material is copyright and is licensed for the sole use by andrew mayo on 7th November 2009
2406 W. 16th Street, , Wilmington, , 19806
www.it-ebooks.info

×