O'Reilly logo

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

Mastering Microsoft Dynamics NAV 2016

Book Description

The compilation of best skillset to harness Microsoft Dynamics NAV for Administrators, Consultants, and Developers

About This Book

  • Take your skills to the next level with Dynamics NAV by implementing all the latest and advanced features
  • Get a comprehensive coverage of how the NAV system can be implemented and maintained to get the most out of it
  • Get powerful insights into how to integrate Dynamics NAV with third-party tolls and extend its functionality

Who This Book Is For

This book is ideal for administrators, developers, and consultants who are looking to take their knowledge of Dynamics NAV to new heights. You’re expected to have a basic knowledge of Dynamics NAV workflows and C/AL, C/SIDE development.

What You Will Learn

  • Installing the NAV system in different environments
  • Implementing the system with the correct setup
  • Maintaining the system to get the best possible performance
  • Tuning up the Dynamics NAV to get better outcomes
  • The Version Control strategy for Dynamics NAV developers
  • Integrating other software and features to remove limitations
  • Understanding your own system better
  • Being able to solve customers’ problems with “out-of-the-box” features
  • Reducing customization and additional development time

In Detail

The book begins by giving you a brief introduction to setting up your NAV environment and shows you how to install and configure it according to your requirements. You will then dive deep into the latest design patterns, network architecture, and topologies. We will show you how you can integrate NAV with the Microsoft platform, and secure your deployment by managing roles and permissions.

Moving on, we will explain how to monitor and manage server instances using the Administration tool. We’ll discuss how you can take advantage of the expanded extensibility and connectivity capabilities for a tighter integration with the cloud as well as handheld devices. Then, we’ll show you how you can make use of the PowerBI capabilities that have been built into Dynamics NAV.

By the end of the book, you will be confident in developing and administering a Dynamics NAV implementation that will leverage all of the new features.

Style and approach

This book takes a straightforward tutorial approach, providing you with step-by-step explanations and simple example-oriented walkthroughs. It is filled with use cases and situations that show you the different pitfalls you might encounter and how to get past them.

Downloading the example code for this book. You can download the example code files for all Packt books you have purchased from your account at http://www.PacktPub.com. If you purchased this book elsewhere, you can visit http://www.PacktPub.com/support and register to have the code file.

