cancel
Showing results for 
Search instead for 
Did you mean: 

Delta between two DSO's

Former Member
0 Kudos

Hello,

Can somebody explain to me how the delta mechanism between two DSO works?

1) If data is loaded from changelog of DSO 1 to DSO 2, are only the records with recordmode " " sent to the activation queue of DSO 2, or also the before images "X"?

2) The difference between ADD and OVERWRITE update type for KF, not the result of it (because that's obvious), but what actually happens in DSO tables? Does this setting determine which recordmode records are sent from changle log to activation queue of target DSO?

3) What happens if DSO 1 has more KF than DSO 2, so the data is being aggregated, are there some settings needed to be made in order to make delta work correctly?

3.a) At what point is data being aggregated, before or after activation of DSO?

I have read a lot of documents and spent much time on SDN and did not find an answer.

I hope you kan help me. I have the problem where the second load between two DSO causes some fields (characteristics) in target DSO to be empty/blank (like 0CALMONTH), even they were loaded fine with the "initial" load.

But I'm also keen to totally understand the delta mechanism between DSO's.

An example would be really good to see how those things work!

Kind regards,

Danijela

Edited by: Danijela Gorsic on Dec 15, 2010 4:14 PM

Accepted Solutions (1)

Accepted Solutions (1)

former_member188011
Active Contributor
0 Kudos

Hi Danijela:

Please note that a similar question has been posted recently here on SCN.

"Delta mechanism between two DSO (not between Datasource and DSO)"

/message/9812325#9812325

If the SAP Notes and articles mentioned in this thread plus all the documents that you've read before don't clarify all your doubts I think you'll need to give us more details on your particular scenario (e.g. the settings on the DTP, the Technical Name of the DataSource, a sample of Source Data, a sample of Target Data, Keys and Data Fields on the DSOs, etc.) to provide you more appropriate suggestions.

Regards,

Francisco Milán.

Former Member
0 Kudos

Hi Francisco,

Thank you for your answer, but I've read this thread before I posted my question. The most discussions there consider an explanation of record mode sent by a datasource.

But in my case, I'm loading data to DSO 2 in transformation layer from DSO 1 also in transformation layer but part of another dataflow (and which is being loaded from another DSO in acquisition layer and not a datasource).

I made no special settings, no routines, so it's standard BW. Update type for KF is Addition, and data is loaded form Changelog of DSO 1 (standard setting) So my questions are general, and do not concern manipulations in routines.

The only issue is that DSO 2 has less key fields so data coming from DSO 1 is being aggregated in DSO 2.

For examle blog /people/swapna.gollakota/blog/2007/12/27/how-does-a-datasource-communicates-delta-with-bw is great and provides a clear explanation on how different delta's of a datasource work, and I'm curious if there is some documentation like this that explains delta between DSO's in detail.

Thank you.

Regards,

Danijela

former_member188011
Active Contributor
0 Kudos

Hi Danijela:

The SAP Note 1133282 - "Initialized fields in the data part of a DataStore object" describes exactly the same behaviour you observe in your dataflow, it even includes a diagram with an example.

Is the scenario described in that Note different from yours? If yes, Could you please mention the differences and provide a sample of your source data and target data? (it could be fake data, it is just for the sake of a better understanding).

Regards,

Francisco Milán.

Answers (1)

Answers (1)

Former Member
0 Kudos

Hi Danijela,

1)The change log shows everything which has happened to the active table. So when the delta is loaded the before image records are sent to the active table first, followed by the after-image (assuming update mode ABR).

What you are seeing in the active table is the last image to be written for a record.

2)Again here check the difference between the changelog and the Active table. Don't be fooled into thinking that because the rule type is set to sumation (additive) that this changes the Delta type (to a single additive record) For example..

Cubes are an addative load..but what actually happens when a delta is loaded from is we get the before image which negates the original value, then an after record. The same happens with our DSO, you will see the after image in the DSO changelog with the final aggregated value for the key figure - this is what is writtten to the active table last)..

Therefore from change log you can see the delta is aggreated prior t oactivation.

Thanks,

richard

Former Member
0 Kudos

Hi Richard,

Thank you for your reply!

1) "So when the delta is loaded the before image records are sent to the active table first, followed by the after-image (assuming update mode ABR)" Correct me if I'm wrong but I think the data is loaded first to the activation queue, and upon the activation the records form activation queue are sent to change log and active table.

What was difficult for my to understand is the following. I changed a record in the source, so when loading data from DSO 1 to DSO 2, two records are sent from the changelog of DSO 1 to the activation queue of DSO 2, like it suppose to work: one before and one after immage. And, that when I look at the activation queue of the target DSO, prior to the activation, I see those two records, completely identical to those in the changelog of source DSO, but recordmode is empty!!! So, can I assume that this is standard SAP?

2) Clear, thank you!

Regards Danijela

ssurampally
Active Contributor
0 Kudos

1) If data is loaded from changelog of DSO 1 to DSO 2, are only the records with recordmode " " sent to the activation queue of DSO 2, or also the before images "X"?

firstly, when you load delta dtp, data transfers from Change log table. if it is full it would be from source DSO active table.

All the requests in source DSO will have corresponding activation requests which are generated when data is activated. After activation data is stored in change log table with before and after images if any changes. these before and after records will be part of that particular activation request id.

so when you run delta from DSO1 to DSO2, the requests which are not updated from source to target will be updated to DSO2. During update the data in activation requests will be going to DSO2 irrespective of the record modes(images).

As you confirmed, when you see activation queue first you will see the before image and next after image record in DSO2.

2) The difference between ADD and OVERWRITE update type for KF, not the result of it (because that's obvious), but what actually happens in DSO tables? Does this setting determine which recordmode records are sent from changle log to activation queue of target DSO?

Ex: datasource doc - 10001 Netvalue - 2000

if you load this to DSO1, DSO1 data doc - 10001 Net val -2000

let us say netval is changed to 1500, if the keyfigure update is Overwrite,

then Active table Doc - 10001 netval - 1500

Change log - Doc 10001 net val - -2000 - before image

Doc 10001 net val 1500 - After image

if the key figure update is Summation,

Active table doc - 10001 net val - 3500

Change log - doc 10001 net val - -2000 - before image

doc 10001 net val - 3500 after image

by above example you must understand.

3) What happens if DSO 1 has more KF than DSO 2, so the data is being aggregated, are there some settings needed to be made in order to make delta work correctly?

yes data is aggregated according the target key fields.

3.a) At what point is data being aggregated, before or after activation of DSO?

before activation, while loading to DSO2 it selt it will be aggregated.

Former Member
0 Kudos

Sreekanth, thank you for the explanation!!

To be sure:

1) "so when you run delta from DSO1 to DSO2, the requests which are not updated from source to target will be updated to DSO2. During update the data in activation requests will be going to DSO2 irrespective of the record modes(images)."

I do not understand this for 100%, please correct me. When loading delta from DSO 1 to DSO 2, data is being loaded from changelog DSO 1 to activation queue DSO 2. And I did confirm that in activation queue I see before and after images, but the field recordemode is empty, which indicates before and after images!? So I can only guess that records sent from changelog DSO1 to activation queue DSO 2 are before and after images

2) One question;

Record in the active table doc - 10001 Net val -2000 will be overwritten by a new record, dependent on update mode for KF

Doc - 10001 netval - 1500 (Overwrite)

OR

Doc - 10001 net val - 3500 (Summation)

Thank you for this example.

Kind regards Danijela