Skip to Content

Is 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 delta with BW.

What is Delta?

It is a feature of the extractor which refers 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.

image

 

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

image

Now the question is how this delta will be brought to BW?

Using one of the following ways:

ABR: After before and Reverse image

AIE: After image

ADD: Additive image

ABR: After before and Reverse image

Example: Logistics

What 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
  • Overwrite

Does it support loading to both infocube and ODS (DSO)?

YES

Technical name of the delta process:ABR

Brief overview:

You will find two types of ABR delta processes in RODELTAM table depending on serialization.

image

  • 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.

image 

Since it can be used for both infocube and ODS, let’s consider a scenario where in the loading happens directly 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 counterpart 0RECORDMODE does at BW side. This field for the Data Source is assigned to the Info Object 0RECORDMODE in the BW system.

Check the mapping in Transfer rules(applicable to BW 3.5):

image 

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 image

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

How it works?

Let’s check the new entry in ODS.

image

 

Note:I have taken an example of ODS which contains CRM data.

Now in the source sytem, the value of CRM gross weight (CRM_GWEIGH) has been changed to 5360

In 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

image

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

image

Upon activation , the after image goes to active table.

image

  
After image delta process:

Example: FI-AP/AR

What update type (for key figures) it supports?

Overwrite Only

Does it support loading to both infocube and ODS (DSO)?

No, only ODS/DSO

Technical name of the delta process: AIE

Brief overview:

We have after images with (AIM/AIMD) or without delta queue (AIE/AIED) .

image

Here, serialization is required between requests, because the same key can be transferred a number of times within a request.

image 

How it works?

Initially the target (ODS) was loaded as shown:

image

The value of CRM gross weight (CRM_GWEIGH) has been changed to 5360 in the source sytem.

This time,data source sends only one entry i.e. after image which will hold the change.

image

The final entry after activation in the active table:

image

Additive delta process:

Example: LIS datasources

What update type( for key figures) it supports?

Addition Only

Does it support loading to both infocube and ODS (DSO)?

YES

Technical name of the delta process: ADD

Brief overview:

In RODELTAM table,we have two types of additive delta processes:

  • ADD without delta queue and 
  • ADDD with delta queue

image

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.

image

The value of CRM gross weight (CRM_GWEIGH) has changed to 5360

Here, the data source sends an entry with value 1,267 with + sign.

image

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

image

To report this post you need to login first.

37 Comments

You must be Logged on to comment or reply to a post.

      1. Vasu Mullapudi
        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 much

        (0) 
    1. swapna gollakota Post author
      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.

      (0) 
  1. Sreedhar M
    Hi 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 regards
    Sreedhar

    (0) 
    1. swapna gollakota Post author
      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_GWEIGHT
      203     14000420       N       4,093
      Now  in the source sytem the record was deleted,this change will be reflected in BW as shown below.

      RECORD CRM_SALESORG RECORDMODE CRM_GWEIGHT
      203     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.G

      (0) 
      1. Prince Joseph
        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 = A
        0UCBU_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,

        Prince

        (0) 
        1. swapna gollakota Post author
          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 queue
          and 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.G

          (0) 
          1. krishnamurthy g
            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,
            Krishna

            (0) 
  2. Sekhar raya
    Hi,

    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.

    (0) 
    1. swapna gollakota Post author
      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) table
      Datasource supporting ADD delta type

      (0) 
  3. Anup Kulkarni
    Hi 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,
    Anup

    (0) 
    1. swapna gollakota Post author
      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 BW
      0rocancel 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.G

      (0) 
      1. Anup Kulkarni
        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,
        Anup

        (0) 
        1. swapna gollakota Post author
          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.G

          (0) 
            1. swapna gollakota Post author
              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.G

              (0) 
            2. Sunmit Bhandari
              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.

              (0) 
  4. Rahul Me
    Hi 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.

    (0) 
    1. swapna gollakota Post author
      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 BW
      0rocancel in the sourcstem side and 0record mode from Bw side will serves the purpose

      Regards,
      Swapna.G

      (0) 
  5. RAJESH GUNDOJI
    CAn you tell me difference between Delete ‘D’ & Reverse Image ‘R’ for 0RECORDMODE. If both mode s do deletion why they gave us 2 options?

    Thanks
    Rajesh

    (0) 
    1. swapna gollakota Post author
      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.G

      (0) 
  6. Vishnuvadhan K
    Hi 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,
    vishnu

    (0) 
  7. Vishnuvadhan K
    If i check the Delta Field status for this Data source 0CUSTOMER_ATTR, it is showing ‘E’. please sugest what it means.

    Regards,
    Vishnu

    (0) 
    1. swapna gollakota Post author
      Hi

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

      cheers,
      Swapna.G

      (0) 
  8. Mallikarjuna Edapalapati
    Hi Swapna
    Your Blog is very useful
    I have a small  doubt: In ur example of ABR,Even if ODS is set to Additive/Overwrite,
    Then same result we r getting
    Additive:4093->5360
         N     4093
         X     4093-
              5360     
              —–
              5360
              ——
    Overwrite:N     4093
    After Image     5360, which overwrites the previous value
              —–
              5360
              ——

    Then when we use Additive ,and when we use Overwrite?
    Plz clarify
    Thanks

    (0) 
  9. Mallikarjuna Edapalapati
    Hi Swapna
    Your Blog is very useful
    I have a small  doubt: In ur example of ABR,Even if ODS is set to Additive/Overwrite,
    Then same result we r getting
    Additive:4093->5360
         N     4093
         X     4093-
              5360     
              —–
              5360
              ——
    Overwrite:N     4093
    After Image     5360, which overwrites the previous value
              —–
              5360
              ——

    Then when we use Additive ,and when we use Overwrite?
    Plz clarify
    Thanks

    (0) 
    1. swapna gollakota Post author
      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 additive
      Incase od ODS/DSo it is purely based on yor business requirement ,you can select either of the methods

      cheers,
      Swapna.G

      (0) 
  10. Thomas Balle
    Hi,

    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 image
    In 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!
    Thomas

    (0) 
  11. Thomas Balle
    Hi,

    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 image
    In 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!
    Thomas

    (0) 
  12. Handoko Cen
    Hi 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.

    (0) 

Leave a Reply