Table of Contents

  1. Mastering Microsoft Dynamics NAV 2016
    1. Mastering Microsoft Dynamics NAV 2016
    2. Credits
    3. About the Author
    4. About the Reviewer
    5. www.PacktPub.com
      1. Why subscribe?
    6. Customer Feedback
    7. Preface
      1. What this book covers
      2. What you need for this book
      3. Who this book is for
      4. Conventions
      5. Reader feedback
      6. Customer support
        1. Downloading the example code
        2. Errata
        3. Piracy
        4. Questions
    8. 1. Microsoft Dynamics NAV Installation
      1. The background- before we start
      2. Architectural components
        1. Three-tiered architecture
        2. NAV Application Server
        3. Multiple configurations
        4. Multitenant environment
        5. Azure (cloud service)
          1. Differences between on-premise and cloud
          2. Microsoft Azure - relevant services
          3. Microsoft Azure Management Portal
        6. Three-service model
          1. Infrastructure as a Service
          2. Platform as a Service
          3. Software as a Service
          4. Difference between on-premise, SaaS, PaaS, and IaaS services
        7. Introduction to the NAV Universal application
        8. Out-of-the-box tools in the Installation DVD
          1. Folder with numbers such as 1029-4105
            1. License.rtf
            2. setupres.dll
            3. devitpro.chm
          2. ADCS
          3. ClickOnce Installer tools
          4. CRM customization
          5. Outlook
          6. Prerequisite components
          7. Role Tailored Client
          8. SQL Demo database
          9. Test toolkit
          10. Upgrade toolkit
          11. Windows PowerShell Scripts
        9. Microsoft SQL Server requirements for Microsoft Dynamics NAV
          1. Data encryption between MS SQL Server and Microsoft Dynamics NAV 2016
          2. Using Azure SQL Database
      3. Microsoft Dynamics NAV PowerShell
        1. Dynamics NAV tools
        2. Where in NAV are we with PowerShell?
        3. Using PowerShell
        4. Getting started with PowerShell
        5. Patterns of scripting
          1. Understanding the PowerShell cmdlets
            1. Commands for server administrators
            2. Commands for implementers for company management
            3. Commands for administrators for upgrades
            4. Commands for administrator for security
            5. Commands for developers
          2. Practice with PowerShell
      4. Installation scenarios
        1. ClickOnce installation
          1. Prerequisite list
          2. High-level steps
          3. Detailed steps
        2. ClickOnce installation using File Share
          1. Prerequisite list
          2. High level steps
          3. Detailed steps
          4. Upgrading the Windows client using ClickOnce
        3. Installing NAV on Azure VM using PowerShell
          1. Prerequisite list
          2. High level steps
          3. Detailed steps
            1. Steps needed to prepare PowerShell commands
        4. Deploying Microsoft Dynamics NAV 2016 database on Azure SQL database
          1. Prerequisite list
          2. Creating a database in Azure
          3. Creating a virtual machine
        5. Installing NAV on a multitenant environment
          1. Prerequisite list
          2. High-level steps
          3. Detailed steps
      5. Post-installation operations
      6. Summary
    9. 2. Upgraded Features and Configuration in Dynamics NAV 2016
      1. Dynamics NAV 2016 Design Patterns
        1. Architectural Design Pattern
        2. Implementation Pattern
        3. Design Pattern
        4. Implementing the Activity Log Pattern
          1. Setting up a change log
          2. Viewing the Change Logs Entries page
      2. Redesigned C/AL Editor
      3. Event channels on Microsoft Dynamics NAV Server events
      4. Multiple namespaces on XMLports
      5. Updating custom report layouts using upgrade codeunits
      6. Finance is an important business domain in Microsoft
        1. Microsoft Dynamics NAV 2016 Reporting enhancements
          1. Benefits for the users
        2. Word forms and e-mail
        3. Microsoft Dynamics NAV 2016 Preview Posting
          1. Benefits of Preview Posting
        4. Microsoft Dynamics NAV 2016 Positive Pay
          1. Benefits of Positive Pay
        5. Microsoft Dynamics NAV 2016 North America document totals
          1. Benefits
          2. Sales order processing
        6. Microsoft Dynamics NAV 2016 Deferrals
          1. Benefits
        7. Microsoft Dynamics NAV 2016 works natively with Azure SQL
          1. Benefits for the user
          2. Cost
          3. Administration
          4. Service -level agreement and compliance
          5. Business continuity
          6. Benefits for partners
          7. Predictable performance and scalability
          8. Setup and admin
          9. Simple migration path
          10. Familiar SQL Server tools and APIs
      7. Understanding Development Environment
        1. Changing the database size
        2. Database schema synchronization
      8. Workflows in Microsoft Dynamics NAV 2016
        1. Introduction to workflow
        2. Setup required before using workflow
          1. SMTP Mail setup
          2. Job queues
          3. Approval User setup
          4. Workflow User Group
          5. Notification Setup
        3. Workflow demo
          1. Setting up the conditions
          2. Testing the workflow
            1. Output of the workflow
      9. Latest features in Microsoft Dynamics NAV 2016
        1. Test automation suites
        2. Universal App on all devices
        3. The Web Client enhancements
        4. Working with Microsoft Dynamics CRM
        5. Working natively with Azure SQL
        6. Extensions
          1. Document management
        7. Workflows
        8. E - Everything
        9. Power BI
        10. Office 365 integration
      10. Strategy and roadmap
      11. Summary
    10. 3. The C/AL and VB Programming
      1. Coding with C/AL
        1. Reusing code
        2. Best programming practice for C/AL code
        3. Multi-language functionality
        4. Activating objects
        5. The Dialog.OPEN function
          1. Example of a progress indicator
        6. Some basic rules
          1. Variables and constants
        7. Avoiding deadlock
          1. Locking orders
          2. Journals
          3. Non-posted lines and headers
          4. Posted lines and headers
          5. Ledger entries and registers
        8. Naming conventions in C/AL
      2. Compiler design
        1. Preprocessor
        2. Compiler
        3. Assembler
        4. Preprocessing into C# code
      3. Triggers
        1. Documentation triggers
        2. Event triggers
        3. Function triggers
      4. Exception handling
        1. Creating a Try function
          1. Phase 1
          2. Phase 2
      5. Microsoft Dynamics NAV Reports
        1. Report design
          1. The request page
          2. The report viewer
        2. Interactive sorting and visibility toggle
      6. Visual Basic programming
        1. Creating variables
        2. Set and Get functions
      7. Decision functions
        1. The IIf() function
        2. The Switch() function
      8. Summary
    11. 4. Testing and Debugging
      1. Software testing lifecycle
      2. Testing in Microsoft Dynamics NAV 2016
        1. Automated testing
      3. Testability framework build in NAV
        1. Handler function
        2. The TestRunner codeunit
      4. Writing your own Test unit
      5. Debugging using Visual Studio Debugger
      6. Summary
    12. 5. Design and Development Considerations
      1. Starting the customization process
      2. Dynamics NAV setup and customization
        1. Convincing the customer
          1. Customization and development
      3. Application lifecycle
        1. Design
          1. The flaws in application design
          2. Design consideration
        2. Development
          1. Some of the specialized functions in C/AL
          2. Database schema synchronisation
          3. Table fundamentals
          4. Conditional table relation
          5. Database schema synchronisation
          6. Page fundamentals
            1. ShowMandatory
            2. UpdatePropagation
            3. Scope
            4. Page controls
            5. Expressions as property values
            6. Control trigger
        3. Object metadata virtual tables
      4. Design and development considerations for Report design
      5. Object designer fundamentals
        1. Team development features
          1. Locking
          2. Unlocking
          3. Force Unlock
          4. Auto-Lock
      6. Physical and logical databases
      7. Considerations while coding
        1. The Try function
        2. The CURRENTCLIENTTYPE function
        3. The DefaultClientType function
      8. Report fundamentals
        1. Grouping and totaling
        2. Saving reports in other formats
      9. Important Report functions
        1. Codeunit
          1. The user of a SingleInstance codeunit
          2. The limitations of codeunit
      10. .NET interoperability
      11. Test posting
      12. Summary
    13. 6. Version Control and Code Management
      1. Version control
      2. GitHub
        1. Setting up GitHub for Dynamics NAV
        2. Preparing an object for the repository
        3. Basic operations in GitHub
      3. Team Foundation Server/Services
        1. TFS setup for Dynamics NAV
      4. Pros and cons of branching
        1. Branching for a big modification project
        2. Branching for small isolated modifications
        3. Branching for mixed type modification
      5. Summary
    14. 7. Tuning Up the NAV System
      1. Tuning up the NAV environment
      2. Optimizing SQL Server performance
        1. Data access
        2. Database information
          1. Collation setting
        3. Database and log files
          1. The relationship between tables
        4. Table keys and performance
        5. Bulk insert
      3. SumIndexfields functionality
      4. Performance tuning in reports
        1. Creating new reports
          1. Dataset considerations
          2. Use of the Temporary table
          3. Number formatting
        2. Looking at layout considerations
          1. Disabling Print Preview
          2. Avoiding conditional visibility
      5. Load testing
      6. Algorithm
        1. Natural things to ask
        2. A framework to analyze the given algorithm
          1. Time complexity
            1. Determining the time complexity of the algorithm
        3. Counting primitive operations
          1. The Big Oh notation
        4. Basic rules for computing asymptotic running time
          1. Rule 1: For loops
          2. Rule 2: Nested loops
          3. Rule 3: Consecutive statements
          4. Rule 4: If/else
      7. Summary
    15. 8. Security in Dynamics NAV 2016
      1. Software design principles
        1. Open design
        2. Least privilege
        3. Complete mediation
        4. Economy of mechanism
        5. Fail-safe defaults
        6. Separation of privilege
        7. Psychological acceptability
      2. Security policy
        1. Security policy goals
          1. Access Control Matrix
        2. Internal organizations
        3. Data classes
          1. Public data
          2. Development data for existing products
          3. Development data for future products
          4. Corporate data
          5. Customer data
        4. User classes
      3. Authentication
        1. Strong password
        2. Defining the password policy
        3. Defining an account lockout policy
        4. Access control
        5. Roles and permissions
        6. Ownership of objects
        7. Inheritance of permissions
        8. User rights
      4. Virus protection
        1. Best practices for virus protection
      5. Network security strategies
        1. Wireless networks
      6. Cryptography and certificates
        1. Certificate authority
        2. Authentication policy for CA
        3. Kinds of certificates
      7. Security updates
      8. SQL Server security settings
      9. AZURE security setting
      10. Summary
    16. 9. Upgrade and Migration
      1. The need for upgrade
      2. Upgrade considerations
      3. Custom object review
      4. Customization upgrade analysis
      5. Business process analysis
      6. Reviewing your dimension structure
      7. Upgrading from older versions
      8. Technical upgrade
      9. The upgrade workflow
        1. Diagnostic phase
        2. Analysis phase
        3. Design phase
        4. Development phase
        5. Deployment and operation phase
      10. Upgrading estimates
        1. Code upgrade
        2. Object transformation
        3. Data upgrade
        4. Testing and implementation
      11. Upgrade tools
        1. Dynamics NAV upgrade toolkits
          1. Data conversion tools
            1. The FOB file
          2. Upgrade guide
        2. Application test toolset
        3. PowerShell cmdlets
          1. Scripts for code upgrade
          2. Script for data upgrade
      12. Summary
    17. 10. Interfacing NAV with Other Applications
      1. Web services
        1. Web service as a reusable unit
        2. Web services in Microsoft Dynamics NAV
        3. The architecture of web services
        4. Publishing a web service
        5. SOAP web services
          1. Basic page operations
          2. Standard set of page operations
          3. Basic codeunit operations
        6. Hiding the function from being published
        7. ODATA web services
          1. Combining multiple datasets
          2. Using ODATA for APIs
        8. Handling UI interaction for web services
          1. Functions not to use
      2. Using external web services in NAV
      3. DotNet interoperability
      4. Open Database Connectivity
      5. Summary
    18. 11. Extending Dynamics NAV 2016
      1. Integration with Power BI
        1. Understanding datasets
        2. Understanding reports
      2. Integration with Jet Express
        1. Configuring the data source from Excel
      3. NAV extensions
        1. Prerequisites
        2. Customization in Dynamics NAV
        3. Creating the NAVX file
        4. Publishing and testing the extension
      4. Summary
    19. 12. The Future of NAV
      1. Dynamics NAV 2017 (10.00)
      2. Microsoft Dynamics 365
        1. Dynamics 365 Enterprise
        2. Dynamics 365 Business
          1. Dynamics 365 for financials
      3. Visual Studio Code (Development Environment)
      4. Dynamics NAV extensions
      5. Summary