Logo
PREGNANCY
Windows XP
Windows Vista
Windows 7
Windows Azure
Windows Server
Windows Phone
 
 
Windows Server

Updating Objects and Virtualization with Dynamics NAV : Objects in NAV

9/8/2011 4:29:07 PM
Each development element in NAV is referred to as an object. There are seven types of objects in NAV.
  • Forms (used only in the Classic client)

  • Pages

  • Tables

  • Code units

  • Data ports

  • XML ports

  • Reports

The user can modify any of these objects provided the license has proper development privileges and object ranges. Based on the business requirements, these objects can be exported, modified, and updated in the system using the import function. The prior versions of NAV did not allow import of objects if the modified range was not included in the user's license. But starting from version 5.1, this restriction is no longer applicable. This implies that the modifications, although not in the license range, can be imported in NAV, the usage of which is still restricted by license ranges.

Updating objects

Updating objects in NAV is quite simple. However, as there is no formal object version management tool or check-in/check-out tool available in NAV, one has to be careful while updating these objects. The changes can be overwritten if two developers work on the same set of objects and update them in NAV at different times. The last update is the one that will overwrite all the preceding updates.

Though some developers have created their own versions of check-in/check-out tools using the NAV development environment, one of the most common ways is to maintain a log that shows the objects that are being used and by which developers. A development team leader or project manager can be the in charge of maintaining this list of objects.

The procedure for updating different objects is very much similar in NAV with the exception of updating tables, where merge and overwrite options are available.

Exporting the objects from NAV

Let's start with exporting the objects from NAV.

The objects can be exported in binary, .fob, or .txt structures. Multiple objects can be selected and can be exported as a single .fob or .txt file and so the naming is crucial while exporting objects. Most developers follow certain naming conventions, the most common practice being to assign a name similar to the requirements or gap ID in the Gap/Fit sheet or the functional requirements document. This way, the users can easily identify what changes the fob or txt file pertains to. Also, it is a good practice to use a short date as suffix in the export name.

For example, the following can be used to name object export files:

"GAP1-1A01-0210.fob"
"DescriptionFieldLengthIncrease-0210.fob"
"GAP-1A01-ver1-0.fob" etc.

Open the object designer of the master DB in the Classic client in NAV. The object designer is not available through the RoleTailored client as of NAV 2009 SP1. The master DB is the one that maintains the final version of all objects modified by different developers. Each developer can have their own versions of development DBs, but eventually all modified objects are updated in the master DB according to the development log.

  1. 1. Select the objects to be modified. We can then modify the objects as per the specifications document. Filters can be used to select different types of objects. It's better to keep all objects in a single .fob or .txt file.

  2. 2. The following screenshot describes the selection and export of various objects:

Once the objects are exported, they can be modified by the developers using their development license. The Project Manager/Development Manager at this point needs to keep a tight control on what objects are checked out by which developers. Some programmers have developed object management tools that help in monitoring the check-out and check-in of objects. If multiple developers work on the same objects, make sure that the changes are merged with the latest version of the import. The next step is to import objects.

Importing a file with modifications

Importing the objects is similar for all objects, with the exception of tables, where a merge option is available in addition to the overwrite and replace option.

Let's take an example of importing a file that has modifications related to a form and a table:

  1. 1. Open the object designer and click on Import.... Point to the .fob file with changed objects. An error message cautioning conflict of objects will appear; click on OK.

  1. 2. Once we click on OK, the system shows the import worksheet with all the objects listed. The conflicts come with a warning sign.

  1. 3. If the object ID doesn't have a conflict in import, the system imports the new objects without warning. However, if the object ID already exists in the system, it gives a warning (shown in the screenshot prior to the preceding one) and opens an import worksheet. The worksheet gives the option to handle each object in a separate line. The fields for each line and object describe details of each object and how it should be handled:

    • Type: The type of the object is one of the eight object types, such as table, form, and so on.

    • No.: The ID of the imported object. The ID identifies the range the object falls under. For example, a custom object using a standard developer license can fall in the 50,000 to 99,999 range. The customer is usually assigned a range in his/her license and is allowed to use customizations only in that range.

    • Name: This field describes the name or description of the object. The name or description should be unique for each object in the system.

    • New Object: This option is automatically checked if this is a new object.

    • New Object Changed: This option is automatically checked if the new object has been marked as changed.

    • Action: This is the field that the user can input to choose how to handle conflicting objects. The options are create, replace, delete, skip, merge (New <- Existing) and merge (Existing <- New). The two merge options are available only in the case of tables.

      • Create: The system creates a new object in the database.

      • Replace: The existing object will be replaced by the new version of the object.

      • Delete: The existing object will be deleted.

      • Skip: This system will skip the import of the object.

      • Merge (Existing<-New): All fields in the existing table will remain and any additional fields from the new object will be added.

      • Merge (New<-Existing): All fields in the new table will be imported and any additional fields in the existing table will be added to the new table.

  2. 4. Another option available is to use the Replace All function that replaces all objects with the new version of objects. This is a commonly used option if the user doesn't want to go through each line and manually change the option for each object. The following screenshot shows the Replace All function to replace all objects:

  1. 5. Once the objects are imported, the system displays a message box with details of how many objects were imported, created, replaced, and so on.

  2. 6. The user is now ready to use the system with the changed objects. The following screenshot shows the message box with details:

Other -----------------
- SQL Server 2005 : SQLCLR Security and Reliability Features (part 3) - Granting Cross-Assembly Privileges
- SQL Server 2005 : SQLCLR Security and Reliability Features (part 2) - Selective Privilege Escalation via Assembly References
- SQL Server 2005 : SQLCLR Security and Reliability Features (part 1) - The Quest for Code Safety
- SQL Server 2005 : Wrapping Code to Promote Cross-Tier Reuse
- SharePoint 2010 Search : Setting Up the Crawler - Crawling Exchange Public Folders & Crawling Line-of-Business Data
- SharePoint 2010 Search : Setting Up the Crawler - Crawling File Shares & Crawling Web Sites
- Migrating to Windows Small Business Server 2011 Standard : Migrating Settings and Data (part 5) - Re-Enabling Folder Redirection
- Migrating to Windows Small Business Server 2011 Standard : Migrating Settings and Data (part 4) - Migrating Users and Groups
- Migrating to Windows Small Business Server 2011 Standard : Migrating Settings and Data (part 3) - Migrate Network Settings & Migrate Exchange Mailboxes and Settings
- Migrating to Windows Small Business Server 2011 Standard : Migrating Settings and Data (part 2) - Configure the Network
- Migrating to Windows Small Business Server 2011 Standard : Migrating Settings and Data (part 1) - Starting the Migration Wizard
- Migrating to Windows Small Business Server 2011 Standard : Creating a Migration Answer File
- Microsoft Dynamics CRM 2011 : Copying Campaign Records & Using Quick Campaigns
- Microsoft Dynamics CRM 2011 : Managing Campaigns and Quick Campaigns - Relating Campaigns & Creating Campaign Templates
- Securing Windows Server 2008 R2 : Security Configuration Wizard & Best Practice Analyzer
- Securing Windows Server 2008 R2 : BitLocker
- Microsoft Dynamics AX 2009 : The MorphX Tools - Cross-Reference Tool
- Microsoft Dynamics AX 2009 : The MorphX Tools - Compare Tool
- Configuring Windows Server 2008 Active Directory : Configuring and Using Active Directory Federation Services
- Configuring Windows Server 2008 Active Directory : Understanding Active Directory Federation Services
 
 
Most view of day
- Windows Server 2003 on HP ProLiant Servers : Logical Structure Design (part 2) - Forest Structure, OU Structure
- SQL Server 2012 : Running SQL Server in A Virtual Environment - AN OVERVIEW OF VIRTUALIZATION
- Developing Disk Images : Creating Image Builds
- Microsoft Visio 2010 : Linking External Data to Shapes (part 1) - Preparing the Data
- Managing Windows 7 : Helping Each Other - Start the Session, Solve The Problem
- SQL server 2008 R2 : Creating and Managing Stored Procedures - Modifying Stored Procedures
- Microsoft Project 2010 : Fine-Tuning Task Details (part 5) - Changing Task Types
- Microsoft Exchange Server 2007 : Leveraging the Capabilities of the Outlook Web Access Client - Understanding OWA Security Features, Tips for OWA Users with Slow Access
- Troubleshooting Hardware and Performance : Dealing with Error Messages, Performing a Clean Boot, Using the System Recovery Options
- Windows Server 2012 : Managing networking using Windows PowerShell (part 2) - Examples of network-administration tasks
Top 10
- Configuring and Troubleshooting IPv6 in Windows Vista (part 4) - Troubleshooting IPv6 Connectivity
- Configuring and Troubleshooting IPv6 in Windows Vista (part 3) - Configuring IPv6 in Windows Vista Using Netsh , Other IPv6 Configuration Tasks
- Configuring and Troubleshooting IPv6 in Windows Vista (part 2) - Configuring IPv6 in Windows Vista Using the User Interface
- Configuring and Troubleshooting IPv6 in Windows Vista (part 1) - Displaying IPv6 Address Settings
- Deploying IPv6 : IPv6 Enhancements in Windows Vista
- Games and Windows 7 : Games for Windows - LIVE (part 2) - Accessing Games for Windows - LIVE from within Compatible Games
- Games and Windows 7 : Games for Windows - LIVE (part 1) - Using the Games for Windows - LIVE Marketplace
- Sharepoint 2013 : Client-side Programming - Working with the REST API (part 3)
- Sharepoint 2013 : Client-side Programming - Working with the REST API (part 2) - Working with the REST API in JavaScript
- Sharepoint 2013 : Client-side Programming - Working with the REST API (part 1) - Understanding REST fundamentals
 
 
Windows XP
Windows Vista
Windows 7
Windows Azure
Windows Server
Windows Phone
2015 Camaro