The issue discussed in this wiki page does only occur if the BW system does not contain the correction of note 2165017(2224882 and 2570490 are also recommended).
QPROV: The QueryProvider design does not guarantee a full aggregation of values. If possible, the packages from the database are just passed though to the analytic engine to be processed package by package. Thus, no full aggregation is happening and in case of multiprovider as source of the QueryProvider, there can be multiple records with the same key coming from different part providers. Thus, it is not recommended to update for example target DSO with the 'Overwrite', to get the same results as in the source query 'Summation' is recommended.
The following features can impact the packages and requests created from the Analytic Engine and then being retrieved from BWA/database.
The same problem has been previously documented for the feature virtual key figures/ characteristics for BWA has been described very well in note 1143411 and the basic problem is visible here again.
The following example explains this impact step by step:
Simple example: Number of rows with QPROV based on multiprovider as source of DTP depends on feature ‘Operations in BWA/HANA’ and leads to unexpected aggregation behavior writing to a DSO with ‘Overwrite’
A query is based on a multiprovider with data coming from 2 part providers.
One key combination (NR_MAT = ‘A’) is coming from both providers and thus would get aggregated in the query result.
In RSRT the results are the same even so for one query ‘Operations in BWA/HANA’ is set to 3 (standard) and in the other one to 2 (as in 7.0 per InfoProvider).
Defining a transformation and a DTP on with theses QPROV as source to 2 equally defined DSOs, now shows this interesting behavior, for one DTP 5 records and for the other one 6 records are extracted:
Having a look into the generated data packages and relating this to the original content of the multiprovider does explain this behavior:
When ‘Operations in BWA/HANA’ mode 3 is used, then one access (= one package) to the multiprovider is generated and the already aggregated data is returned to the analytic engine.
Whereas when ‘Operations in BWA/HANA’ mode 2 is used, then one access (= one package) per part provider is generated and non-aggregated records would come back to the analytic engine. These packages are reused for the DTP packaging; in the provided example 2 packages with 1 additional record are returned aggregating with summation would lead to the same result as in the query. However, if the target is an DSO and you have set ‘Overwrite’ the results in the target, can be different from the results in the source query due to this effect.
Thus, be aware, that no full aggregation is happening when working with QueryProvider and always use 'Summation' for achieving the same results in an target DSO as in the source query.