BO Query Synchronization

By | January 3, 2013

Q: What is Synchronized Query in Business Objects? And how to handle it.

#DATASYNC errors occur when you are working with multiple providers and you try to use unrelated objects from different queries. If you have Car Make and Sales Amount from one query and Year from another and try to build all three in a block, you will get a #DATASYNC error because the Car Make and Year objects are not related. You will also encounter a #CONTEXT error for Sales Amount (because it’s a measure).

This happens when you have a dimension imbalance between the two contexts. 
Whether you avoid it or confront it depends on what you need to do in the report. 

Synchronized queries aren’t all that bad. Think of it as a warning rather than an error.

It just means that you have an incompatible object in the query. So what BO does is run the query for each synchronization and then automatically merges the result before displaying the data. 

if you are using contexts in the universe and that join should exist in that context. 

This type of join is usually caused by the parameter you set in the universe. Check the SQL tab in Parameters under Multiple Paths. Check if the multiple queries for each measure are checked. 
Trying disabling this and see if it makes a difference.

To make query Synchronization work with a table: 

In the table: 
1. Only display dimensions (one or more…) that are synchronized through all queries participating in the table; 

2. Display any measures coming from any query; 

3. But you can use any non-synchronized objects from any query to build a measure that will be displayed in the table… It just has to be Summarizable… 

Anything that is not a number cannot be defined as a measure thus has to be synchronized. 

The basic concept of synchronization is if you want to merge the 
two dimensions they should have of same datatype.it is not mandatory to be have same name. If 2 dimensions with different names but same data type we can comfortably merge them. 
in following case the reason for getting #DATASYNC is 
Query 1 = ID, Number 
Query 2 = ID, Date 
hare first one is number data type, date is other data type. So you’ll get error. 
Try with dimensions with same data type. 

In order for you to get a Join instead of Synchronization, you need to have all the same dimensions available to both contexts.

If synchronization changes the sort of values Crate a new column using the merge dimension itself and do the sort on that.

Leave a Reply

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


*