This procedure describes how to set up Microsoft Dynamics AX Virtual Company support for the OneStop Reporting products.
1.Create a folder in the file system
Create a folder called Content in the file system. You can choose whether this should be a shared folder which is accessible from all client computers running the OneStop Reporting products or from each user profile if using Terminal Servers.
Create a sub folder in the Content folder and name it Models. See the following example:
2. Create a registry entry
On each client computer or on each user profile if you are using a terminal server, create a registry key with a string value:
XML
HKEY_CURRENT_USER\Software\OneStop Reporting\Settings\ContentFolder
The value should be a path to the folder called Content.
3. Create a CSV-file containing the shared table information
Create a comma separated file (.CSV) using Microsoft Excel. The file defines the shared tables per company in the AX installation. The file must be placed in the previously defined Content/Models-folder, and the name format must be in the format “<AX database name>_VCI.csv”.
The file must have four columns and the content of these should be:
There is a repeatable section per company.
This is an example of the order required for the AX 2012 CSV-file. The filename has to match the company database name exactly: for example in this case “AxDB2012R2_Edison_VCI.csv”.
The table OSR_Repository.dbo.EdisonVirtualTables contains a column that identifies the virtual tables.
You can find partition/recid in the VirtualDataAreaList table, as well as the company name strings (ID and VirtualDataArea columns). See the highlighted row in the example below (CERW, SVC):
How to find the shared tables in AX
The information about shared tables defined in the Virtual Company is stored in the Axapta Object Model. You will have to open the AX AOT for finding this information. Browse to the information in the “Table Collection” node. Here you should find the information about which tables are defined as shared. In AX 2012 you may also be able to find this using SQL.