Skip to main content

Explore Metadata, User Code & User AL Code of Dynamics NAV Virtual Tables

  Dynamics NAV has System or Virtual tables, which is not visible in Object Explorer. Object ID range starting from 2000000001..2000000200 and Object Type as Table.

What is Virtual Tables?
  "A virtual table contains system information. You cannot change the data in virtual tables. You can only read the information. Virtual tables are not stored in the database but are computed by Microsoft Dynamics NAV at run time. Because virtual tables are not stored in the database, you cannot view them directly. To view a virtual table, you must create a list page based on the virtual table."


List of Virtual Tables in Dynamics NAV 2016

Object Type
Object ID Name
Table 2000000001 Object
Table 2000000004 Permission Set
Table 2000000005 Permission
Table 2000000006 Company
Table 2000000007 Date
Table 2000000009 Session
Table 2000000020 Drive
Table 2000000022 File
Table 2000000026 Integer
Table 2000000028 Table Information
Table 2000000029 System Object
Table 2000000038 AllObj
Table 2000000039 Printer
Table 2000000040 License Information
Table 2000000041 Field
Table 2000000043 License Permission
Table 2000000044 Permission Range
Table 2000000045 Windows Language
Table 2000000048 Database
Table 2000000049 Code Coverage
Table 2000000053 Access Control
Table 2000000055 SID - Account ID
Table 2000000058 AllObjWithCaption
Table 2000000063 Key
Table 2000000065 Send-To Program
Table 2000000066 Style Sheet
Table 2000000067 User Default Style Sheet
Table 2000000068 Record Link
Table 2000000069 Add-in
Table 2000000071 Object Metadata
Table 2000000072 Profile
Table 2000000073 User Personalization
Table 2000000074 Profile Metadata
Table 2000000075 User Metadata
Table 2000000076 Web Service
Table 2000000078 Chart
Table 2000000079 Object Tracking
Table 2000000080 Page Data Personalization
Table 2000000100 Debugger Breakpoint
Table 2000000101 Debugger Call Stack
Table 2000000102 Debugger Variable
Table 2000000103 Debugger Watch Value
Table 2000000104 Debugger Watch
Table 2000000110 Active Session
Table 2000000111 Session Event
Table 2000000112 Server Instance
Table 2000000114 Document Service
Table 2000000120 User
Table 2000000121 User Property
Table 2000000130 Device
Table 2000000135 Table Synch. Setup
Table 2000000136 Table Metadata
Table 2000000137 CodeUnit Metadata
Table 2000000138 Page Metadata
Table 2000000139 Report Metadata
Table 2000000140 Event Subscription
Table 2000000141 Table Relations Metadata
Table 2000000150 NAV App Object Metadata
Table 2000000151 NAV App Tenant App
Table 2000000152 NAV App Data Archive
Table 2000000153 NAV App Installed App
Table 2000000159 Data Sensitivity
Table 2000000160 NAV App
Table 2000000161 NAV App Dependencies
Table 2000000162 NAV App Capabilities
Table 2000000163 NAV App Object Prerequisites
Table 2000000164 Time Zone
Table 2000000165 Tenant Permission Set
Table 2000000166 Tenant Permission
Table 2000000167 Aggregate Permission Set


  In this blog, we will explore more about these virtual tables from Object Metadata.
Object Metadata (Itself a virtual table) has 3 fields for each object, Metadata, User Code & User AL Code. These fields store information in Blob datatype. Metadata is object definition in xml format, User Code is application code written in C# .Net format and User AL Code store codes which we write in C/AL editor (Developer Environment’s Object Designer).

  I have created 2 pages to extract these informations. My Object Metadata Page [Page 50068] shows all the list of objects including virtual tables. When you DrillDown Metadata, User Code and User AL Code field on page, Blob View Page [Page 50069] will open and show code stored in that field. On Blob View Page there is an Action Button Open as File,  which will open the output text as file. I set filter on Object Metadata Page to view Virtual tables only, but you can remove this filter to view all the objects.







Page source code download link here:

Comments

Post a Comment

Please let me know about your thought on this:

Popular posts from this blog

C/AL Code support in Notepad++

C/AL Code support in Notepad++ Normally NAV object (.txt file) open as plain text in Notepad++ without no keyword highlighting as below. Which completely different from our native Developer Environment thus this editor is not friendly for code readability. But with importing a user defined C/AL language or UDL file in Notepad++, C/AL codes can be supported as other build-in support languages like Java or C#. Same file opened in Notepad++ after importing the UDL file. Now keywords are highlighted in multiple colours which is customizable.

How to use Code Coverage effectively: Part 1/2

:: Optimizing  Code Coverage Page  ::    As a Dynamics NAV developer, we all are fa miliar with this veteran tool for code tracking, The Code Coverage. This tool is very different from debugging as we don’t halt the transaction or process with breakpoints. It simply track all the codes executed during its capturing process from start to stop. It tracks all the code lines and count the line hit during the execution.    In Dynamics NAV previous versions like 2009 SP1 & 2009 R2 it was a great tool for developers to fix calculation issues which doesn't cause runtime error, Third party tool integrations or Tracking codes for developing new functionality in a module.    It feels gloomy to realize how this tool has lost its usability in recent versions. Recently I encountered G/L CONSISTENCY error in a transaction which is nothing but a calculation traggic in one of G/L entry. I tried debugger but unfortunately it didn’t work for me. Then I recalled, our this old friend bu

How to use Code Coverage effectively: Part 2/2

:: Customizing Code Coverage ::    Before beginning this session, if you are new to code coverage, let's have a quick overview. What is Code Coverage?    Code coverage is the means of being able to track which part of the application code has been exercised during an activity. In Microsoft Dynamics NAV, code coverage is recorded by C/AL code line and specifies if a code line was exercised by the activity and the number of times the line of code was executed . How to open Code Coverage?    path: /Departments/Administration/Application Tools    click here open  Code Coverage  directly. How to Start Code Coverage Monitoring?     Before beginning your process open Code Coverage window and click Start. " This starts the code coverage engine, and code coverage is captured. However, you will not be able to see any updated information until you choose Refresh or Stop . The information contains coverage of objects, triggers and functions, and individual lines o

.al file preview in Windows Explorer preview pane

D on’t like to wait for Visual Studio Code to boot up when you’re looking for a specific .al file? With this trick, you can preview .al files in Windows 10 without opening. .  .. What is File Explorer Preview Pane? First, let's check out the preview pane in File Explorer.  Open File Explorer.  Click on the View tab and then select Preview pane.  Click on a file you wish to view, such as a Word document, Excel sheet, PowerPoint presentation, PDF, or image. The file appears in the preview pane. Increase or decrease the size or width of the file by dragging the separation bar left or right. Modification required to Preview .al file in File Explorer Open Windows Registry Editor (regedit).  Find  Computer\HKEY_CLASSES_ROOT\.al Add New String Value (Right click), Name :  PerceivedType , Value data : text or Download this .reg file and double click to Merge it.  (link below) Download If prompted, click/tap on  Run ,  Yes  ( UAC ),  Yes , and  OK  to ap