Overview: Microsoft Dynamics Navision Development Environment


Microsoft Dynamics NAV Development Environment is one of the main parts of NAV. All the developers use this for developing new functionalities or to customize the existing functions. The developer can create , modify page, code unit, query, report, etc. We will discuss all of this in detail, below:

Microsoft Dynamics Navision Development Environment has been built up of a manly seven objects, which are:

  • Table
  • Page
  • Report
  • Codeunit
  • Query
  • XMLPort
  • Menusuite


In simple terms,  Table is one type of the two-dimensional containers which has rows and columns. You all are aware about the tables in the SQL Server database. This table is the same as a SQL table. The table is used to store the data. The developer can modify the existing table or create a new table. The table can store any type of data. When you create a table, you have to specify its column with the data type, and as per data type, you can store the data in the table. The table is used to store the data permanently. Whenever you want, you can retrieve the data from the table.


Page is the same as form in a common developer language, which is used to insert the data in the table and also display the data from the table. The Page mainly provides  the client a user interface. There are many types of pages:

  1. List Page
  2. Card Page
  3. Role Center Page
  4. Card Part Page
  5. List Part Page
  6. Confirmation Dialog
  7. Navigate Page
  8. Standard Dialog

As per the client requirement, the developer has to choose the best page which satisfies the client requirement.


Report is generally used to print or display the data from the database. The developer has to design a report as per the requirement. Using report, you can display the data in various formats like list details or display in tabular format etc.

Report is also used for only processing the data in the database and not displaying anything on the user side. This is a call-process-only report.

Using report, you can export and print the data in the various formats like MS Excel, PDF, MS Word etc.

In NAV report, we design using Microsoft RDLC report.

Code unit

Code unit is one type of a code holder (container). The developer can make the code in code unit and he can develop the code, compile the code and also save this code to code unit. The code unit has no user interface. The code unit is not visible to the client. For modifying and creating the code unit, you need a license.

Generally a code unit is a background process for the NAV Application and you can create a function in a code unit and call it from anywhere from the application to make it reusable code.

In the code unit, you can define the functions, local variables, global variables, constants, etc. You have to use C/AL Editor to write or modify the code in the code unit.


Using query, you can make a group of multiple tables and make a single result data base on its relationship. Using query, you can retrieve the data from the database as per the requirement. You can apply the join filtering method in the query. The query also contains aggregate functions like sum, totals, etc. After creating a query, you have to use it in the page or report it to display data to the user.

Query is also used in exporting the data using Web Services and is also used in generating the chart


XMLPort is generally used in exporting and importing data to OR from Microsoft Dynamics Navision database. Using XMP port, you can make a proper data file in XML format, export to the other users in XML port, and you can import any data to NAV database, using an XML file. XMLport is also used in the Web Service for data communication.


Menusuite is used to add the page and report to the menu of NAV. Hence, the user can easily access it. After creating a report or a page, the developer has to put it in the proper section as per its functionality. Microsoft Dynamics Navision has dynamic menu items and you can customize the menu options as per per your requirements.