In case a Virtual Provider requires that data is being reread from the provider at each navigation step, you need to switch off the usage of the so called local cache. As of BW74 you can use the cache mode 'I Cache is Inactive', for BW73 releases you need to proceed as described in note 2017248.
The following simple example should help you to better understand when and why it is necessary to switch off the usage of any cache objects.
The source of an Virtual Provider based on DTP for direct access is an InfoCube with the following content:
Please note that the sum of the key figure 'Billed Quantity' is zero for the costcenter 600. We assume that, in order to reduce the data volume to be processed in the transformation, all data records where the key figure is zero are removed. Henec, if a query has only Costcenter in the drilldown we get the following result
The Costcenter 600 does not appear since the corresponding data record was removed in the routine! If we now add Material to the drilldown the quers result changes to
The Costcenter 600 is still not displayed! This is not the expected query result. If you create a bookmark (this leads to total referesh of the navigation state) the query displays the correct result:
From the OLAP engine perspective it is inconsistent when a provider does not provide records with zeros generated by aggregation. The reason is that the OLAP engine stores the current navigation state (local cache) and the new data (if you add an additional characteristic) then does (in general) not fit to the stored state. Hence it is necessayr in such cases to switch off the local cache (see above!).