Part 5: Companies and Per Company or Per Database Tables in Dynamics NAV

Within each database you have as many companies as you want to create. Each company set of data is separate so you may have two or more trading companies and then a group consolidation company.

Alternatively it’s usual to sometimes have a ‘training’ company, which is a copy of your trading company at a point in time, for you to test and train on without risking the integrity of you live accounts. There is a function within Microsoft Dynamics NAV now to create a new company and copy all of the data from an existing company into it. Beware of using this in the working day though as if you have a decent amount of data it can take a while and will have a performance impact.

The data for each of these companies  is stored in its own set of tables in that same database and in fact each table name at the SQL level – start with the company name so for instance CRONUS_UK_LTD$Customer would be the name of the customer table for the Cronus UK Company.  While having the tables split like this makes reporting across companies much harder, it does mean that if you have multiple companies the users in one set don’t impact the perforce of users in another.

Each Dynamics NAV licence you have allows you to have one database with as many companies as you want, although in the past some very old modular licences made you buy per company unless you purchased unlimited companies granule. Thankfully Microsoft did away with that idiocy when they introduced business ready licences in I seem to remember, 2004.

Although you can have only one database, the licence agreement does allow you to have a second database for non-production testing purposes during, for instance, upgrading. It cannot be used for trading companies however.

Per Company or Per Database Tables

Having said in my previous post on Companies that all the tables in a company have their own independent tables, that not strictly true. There are as standard in every Dynamics NAV database a few that are per database, rather than per company.

Per-company-or-per-database-tables

The standard ones are the user and permission set tables as well as the company table that holds the list of companies in the database. If you think about it it’s logical that these cannot be per company, as they hold information about the different companies themselves so that a user can be restricted to a particular company for instance.

What you should understand is that whether a table is per database (and therefore holds the same data in every company in that database) or per company it is a property that can be changed on that table.

Changing some standard tables to be per database can make data management much simpler -especially for a group of companies where you want consistent values in every company. Examples of where this works for me are Dimensions and Dimension Values, Payment Terms, Payment Methods, Currencies and currency rates plus item categories and product groups.

There are many tables which it’s not safe to do this on however, and my rule is, that any table that has a flow field should NOT be changed to per database. The classic one we are asked for is the Item table so that you only have to setup the item once for every group company to be able to use it. Trouble is which companies item ledger entry table does the Inventory field look at if it is per database and which companies transactions (or all of them?) does it use, to calculate the cost?

Dynamics-nav-table-designer

It’s only useful for static parameter type data, and as that rarely changes, is it worth changing from standard? That’s especially true when those tables can be cut and pasted from one company to the next.

So useful to know that you can, important to know where you shouldn’t, legitimate to consider especially for custom tables with no flow fields.

Note

This post is part of a 6-part series. A link to all the posts in this series are below;

Author: James Crowter

I’m passionate about how businesses can improve their efficiency by getting process optimal more of the time. For the last twenty five years I’ve worked to help organisations of all sizes and types implement the ERP & CRM software that typically they decide they need when things are going wrong. I’ve seen that work unbelievably well and enabled those organisations to rapidly grow but I’ve also had some hard projects over that time where it’s felt more like warfare at times. Since 1996 (and version 1.01) I’ve been working with a small Danish product called Navision that’s now become Microsoft’s Dynamics NAV and I’ve also been using and consulting around Microsoft CRM since 2005. As managing Director of one of the longest established first Navision and now Microsoft Dynamics partners I’ve been involved in the complete history including numerous product councils and system design reviews. It’s my privilege to know many of the key Microsoft executives and product designers and have insight into both where the products are now and their future direction. So colleagues & clients have asked me to start this blog to share some of the insight that both this knowledge (obviously where not restricted by NDA’s or client confidentiality) and experience can help. Specifically I want to concentrate not on the specifics of how (there are some great blogs already for that) but why. If any user helps their business make better decisions or consultant can give better advice then that will be objective achieved. I founded Technology Management in 1992 and have led from the front ever since. Helping clients use technology to grow their business is my passion through explaining technology in terms that everyone can understand. My interest in computing began at the age of eight, long before my school had the equipment to cope. Throughout school and university I developed software commercially. I hold many IT certifications, such as Microsoft Dynamics NAV (for over 17 years), Microsoft Dynamics CRM (for over 10 years), as well as Microsoft Windows Server, Exchange and SQL. In October 2015, I was awarded the title of Most Valuable Professional (MVP), a title given to a select few individuals (31 currently) across the world specifically for Dynamics NAV. After years of working with a range of distribution and manufacturing software for hundreds of organisations, I focus on understanding the business requirements of an organisation, what it will take to deliver the systems required to maximise their potential. Follow me online via my other social channels: - Twitter: @jamescrowter - LinkedIn: linkedin.com/in/jamescrowter Or email me directly at james[.]crowter[@]tecman.co.uk.

Leave a Reply

Your email address will not be published. Required fields are marked *