Book Image

Programming Microsoft Dynamics NAV - Fifth Edition

By : Marije Brummel, David Studebaker, Christopher D. Studebaker
Book Image

Programming Microsoft Dynamics NAV - Fifth Edition

By: Marije Brummel, David Studebaker, Christopher D. Studebaker

Overview of this book

Microsoft Dynamics NAV is a full business solution suite, and a complete ERP solution that contains a robust set of development tools to support customization and enhancement. These tools provide greater control over financials and can simplify supply chain, manufacturing, and operations. This book will take you from an introduction to Dynamics NAV and its integrated development tools to being a productive developer in the Dynamics NAV Development Environment. You will find this book very useful if you want to evaluate the product's development capabilities or need to manage Dynamics NAV based projects. It will teach you about the NAV application structure, the C/SIDE development environment, the C/AL language paired with the improved editor, the construction and uses of each object type, and how it all fits together to build universal applications. With this new edition, you will be able to understand how to design and develop using Patterns and new features such as Extensions and Events.
Table of Contents (10 chapters)

NAV 2017 - An ERP system

NAV 2017 is an integrated set of business applications designed to service a wide variety of business operations. Microsoft Dynamics NAV 2017 is an ERP system. An ERP system integrates internal and external data across a variety of functional areas including manufacturing, accounting, supply chain management, customer relationships, service operations, and human resources management, as well as the management of other valued resources and activities. By having many related applications well integrated, a full featured ERP system provides an enter data once, use many ways information processing toolset.

NAV 2017 ERP addresses the following functional areas (and more):

  • Basic accounting functions (for example, general ledger, accounts payable, and accounts receivable)
  • Order processing and inventory (for example, sales orders, purchase orders, shipping, inventory, and receiving)
  • Relationship management (for example, vendors, customers, prospects, employees, and contractors)
  • Planning (for example, MRP, sales forecasting, and production forecasting)
  • Other critical business areas (for example, manufacturing, warehouse management, marketing, cash management, and fixed assets)

A good ERP system such as NAV 2017 is modular in design, which simplifies implementation, upgrading, modification, integration with third-party products, and expansion for different types of clients. All the modules in the system share a common database and, where appropriate, common data.

The groupings of individual NAV 2017 functions following is based on the Departments menu structure, supplemented by information from Microsoft marketing materials. The important thing is to understand the overall components that make up the NAV 2017 ERP system:

NAV 2017 has two quite different styles of user interface (UI). One UI, the development environment, targets developers. The other UI style, the RoleTailored client, targets end users. In NAV 2017, there are four instances of the RoleTailored client - for Windows, for web interaction, for tablet use, and a phone client, which was introduced in NAV 2016. The example images in the following module descriptions are from the RoleTailored client's Departments menu in the Windows client.

Financial management

Financial management is the foundation of any ERP system. No matter what the business is, the money must be kept flowing, and the flow of money must be tracked. The tools that help to manage the capital resources of the business are part of NAV 2017's Financial Management module. These include all or part of the following application functions:

  • General ledger - managing overall finances of the firm
  • Cash management and banking - managing inventory of money
  • Accounts receivable - tracking incoming revenue
  • Accounts payable - tracking outgoing funds
  • Analytical accounting - analyzing various flows of funds
  • Inventory and fixed assets - managing inventories of goods and equipment
  • Multi-currency and multi - language-supporting international business activities

The Financial Management section of the Departments menu is as follows:

Manufacturing

NAV 2017 manufacturing is general-purpose enough to be appropriate for Make to Stock (MTS), Make to Order (MTO), and Assemble to Order (ATO), as well as various subsets and combinations of those. Although off-the-shelf NAV is not particularly suitable for most process manufacturing and some of the very high volume assembly line operations, there are third-party add-on and add-in enhancements available for these applications. As with most of the NAV application functions, manufacturing can be implemented to be used in a basic mode or as a full featured system. NAV manufacturing includes the following functions:

  • Product design (BOMs and routings) - managing the structure of product components and the flow of manufacturing processes
  • Capacity and supply requirements planning - tracking the intangible and tangible manufacturing resources
  • Production scheduling (infinite and finite), execution, and tracking quantities and costs, plus tracking the planned use manufacturing resources, both on an unconstrained and constrained basis

