View source | Discuss this page | Page history | Printable version   
Main Page
Upload file
What links here
Recent changes

PDF Books
Add page
Show collection (0 pages)
Collections help


How to Add a Table or Column to a Store Server Solution

Bulbgraph.png   This feature is available starting from 16Q2. For using this feature in 16Q1, see here.



When developing for a multi-server environment it is important to take some extra things into account. This document focuses on adding tables/columns which are used in a store and central server environment.

When you new tables/columns in your module (for a multi-server environment) you need to validate several things:

In general the following statements can be made:

  1. master data should be present when creating a store server
  2. master data is maintained centrally and should be replicated from central to the store server at runtime when it is changed centrally
  3. transactional data should be present when creating a store server
  4. transactional data should be replicated from store to central and vice versa at runtime

For replication complex transactional data from store <--> central you can also use a messaging approach as described in this howto. Or to let transaction processing go through/use the Import Entry processing logic.

This page discusses the replication approach.

Creating a table/column

The first step, the creation of the table/column is the same as for non-store server environments. So in your module add the table/column to the database schema and then define it in the Openbravo application dictionary.

The next step is to tell the synchronization engine that the table's content should be present when creating a store server and/or needs to be synced from central to store server at runtime.

Store Server Creation - Store Server DataSet

When adding new tables to your solution you need to validate if the data in these tables needs to be present when creating a store server. If so then your new table needs to be present in the store server dataset.

After adding your table to the store server dataset you need to validate if there are no (non-)mandatory references from your table to other tables which also need to be part of the initial store server creation.

Adding your table to the Store Server Creation DataSet

The first step is to add your table to the store server creation dataset:



Then next validate the store server dataset.

Validating the Store Server DataSet

To validate the store server creation dataset with your new table you select the store server dataset in the dataset window and then click the validate button in the top. Note, this button is only visible for the store server dataset.


The result of the validation is shown in the popup window. Note: there maybe several results use the scrollbar to scroll down in the popup window.

The validation checks in so-called strict mode, this means that also non-mandatory references are checked.

The validation does 2 types of checks:

There are 3 approaches to look at the WARN messages:

Excluding columns from store server creation

If the validation showed that some columns reference non-included tables then you can exclude these non-mandatory columns from initial store server creation. This needs to be a conscience decision.

To exclude a column from initial store server creation use the 'column' subtab.


Synchronizing data from central to store

To synchronize a table from central to a store server (after creating the store server) it needs to be added to the list of Synchronized tables.

The configuration of the tables to be synchronized is done in the Synchronized Table, available using the System Administrator role.


Configuration Options

Validate Synced Tables

After adding your table to the synced tables then you can validate the total set by selecting one of the synced tables and then selecting the validate button.



Most tables which are in the store server creation dataset should also be defined as a synchronized table and vice versa. This because if the data is needed when creating a store server it should probably also be updated when it changes in the central server. The same applies mostly also vice versa: a synchronized table should often be also present/filled when creating the store. Therefore the synchronized table validation also checks if there are tables which are not defined in the store server creation dataset or vice versa.


The screenshot above gives a good example of table which is not present in the store server creation dataset: an error table. Often log tables do not need to be filled when creating a server, but it makes sense to synchronize them at runtime. Therefore when validating the synchronized tables these will show up here.

Validate Dataset and Synced Tables

In addition to the validate option within the synced tables/dataset windows you can also validate directly from a process: 'Synced Tables and Datasets Validation'. When you open this process from quick launch the following popup opens:


After clicking ok the results are shown. Note that to view all the results you possibly need to scroll down in the popup.


Note the output is the same as for when validating the dataset. So warnings and information can be handled in the same way.

Retrieved from ""

This page has been accessed 2,675 times. This page was last modified on 4 December 2016, at 22:17. Content is available under Creative Commons Attribution-ShareAlike 2.5 Spain License.