Link two Companies

Hello navision cracks,

Is it possible to transfer two companies in one?

The companies are in one some structured database. Please help !!!

Hi Alex, Your question does not make sense. What do you mean transfer two companies in one? If you need to consolidate companies you should use Navision consolidation. If you mean something else you must program some functions. But I can say it is possible everything!!! Valentin Gvozdev BMI Inc.


No i dont mean: “If you need to consolidate companies you should use Navision consolidation.”

My problem is: I have one physical Database with two companies, right now i what to make one global Company. A: Company I +B: Company II = Company I +II

How con i do this ? If i have e.g.: In both company the same Nummerseries ???


Hi Alex, To actually merge 2 companies into one is a very complex task, and I would strongly advise against trying. You mention one big problem yourselv, the number series. There is no way you can merge those. And you will find yourself with quite large obstacles, one of them being to get the correct value of your inventory, currency conversion etc. In my humble opinion your best bet is to start a new company, and then use the normal procedures for opening balances etc. Then keep the “old” companies for historical lookup. One other thing that you must take into consideration is the legal implication of merging 2 companies that previously were separate - is this really legal to merge the data “back in time”? Best regards Lars

.: In both company the same Nummerseries ???<<

In some cases it can make sense that all companies within a db share the same data. Such as the currency and currency Exchange Rate tables (T4, T330). If this is all you need, simply set the “DataPerCompany” Property in the table to no.

Before you can do so all tables must be empty. So make sure to save all data with a dataport, delete the entries in all companies for the tables in question, change the property and re-import the data. Note that the DataPerCompany property applies the table contents to all companies.

If you have 5 companies, all will share the same data. It is not possible to share one table only for 2 companies. Merging entry tables such as T17 or T32 is close to “impossible” and doesn’t make sense.


You can create reports using two or more companies using instrucion CHANGECOMPANY. CabVenta.CHANGECOMPANY(‘CRONUS1’); CabVenta2.CHANGECOMPANY(‘CRONUS2’); IF CabVta.FIND(’-’) THEN REPEAT CabVenta2 := CabVenta; if not CabVenta2.INSERT THEN ; UNTIL CabVta.NEXT = 0;

Merging 2 companies is no problem, just a task! Once I merged 7 companies (!) into one. You have to define one or more batches. You are located in the company that the merge is to be made to. Simply read selected data from the other company, record by record; this will take some time, allright, but if that is no problem, that’s no problem! If there are clashes in primary-keys (and there will be!), i.e. GL Entry, you have to make some work: before beginning the merging you have to find the last entry in the to-company; then you have to renumber the primary-key on the entry from the from-company before inserting. Beware applied Customer-entries, Vendor- and Item entries and others. Here you have to i.e. create a table to save the original entryno and the new one. Some work, but it can be done. Good luck.

Hmm, it sounds easy at first glance but it isn’t: Let’s assume that Company 1 can keep the “Entry-No”'s but starting with Company 2 “Entry No.” has to be renamed as you suggest.

Ok: Let’s start with the GL entries: What about the G/L Register who referres to the GL Entries by From/To-Entry? They have to be renamed as well. Not even to mention that Vendor, Customer and VAT entries have to follow the new numbering of GL Entries. And what about the “Closed by Entry No.” fields in the Vendor/Customer entries? To get more complicated take the Item Ledger Entries which are being referenced by Sales shipment line, Sales oreder line, purchase Credit Memo line to name just a few and also have a “Closed By Entry No.”.

Sales order lines refer to Sales shipment lines; Sales Invoice lines to Sales order lines (Blanket). … etc…

Where does that end? I guess the worst would be to find out where one of these have-to-be-renamed fields are being referenced!

This is only theoretically possible. It would at least require extremely good internal knowledge about how fin tables are connected and a lot of time for implementing testing this Batch-job. Therefore I stick with Lars who wrote: “I would strongly advise against trying.”


One problem with setting DataPerCompany=No is that you’re in BIG trouble if the customer ever decides that some of those tables really should be set back to DataPerCompany=Yes. About the only way to do this is to backup each company individually into its own database, set the DPC’s back to Yes, and then restore into a new database. That’s a tedious process at best, and impossible if (as I was at my current job) a “Back Room Bob” who had to rely on personnel who were not Solution Developer-certified to do the actual installation. ------- Tim Horrigan

Alternatively you can use a datport to save the data, empty the table, set DPC=yes and create a codeunit which exceutes the dataport for every company.

If you don’t have too many companies, Cut/Paste of the data will also do the trick.