Hi!
In the post I will demonstrate use of Advanced DSO (aDSO) with Snapshot Support Option enabled. There is a description of
Snapshot Option from documentation.
If your DataSource only allows full update, you can use the Snapshot Support flag to make sure that deleted requests are still updated. Upon activation, the system recognizes records that are in the active table but not in the load request. These are written to the change log as reverse images.
Make sure that all records are contained during every load, as data could otherwise be lost.
For demo I am using BW/4 SP04 system. This option was not appeared in BW/4, it was available is NW BW 7.5 already.
Demo Scenario
I am going to demonstrate functionality of this options.
For this purpose I created my own table similar to HR Personal Actions table (
PA0001).
I created also:
- Generic DataSource based the table
- Advanced DSO with the same structure based on fields
- Transformation (1:1) and DTP (with FULL) for data provisioning
Demo Functionality
1.Create demo records in HR
Actions table, execute DTP, activate data and check aDSO tables.
2. Change records in HR Action table, execute DTP, activate data and check aDSO tables.
Snapshot Option functionality is working fine:
- Active Table contain last snapshot data
- Change Log Table contain both type of records:
- reverse for deleted records (R)
- before image(X) and after image (' ') for changed records.
Performance Test
1.HR Actions table was refilled with new dataset, that had about 1 Million number of records.
Initially we had 10 employees with 1 action each at 01.01.2010. Then I created and appended from this initial 10 records by increasing calendar day in future 1 Million records.
2. Data was loaded and activated.
3. Data in HR Action table changed, each 31.12.YYYY action was deleted.
4. Changed Data was loaded and activated.
5. All requests was activated successfully.
6. Loading process and activation process each performed in 3 sec. Seems for me normal result at test system.
7. Change log had 2700 records for second request with record mode 'R'.
Summary
In the post I demonstrated functional and performance part of aDSO Snapshot options.
I have to say one word about use-cases:
- If you have only full option to load data, you could use this option and don't case anymore about deleted records in source system.
- I think it is better then full deletion and reloading of BW Models, because it could make a delta records for up-flow BW Models.
Thank you for attention!