Hi All,
This post explains how DSO manages change log table to give proper delta records to the Info Provider(DSO/Info Cube) and the importance of orecordmode.
This post explains how DSO manages change log table to give proper delta records to the Info Provider(DSO/Info Cube) and the importance of orecordmode.
DSO has three tables: i) Activation Queue/ New Table
ii) Active
table and
iii) Change Log table
DSO uses Change Log table to Manage Delta Records.
In DSO you can set whether Key Figures should get
Overwrite/Summation based on Key Fields.
Now let’s take an example where today we got one sales order
with quantity 50
111 50
When it gets loaded to the DSO and activated, we will get the
below records in Active Table and Change Log table (there will be no data in
Activation Queue/New Table upon activation)
Active Table:
111 50
Change Log Table
111 50 N (0recordmode - New
Image)
When this record loaded to the cube, it will be as below (Info
Cube is always Additive)
111 50
As this record is loaded to the CUBE, Delta Time stamp for this
source and target will get update in ROOSPRMSC table with all the details.
Now tomorrow we got same sales order with quantity 70. So this
record has to get change in DSO and CUBE. As DSO is overwrite, new value will
get overwrite in place of old value so we will get correct value.
What about CUBE? Cube is always additive so if I load this new
record to CUBE then the quantity will become 120 which is wrong.
This is the place where 0recordmode comes into picture. It
maintains the images for changed and new records so that records will correctly
uploaded to the cube.
Now as the quantity is changed to 70, we will get below records
in active and change log table of DSO upon activation.
Active Table
111 70 (overwrite)
Change Log Table
111 -50 (X -- Before Image)
111 70 (
' ' -- After Image) symbol for after image is 'Space'
So if we load this record to the target as a delta the above two
records from change log table will get loaded to the CUBE.
Now what happens?
111 50
(already Existing)
111 -50
111 70
------------------
111 70
(Which is expected)
Hope this gives you clear idea...
Excellent post thank you
ReplyDelete