The Manufacturing section of the Departments menu is as follows:

Supply chain management

Obviously, some of the functions categorized as part of NAV 2017 supply chain management (SCM), for example, sales and purchasing) are actively used in almost every NAV implementation. The supply chain applications in NAV include all or parts of the following applications:

  • Sales order processing and pricing - supporting the heart of every business
  • Purchasing (including Requisitions) - planning, entering, pricing, and processing purchase orders
  • Inventory management - managing inventories of goods and materials
  • Warehouse management including receiving and shipping - managing the receipt, storage, retrieval, and shipment of material and goods in warehouses

Even though we might consider Assembly part of Manufacturing, the standard NAV 2017 Departments menu includes it in the Warehouse section:

As a whole, these functions constitute the base components of a system appropriate for distribution operations, including those that operate on an ATO basis.

Business Intelligence and reporting

Although Microsoft marketing materials identify Business Intelligence (BI) and reporting as though it were a separate module within NAV, it's difficult to physically identify it as such. Most of the components used for BI and reporting purposes are (appropriately) scattered throughout various application areas. In the words of one Microsoft document, Business Intelligence is a strategy, not a product. Functions within NAV that support a BI strategy include the following:

  • Standard reports - distributed ready-to-use by end users
  • Account schedules and analysis reports - a specialized report writer for General Ledger data
  • Query, XMLport and Report designers - developer tools to support the creation of a wide variety of report formats, charts, and XML and CSV files
  • Analysis by dimensions - a capability embedded in many of the other tools
  • Interfaces into Microsoft Office and Microsoft Office 365 including Excel-communications of data either into NAV or out of NAV
  • RDLC report viewer - provides the ability to present NAV data in a variety of textual and graphic formats, including user interactive capabilities
  • Interface capabilities such as DotNet interoperability and web services - technologies to support interfaces between NAV 2017 and external software products
  • NAV 2017 has standard packages for Power BI, both integrated on the role center as well as dashboards

Artificial Intelligence

A new feature of NAV 2017 is integration with Cortana intelligence, which is used for forecasting. The algorithms used in Artificial Intelligence (AI) can be used to give users extra information to make business decisions.

Relationship Management

NAV's Relationship Management (RM) functionality is definitely the little sister (or, if you prefer, little brother) of the fully featured standalone Microsoft CRM system and the new Dynamics 365 for Sales and Dynamics 365 for Marketing. The big advantage of NAV RM is its tight integration with NAV customer and sales data. With NAV 2016, Microsoft introduced a new way of integrating with CRM using OData.

Also falling under the heading of the customer relationship module is the NAV Service Management (SM) functionality. While the RM component shows up in the menu as part of sales and marketing, the SM component is identified as an independent function in the menu structure:

  • Relationship management:
    • Marketing campaigns - plan and manage promotions
    • Customer activity tracking - analyze customer orders
    • To do lists - manage what is to be done and track what has been done
  • Service management:
    • Service contracts - support service operations
    • Labor and part consumption tracking - track the resources consumed by the service business
    • Planning and dispatching - managing service calls

Human resource management

NAV Human Resources is a very small module, but it relates to a critical component of the business, employees. Basic employee data can be stored and reported via the master table (in fact, one can use human resources (HR) to manage data about individual contractors in addition to employees). A wide variety of individual employee attributes can be tracked by the use of dimensions fields:

  • Employee tracking - maintain basic employee description data
  • Skills inventory - inventory of the capabilities of employees
  • Absence tracking - maintain basic attendance information
  • Employee statistics - tracking government required employee attribute data such as age, gender, length of service

Project management

The NAV project management module consists of the jobs functionality supported by the resources functionality. Projects can be short or long term. They can be external (in other words - billable) or internal. This module is often used by third parties as the base for vertical market add-ons (such as construction or job oriented manufacturing). This application area includes parts or all of the following functions:

  • Budgeting and cost tracking - managing project finances
  • Scheduling - planning project activities
  • Resource requirements and usage tracking - managing people and equipment
  • Project accounting - tracking the results