Programming Microsoft Dynamics NAV

More Information
  • Become confident with basic NAV definitions and conventions
  • Understand the design and development process of a NAV application
  • Understand the unique aspects of the NAV data and process flows
  • Data Types, Tables, Forms, Reports, and Codeunits
  • C/SIDE and C/AL basics - essential navigation, object construction, numbering, basic syntax, naming rules, SIFT technology, string operators and functions, numeric operators and functions, logical and relational operators and functions
  • Control Logic and Flow - Conditional statements, I/O statements, sorting, filtering, data flow, FlowFields, process logic flow, creating new functions, documentation, testing
  • Advanced C/AL - modifying existing functions, creating new objects, finding code models, advanced debugging techniques

Chapter 1 covers basic definitions as they pertain to NAV and C/SIDE. It also provides an introduction to seven types of NAV objects, Form and Report Creation Wizards, and tools that we use to integrate NAV with external entities, and ends with a brief discussion of how different types of backups and documentation are handled in C/SIDE.

Chapter 2 focuses on the top level of NAV data structure, tables and their structures. You will work your way through hands-on creation of a number of tables in support of an example application. You will review most types of tables found in the out-of-the-box NAV application.

In Chapter 3, you will learn about the basic building blocks of NAV data structure, fields and their attributes, data fields that are available and field structure elements (properties, triggers) for each type of field. This chapter covers the broad range of Data Type options as well as Field Classes, shows you one of the date calculation tools that gives C/AL an edge in business, and discusses the concept of filtering and how it can be considered as you design your database structure.

In Chapter 4, you will review different types of forms and work with some of them, and review all the controls that can be used in forms. You will learn to use the Form Wizard and have a good introduction to the Form Designer. You will expand your example system, creating a number of forms for data maintenance and inquiry.

In Chapter 5, you will learn about on the structural and layout aspects of NAV Report objects. Also, you will experiment with some of the tools and continue to expand your example application.

Chapter 6 will help you learn about the General Object Designer Navigation as well as more specific navigation of individual (Table, Form, Report) Designers. This chapter also covers variables of various types created and controlled by the developer or by the system, basic C/AL syntax, and some essential C/AL functions.

Chapter 7 covers a number of practical tools and topics regarding C/AL coding and development. You will learn about C/AL Symbol Menu and how it assists in development. This chapter also discusses various Computation, Validation and Data Conversion functions, Dates, Flowfields and SIFT, Processing Flow Control, Input–Output, and Filtering functions.

In Chapter 8, you will review a number of tools and techniques aimed at making the life of a NAV developer easier and more efficient. There is also a section on Code Analysis and Debugging.

Chapter 9 will help you deal with software design for NAV. It will help you with the design of NAV modification, creating a new function area or enhancing an existing functional area, and also provides you with the information needed for designing a new NAV application.

Chapter 10 focuses on interfaces with NAV. Overall, you will learn about MenuSuites, Dataports, XMLports, and advanced Interfaces in this chapter.

Chapter 11 will help you become even more productive in C/AL development. It provides some tips for design efficiency and it will help you learn about updating and upgrading the system and more about enjoying working with NAV.


Microsoft Dynamics NAV (formerly known as Navision) is a well established Enterprise Resource Planning (ERP) application, part of the Microsoft Dynamics family.

Renowned for its challenging learning curve, Dynamics NAV is a complex piece of software with a unique design structure and, for developers learning to modify or enhance it for vital business purposes, the task can sometimes be overwhelming.

This book will ease you through the complexities of NAV application development. You will learn the skills and develop the confidence to tackle your own critical NAV applications. This book will act as your experienced NAV programming mentor, helping you to become productive as a NAV developer much more quickly.

From basic NAV terminology and concept definitions, through the essential building blocks of NAV data structure and objects, you will gain an understanding of the fundamental underlying concepts of NAV. You will learn practical details about NAV object construction and the tools available, including the Table, Form, and Report Designers. You will learn how to use NAV's tools to effectively navigate through the various features of objects, including properties, triggers, and C/AL code and receive practical guidance on ways to develop and test in the unique NAV C/SIDE development environment.

A section on software design for NAV is provided along with tips for efficient design of a new NAV application or enhancing an existing application. With its comprehensive collection of NAV information, this book is not only designed to help you learn, but can act as a reference as well.

  • For experienced programmers with little or no previous knowledge of NAV development
  • Learn as quickly as possible to create, modify, and maintain NAV applications
  • Written for version 5.0 of NAV; applicable for all versions
Page Count 480
Course Length 14 hours 24 minutes
ISBN 9781904811749
Date Of Publication 7 Oct 2007


David A. Studebaker

David Studebaker has been a software consulting entrepreneur and manager most of his career while always maintaining a significant role as an application developer. David has been designing, developing, and teaching software since 1962. He has been a founding partner in five software service firms, most recently Studebaker Technology and Liberty Grove Software. Among his special achievements was the design and development of the very first production SPOOL system, a 1967 AT&T / IBM joint project.

David has been writing for publication since his college days. His published writings include a decade of technical reviews for the ACM’s Computing Reviews and a variety of articles and reference material on shop floor data collection. David is the author of four other Packt books on programming in Dynamics NAV C/AL, two of which were coauthored with Christopher Studebaker.

David has a BS in Mechanical Engineering from Purdue University and an MBA from the University of Chicago. He is a life member of the Association for Computing Machinery and was a founding officer of two ACM chapters.