Dynamics AX
  RSS Feed  LinkedIn  Twitter

Friday, January 13, 2006

Virtual Companies

Something that is of much discussion during a new AX setup is Virtual Companies, and Virtual Company tables.

Virtual companies may be a little mis-leading in the name, but once you better understand the concept the name make a little more sense. You see with virtual companies, you can share data, table(s), etc. between company accounts that live within your AX environment. For example where I currently am, we have 3 company locations, and we just added a fourth. Becuase we thought out the virtual company setup process, we were able to share: Items, Base data like Zips, etc., and Even General Ledger (Because the company post taxes as a single entity)

Sharing this data made it possible for easy setup of new companies, which all worked off of the same ledgers and same item base. Now you might be asking yourself how do you share tables / data? Well once you created your Virtual companies (Administration > Setup > Virtual Company Accounts) then you can take and create new table collection(s). From here you can add the tables you would like to share between all your given companies. Once that is done, then you can go back to the Virtual company accounts screen, and select for the given virtual company what table collections belong to it. Once that is done, then you can share that given data.

I must say here now, that you must be very careful when selecting tables to share. Certain tables were not meant to be shared, so really investigate the tables, and get every table that is part of the given "area or module" you wish to share. It is also important to note that any data entered into a table that is later shared will disappear. The trick is go to the given table through SQL enterprise Manager, and update the DataAreaId to the given 3 character value that is the idenity of your Virutal Company. Once you do that, then come back into AX and syncronize those tables. The table will appear back and ready to be used, through a shared view.

I could go further into virtual companies, and I will in the future but I think that's enough for now. As always if anyone has any specific questions please let me know by using the comments below!

Find a job at: www.DynamicsAXJobs.com

17 Comments:

Anonymous Phil said...

If the tables you share are already active and contain data - these will be lost. So back-up the tables you want to share first and then re-import them once the sharing is done.

Where this will not work however is where there is a link based on recid (eg Chart of Accounts totals) as the new records will have a different recid.

11:47 PM  
Blogger brandon said...

Actually to make a point here. Say you have TableA, and 3 different companies.

You start using TableA, non shared, and then realized that after one full month of data you want it shared.

The data Would NOT be lost. If you go into TableA through Enterprise Manager you will see that the data is there. In order to make the data appear again in AX all you have to do is:

(1) Update TableA DataAreaId to the Virtual Company 3 character id, for the data in which you want to appear back.

(2) Synchronize the table from within the AX AOT.

That's it! It's that simple, and now Data Will Appear, your old data will that is.

7:11 AM  
Blogger Yves Giguère said...

We are in the process of implementing Axapta. We have one legal company but two separate manufacturing plants. We are looking at the possibility of have one company per plant with a virtual company sharing some tables such as vendors, chart of accounts and others.

My specific question is regarding the GL. Is there any problem to share the chart of accounts and the GL transactions. I heard it is not recommended to share transaction tables.

Thanks

1:04 PM  
Anonymous Hando said...

The same questions here:
- is there a performance penalty to be expected when sharing transaction tables (InventTrans, LedgerTrans, etc.)?
- which tables belong together (is there a list somewhere or some certain rules to determine this) if we would like to virtualize ledger postings for five separate locations of one legal entity?

Thanks,
Hando

9:16 AM  
Anonymous gl00mie said...

