‘Force Delta’ in BW Dataflows
After publishing my The Diary of a BW 7.3 Ramp-Up project (Part 4), I was asked about the ‘force delta’ process which was recommended by SAP. This process isn’t a new feature at all, it is just another way of getting a delta from a DSO. One should always implement this process in case there are two or more DataSources which should be combined into one Object
using a different key. All datasources have their own delta and all data has to be enhanced by data from the other DataSources. In the target object the most actual data has to be stored.
Here an example:
Field A (Key)
Field B (Key)
Target-DSO or Characteristic:
Field C (Key)
Now you build one DSO (DSO1) for DataSource 1 and another one (DSO2) for Datasource 2. But instead of heaving a flow (transformation) from
both the DSOs to the Target DSO selecting the data of the other DSO in a start-/end/expert routine you create only one flow from one of the
DSOs to the target where you implement the logic. In my example add a keyfigure to DSO2 (I call it ‘force delta’). Additionally
create a flow from DataSource 1 to DSO2, just updating the key and the keyfigure which should be set to addition and a constant value of 1.
This would force a delta from DSO2 to the Target for all affected keys and you need to implement the necessary logic only once in one flow.
That’s basically it. So no big deal, but it really saves some coding.
With this type of flow you achieve a delta going to DSO1 having the most actual data here. Additionally a delta going to DSO2 having the most actual data here also.
And in Addition with each independant delta of one of the DataSources there will be a delta going from DSO2 to the Target DSO so that you also have
the most actual data in your Target.
Here a short picture: