How does a generic datasource communicates.docx

Embed Size (px)

Citation preview

How does a datasource communicates "DELTA" with BW?Posted byswapna gollakotainswapna.gollakotaon 27-Dec-2007 10:10:43inShareIs it not interesting to observe the data source behavior which is having delta capability on how it sends the data to BW?If you say yes....Here is the blog which has captured the entire movie on how a data source communicates the deltawith BW.What is Delta?It is a feature of the extractorwhichrefers to the changes(new/modified entries)occured in the sourcesytem.How to identify?In ROOSOURCE table, key in the data source name and check the field "DELTA".If the field is left blank,it implies that the datasource is not delta capable.

The field 0RECORDMODE in BW determines how a record is updated in the delta process.

Now thequestion is how this delta will be brought to BW?Using one of the following ways:ABR: After before and Reverse imageAIE: After imageADD: Additive imageABR: After before and Reverse imageExample: LogisticsWhat is it?Once a new entry was posted or an exiting posting was changed at R/3 side, an after image shows the status after the change, a before image shows the status before the change with a negative sign and the reverse image also shows the negative sign next to the record while indicating it for deletion. This serializes the delta packets.What update type ( for key figures) it supports? Addition OverwriteDoes it support loading to both infocube and ODS (DSO)?YESTechnical name of the delta process:ABRBrief overview:You will find two types of ABR delta processes in RODELTAM table depending on serialization.

ABR with serialization "2" means serialization is required between requests while sending data but not necessarily at data package level. ABR1 with serialization "1" means no serialization.Since it can be used for both infocube and ODS, let's consider a scenario where in theloading happensdirectly to ODS (Advantage: we can track the record changes in change log table)For ODS/DSO, the field ROCANCEL which is part of the data source holds the changes from R/3 side. ROCANCEL serves the same purpose at R/3 side which its counterpart0RECORDMODEdoes at BW side. This field for the Data Source is assigned to the Info Object0RECORDMODEin the BW system.Check the mapping in Transfer rules(applicable to BW 3.5):Note:0STORNO AND 0ROCANCEL both are one and same.In our case, ODS is set to additive mode so that the data source sends both before and after imageIncase if it is set to overwrite, it sends only after imageHow it works?Let's check the new entry in ODS.

Note:I have taken an example of ODS which contains CRM data.Now inthe source sytem, the value of CRM gross weight (CRM_GWEIGH) has been changed to 5360In order to reflect this change, data source will send two entries to BW:One is before image with negative sign to nullify the initial value

And the other one is after image entry (modified value)

Upon activation , the after image goes to active table.

After image delta process:Example: FI-AP/ARWhat update type (for key figures) it supports?Overwrite OnlyDoes it support loading to both infocube and ODS (DSO)?No, only ODS/DSOTechnical name of the delta process: AIEBrief overview:We have after images with (AIM/AIMD) or without delta queue (AIE/AIED) .

Here, serialization is required between requests, because the same key can be transferred a number of times within a request.How it works?Initially the target (ODS) was loaded as shown:

Thevalue of CRM gross weight (CRM_GWEIGH)has been changed to5360 in the source sytem.This time,data source sends only one entry i.e. after image which will hold the change.

The final entry after activation in the active table:

Additive delta process:Example: LIS datasourcesWhat update type( for key figures) it supports?Addition OnlyDoes it support loading to both infocube and ODS (DSO)?YESTechnical name of the delta process: ADDBrief overview:In RODELTAM table,we have two types of additive delta processes: ADD without delta queue and ADDD with delta queue

The extractor provides additive deltas that are serialized on a request basis.This serialization is necessary since the extractor provides each key once in a request, and changes to the non-key fields would otherwise not be transferred correctly.How it works?Check the initial entry in ODS.

The value of CRM gross weight (CRM_GWEIGH) has changed to 5360Here, the data source sends an entry with value 1,267 with + sign.

Upon activation, check the final entry in active table which is the result of (4093+1267=5360) KG

9733ViewsAverage User Rating(22 ratings)My Rating:inShareComments 37Comments Aravinda Ganguri28-Dec-2007 05:15Hi Swapna,

its intresting. I have one simple question.sounds silly,

are we using the 0recordmode in 3.5 version???Like(0) Raj Bharatpur28-Dec-2007 10:40(in response to Aravinda Ganguri)Yes, we have 0RECORDMODE in 3.5.Like(0) Vasu Mullapudi22-Apr-2010 07:08(in response to Raj Bharatpur)Very Useful. I got many of my doubts cleared with this blog. Particularly I wasnt clear how FI extraction uses 0Recordmode until I read this blog.

Thank you very muchLike(0) swapna gollakota28-Dec-2007 17:46(in response to Aravinda Ganguri)Hi Aravinda,

Sorry for the delay in reply.since i was in off i couldn't able to answer you.

the answer is YES,0recordmode is the fundmental requirement to carry on delta.It helps in identifying delta .You can check the different types of it as explained in this blog.Like(1) Sreedhar M28-Dec-2007 22:11Hi Swapna,

Nice blog, i have few doubts, as you mentioned in delta type ABR (After, Before, Reverse) images, in the example you have shown the datasource only sends two records one is after image and the other is before image, then my doubt is where is the reverse image.

The second one is you also mentioned that based on the ODS/ DSO update of key figures like if we set it to overwrite then the datasource will send After image and if we set it to addition it will send after and before image.

if based on the ODS settings the datasource sends the images then whether the datasource is having AIE or ABR the records it will send depend on the ODS settings.

Please clarify.

thanks and regardsSreedharLike(0) swapna gollakota08-Jan-2008 04:51(in response to Sreedhar M)Hi sreedhar,

A1:Reverse image comes into picture when there is a requirement to delete the request.

say, in our case we have the record as shown below:RECORD CRM_SALESORG RECORDMODE CRM_GWEIGHT203 14000420 N 4,093Now in the source sytem the record was deleted,this change will be reflected in BW as shown below.

RECORD CRM_SALESORG RECORDMODE CRM_GWEIGHT203 14000420 R 4,093-

if you observe closely,you will see this is some what resembles before image (observe the negative sign) BUT with record mode "R"

A2:Based on ODS keyfigure update mode(overwrite/addtion) the datsource sends the after/after and before images.This flexibility is only possible if the datasource is ABR capable.

incase of After image,it is mandatory that the ODS update mode should be set to "overwrite"

Hope you are clear..

please post if you have any other query.

Regards,Swapna.GLike(0) Prince Joseph15-Apr-2008 08:32(in response to swapna gollakota)Hi Swapna,

I notice that for certain Master data attributes, there are 2 datasources available. The difference I could notice is that, the Delta process for one would be 'A - ALE Update Pointer (Master Data)' and for the other one, it would be AIMD.

For example, for Business Partner there are 2 datasources.

0UCBU_PART_ATTR - Delta process = A0UCBU_PART_ATTR_2 - Delta process = AIMD.

Since I think that the DS, 0UCBU_PART_ATTR_2 is the more recent version, I activate that. And while doing that I get a warning message saying 'Datasource with Delta process AMID requires a cancellation field.'

What is this message? In your experience, which one would you chose? Are there any implications? Your opinion would be helpful.

Regards,

PrinceLike(0) swapna gollakota18-Apr-2008 02:29(in response to Prince Joseph)Hi Prince,

ususally for masterdata the conventional delta update was ALE

the problem with this delta mode is ,we don't have repeat delta option incase if the delta fails ,here we are forced to do init with data

with AIMD :After Images with Deletion ID Using Delta Queue (e.g. BtB)as the description suggests the delta process uses delta queueand here you need to specify the deletion ID/cancellation field(INVFIELD)as well

check this sap note:If a DataSource implements a delta process that uses several characteristic values, the indicator must be a part of the extract structure and be entered in the DataSource as a cancellation field (ROOSOURCE-INVFIELD).

cheers,Swapna.GLike(0) krishnamurthy g18-Oct-2010 04:30(in response to swapna gollakota)Hi Swapna,

we have one standard table with key PO and Item.created generic data source on this table enabling by generic delta on date (ERDAT) and given lower limit as 2 days.

we are in BI7.0 version.we dont have 0STORNO AND 0ROCANCEL fields available in the data source.

so we are not mapped the 0RECORDMODE.But delta is working fine.

issue is it is not fetching the deleted records.ex: we have one PO(1234) item 1 having key-fig value 50.loaded in to BI DSO.then we deleted this record in R/3.created the same PO(1234) with 3 tiems(2,3,4)keyfig values 10,20 and 20.

when extracted data in BI, DSO showing 4 entries. with key-fig total as 100.

Please suggest if i have to do any settings.

Thanks,KrishnaLike(0) Sekhar raya16-Jan-2008 03:36Hi,

i have a small doubt. i mapped to rocancel 0storno is it wrong or right. we can map either 0storno or 0recordmode.plz give me clarification on this.

my another doubt is when i can use the addition option in ODS setting.Like(0) swapna gollakota17-Jan-2008 04:37(in response to Sekhar raya)Hi,

In the transfer rules you need to map 0record mode with 0STORNO or 0ROCANCEL

as i mentioned in the blog 0STORNO AND 0ROCANCEL both are one and same

A2:you can use the addition option in two cases;

Datasource supports ABR delta type (which you can check in ROOSOURCE) tableDatasource supporting ADD delta typeLike(0) Derya Akcakaya28-Jan-2008 15:27Thanks for the nice info.What does 'U' in rocancel means?Like(0) Anup Kulkarni25-Feb-2008 20:45Hi Swapna,

Please correct me if I am wrong.All the scenarios explained by you above should run perfectly fine even if 0RECORDMODE is not mapped in transfer rules as long as ' ' image comes after 'X' image.Not mapping 0RECORDMODE in transfer rules defaults value ' ' to this field which is nothing but after image.0RECORDMODE is useful only when you want to capture deletion. For example, an 'R' image is not followed by a ' ' image in data source. In such scenario, if 0RECORDMODE is not mapped, ODS with Overwrite setting overwrites NEGATIVE 'R' value in its existing record which is wrong result.

So can I conclude that mapping 0RECORDMODE in transfer rules is useful only for ODS with OVERWRITE setting and only when data source is sending 'R' and 'D' images as well.

Are there any other scenarios where it is useful?

Thanks,AnupLike(0) swapna gollakota28-Feb-2008 22:48(in response to Anup Kulkarni)Hi,one point on which i want to emphssis is irrespective of delta method(ABR/AIE/ADD),in the transfer rules/transformation 0RECORDMODE needs to be mapped to 0rocancel.all the changes happened at sourcesytem should be communicated to BW0rocancel in the sourcstem side and 0record mode from Bw side will serves the purpose

0RECORDMODE is mandatory and is th one only identifying tooll to capture all the modifications happened to one particular record.

Regards,Swapna.GLike(0) Anup Kulkarni29-Feb-2008 00:40(in response to swapna gollakota)Yes, I agree that it is always safe to map 0recordmode.

Now consider a scenario in which data source sends only new or changed records and 0recordmode is not mapped in transfer rules(every record is interpreted as after image ' ' by data target).Then I revisit all the scenarios explained by you with this presumption. The results obtained will still be perfectly fine irrespective of delta method(ABR/AIE/ADD).

So, mapping of 0recordmode doesn't matter as long as your data source is sending only new or changed records.The problem arises when you want to capture the deletion!Am I right?

Regards,AnupLike(0) swapna gollakota02-Mar-2008 22:01(in response to Anup Kulkarni)Hi,

Frankly i am not sure the senario where in 0recordmode is not used ,thus causing the system to take after image as defualt value.(please mention the OSS note /book etc..you referred to cross check this)

even if we assume the above statement is correct..the filed value"after image" should be related to some info object..i mean what is responsibile even for producing after image (what is that default filed/info object name)...?

Please provide the details..i will verify and let you know?

Regards,Swapna.GLike(0) Anup Kulkarni03-Mar-2008 21:56(in response to swapna gollakota)Every ODS/DSO has a field 'recordmode'. You can verify this in /BIC/ALike(0) swapna gollakota25-Mar-2008 02:41(in response to Anup Kulkarni)Hi Anup,

sorry for the late reply....First of all let me appreciate your analysis...it motivates me to further dig my analysis and unearth the technical concepts of it...

i will certainly come back to you about the details ..with explanation

Regards,Swapna.GLike(0) Sunmit Bhandari28-Apr-2008 02:03(in response to Anup Kulkarni)Hi Anup ,

Would having record with ' ' record mode work safely in case of Additive image process , considering that the record incoming to the ODS would not be having 'A' in its record mode would it be added to the previous value.

Regards,Sunmit.Like(0) Rahul Me28-Feb-2008 01:43Hi Swapna,

Your blog is very informative. I have a samll doubt, you have mentioned that 0RECORDMODE needs to be mapped to 0STORNO if the Delta is ABR. You have not mentioned anything as to which info object it needs to be mapped in case of AIE.I am not sure as I dont have ROCANCEL in the table on which I have built a custom data source. Please let me know your suggestions...

Thanks a lot.Like(0) swapna gollakota28-Feb-2008 22:50(in response to Rahul Me)Hi,one point on which i want to emphssis is irrespective of delta method(ABR/AIE/ADD),in the transfer rules/transformation 0RECORDMODE needs to be mapped to 0rocancel.all the changes happened at sourcesytem should be communicated to BW0rocancel in the sourcstem side and 0record mode from Bw side will serves the purpose

Regards,Swapna.G

Like(0) RAJESH GUNDOJI26-Apr-2008 18:00CAn you tell me difference between Delete 'D' & Reverse Image 'R' for 0RECORDMODE. If both mode s do deletion why they gave us 2 options?

ThanksRajeshLike(0) swapna gollakota26-Apr-2008 19:09(in response to RAJESH GUNDOJI)Hi Rajesh,Not all datasources are capable of sending reverse images except for ABR

for AIE and ADD delta processes,deletion of a request will be represented by "D"where as for ABR the deletion process happens by sending a reverse image

cheers,Swapna.GLike(0) RAJESH GUNDOJI27-Apr-2008 10:57(in response to swapna gollakota)please can you tell me why ABR sending Reverse image when there is option to send Delete ..

any particular reason ?

ThanksrajeshLike(0) Vishnuvadhan K08-May-2008 01:52Hi Swapna,

It's a nice blog. I have a different scenario here. We load our ZCUSTOMER/ ZPARTNER from data source 0CUSTOMER_ATTR . There are some fields added to this data source but this fields are not delta enabled i.e. when these fields change in R3 it does not write to Change Pointers ( and hence no delta ). For this reason every week we have to do a full load which takes very long.Can you suggest how to check & make these new fields delta enabled?Regards,vishnuLike(0) Vishnuvadhan K08-May-2008 02:42If i check the Delta Field status for this Data source 0CUSTOMER_ATTR, it is showing 'E'. please sugest what it means.

Regards,VishnuLike(0) swapna gollakota19-May-2008 05:10(in response to Vishnuvadhan K)

Hi

You can check it in RODELTAM tableE:Unspecific Delta Via Extractor (Not ODS-Compatible)it is purely your business specific..

cheers,Swapna.GLike(0) Mallikarjuna Edapalapati19-May-2008 04:18Hi SwapnaYour Blog is very usefulI have a small doubt: In ur example of ABR,Even if ODS is set to Additive/Overwrite,Then same result we r gettingAdditive:4093->5360N4093X4093-5360-----5360------Overwrite:N4093After Image5360, which overwrites the previous value-----5360------

Then when we use Additive ,and when we use Overwrite?Plz clarifyThanksLike(0) Mallikarjuna Edapalapati19-May-2008 04:18Hi SwapnaYour Blog is very usefulI have a small doubt: In ur example of ABR,Even if ODS is set to Additive/Overwrite,Then same result we r gettingAdditive:4093->5360N4093X4093-5360-----5360------Overwrite:N4093After Image5360, which overwrites the previous value-----5360------

Then when we use Additive ,and when we use Overwrite?Plz clarifyThanksLike(0) swapna gollakota19-May-2008 04:33(in response to Mallikarjuna Edapalapati)Hi Arjun,

Incase of additive Delta mode,in changelog you will can track all the changes pertaining to a record as you mentioned

when it comes to decide between Additive/Overwrite,it depends on what type of target you are loading.if it is infocube with ABR delta method, you have only one choice i.e additiveIncase od ODS/DSo it is purely based on yor business requirement ,you can select either of the methods

cheers,Swapna.GLike(0) Vijaya Salagundi25-Jun-2008 22:35Hi Swapna,

THis is blog is very much useful.

Thanks & Regards,VijayaLike(0) Thomas Balle06-Aug-2008 04:27Hi,

very nice blog! In this blog the following in stated:"In our case, ODS is set to additive mode so that the data source sends both before and after imageIn case if it is set to overwrite, it sends only after image"

However, in another blog (The Tech details of Standard ODS / DSO in SAP DWH) it says:"In the above example Material (1) and Plant (1) has the before image with record mode "x"(row 3 in the above Fig) And all the key figures will be have the "-" sign as we have opted to overwrite option and the characteristics will be overwritten always."

In case you choose overwrite, will both before and after images be sent to BW? This blog says no, the second blog I mentioned says yes...

Thanks for your help!ThomasLike(0) Thomas Balle06-Aug-2008 04:29Hi,

very nice blog! In this blog the following in stated:"In our case, ODS is set to additive mode so that the data source sends both before and after imageIn case if it is set to overwrite, it sends only after image"

However, in another blog (The Tech details of Standard ODS / DSO in SAP DWH) it says:"In the above example Material (1) and Plant (1) has the before image with record mode "x"(row 3 in the above Fig) And all the key figures will be have the "-" sign as we have opted to overwrite option and the characteristics will be overwritten always."

In case you choose overwrite, will both before and after images be sent to BW? This blog says no, the second blog I mentioned says yes...

Thanks for your help!ThomasLike(0) Brian Yang10-Feb-2009 17:45It is a really nice blog and it help me to clarify some technical detail.

Thanks for your kindly sharing. Please keep on your great job!Like(0) Dilip Kumar Reddy Thomatam29-Jun-2009 19:50Hi Swapna,Great job!!! very usefullLike(0) Handoko Cen17-Oct-2010 20:04Hi Swapna,

I have one doubt regarding the blog. Please help to make my understanding clearer.

In delta type ABR, you mentioned :"In our case, ODS is set to additive mode so that the data source sends both before and after image

Incase if it is set to overwrite, it sends only after image"

However, in my testing, both additive and overwrite option in ODS update rule gave two records in ODS change log table.

Please advice. Thanks.Like(0) Dileep Kumar Reddy C05-Feb-2013 19:34Hi Swapna,Thanks for sharing the information on delta mechanism.It is very worthful and also useful for my analysys.