In my humble experience the use of shared tables brings more problems then benefits. For instance, if you want to "setup new companies, which all worked off of the same ledgers and same item base", consider this: you have to be very careful when choosing tables to share. Do you have the same mandatory dimension values in your ledger table accounts setup in all your companies? Do you have the same financial periods, same system accounts?
Besides, if you share not all the tables necessary to run a specific task (f.e. create a new inventory item), then this "sharing" woun't work. If you share InventTable, create a new item in one company - you woun't see it in the other companies! At least you also need to share InventTableModule and InventItemLocation and probably also InventSize, InventColor, etc. Now think: do you have the same dimgroups, modelgroups, itemgroups in all your companies, the same invent location codes, etc? Do you have the same default item units, locations, price models and standard costs? Here is another aspect of sharing the inventory: do you use external codes for items? If yes then you also need to share InventDimCombination, ExtCodeTable and ExtCodeValueTable! Otherwise you'll have to overload insert()/delete() methods on these tables to replicate new data among your companies that share InventTable and don't share InventDimCombination or ExtCodeValuesTable. But in this case why not just write the same replication code for the other tables or not to write a periodic job that will replicate the data?
Now, do you use data import/export in AX? Ever used it with companies that have some tables shared? Go try it and have fun!..
My conclusion is: if for some reason you want to use virtual companies then share only static data like currency codes, zip codes, address tables, units, etc. - just to keep a single copy of theese data (although writing a job that copies a table from one company to another takes just a few minutes, and DB with shared tables is more complicated to maintain). If you want to share tables with dynamically changing data (f.e. transactions) - think twice! If you want to share financial transactions maybe you just need to setup a few reports instead (they can get data from different companies) or setup a consolidating company?..

6:19 AM  
Anonymous Anonymous said...

can we share data between virtual companies

1:11 AM  
Anonymous Anonymous said...

Is it possible to share data between two virtural companies using AX. Let me know immediately

1:18 AM  
Blogger Nikesh said...

We are in process of implementing axapta. We have two identical companies and would like to share item related information across both the companies.

I would like to have the complete list of tables to be shared for the item master.

Nikesh Shah

5:23 AM  
Blogger mini said...

Hi

I am looking to Merging all locations that are setup in AX separately in one company .Is it possible in axapta?

2:07 AM  
Blogger Jannie said...

Hi everyone

Is it possible for one user to belong to multiple companies?, and if so, how is that set up in DAX?

Thanx

2:24 AM  
Blogger mansoor7 said...

Hello there,

can you please let me know the problem if i share a transaction table like the project quotation table. Why is it recommended to share only master tables and not transaction tables in Dynamics Ax.

7:20 AM  
Anonymous Thahir Ali said...

I have created two company say comp1 and comp2 and both of this company is added to a virtual company. Views dont work in comp1 and comp2 but the same view works in some other company which is not added to virtual company .

please help me out with solution



Thanks and Ragards

Thahir

6:41 AM  
Anonymous Anonymous said...

Arbela Dynamics AX 2009 Master Have you looked at Arbela's Master Data Centralization solution for Financial Accounts (Chart of Accounts), Dimensions with field set-ups, Dimension Sets with rule hierarchies, Financial Statements (including supporting tables), Items (with special treatment for Bills of Materials), Customers, Vendors, and Employees? check it out.. www.arbelatech.com/centralization_for_dynamics_ax.php

large and small companies are using them now.

1:30 PM  
Blogger vamsi said...

If there are a group of 10 companies,and one com A is the default DAT (Master) company and all others are under this company A.now we have created a Virtual Company 1 for Com B,com C,com D and VC2 for com E,com F,com G Com H
I have two questions here,

1.can the master Company A access data of all the other companies ?

2.How can the Company A access the data of all the other companies?

Thanks in advance for your advise.

7:41 AM  
Blogger Alex said...

Brandon,

What are the pros/cons of this vs just setting the "SaveDataPerCompany" property on tables to "No"?

This seems simpler and safer in some cases..

9:50 PM  
Blogger Alex said...

Brandon,

What are the pros/cons of this vs just setting the "SaveDataPerCompany" property on tables to "No"?

This seems simpler and safer in some cases..

9:50 PM  
Blogger Altamash said...

Hi Brandon,

Do you know if we can merge two virtual companies into one????

Like if we have Virtual Company account A and Virtual company account B. Can we we merge these A and B into a new Virtual company C?
If yes then how?

Regards,
Altamash

4:55 PM  

Post a Comment

Links to this post:

Create a Link

<< Home


Copyright 2005-2011, J. Brandon George - All rights Reserved