Skip to Content

Overwriting of all records in DSO for records with ROCANCEL = 'X'

Hi All,

We have implemented a custom flow from 2LIS_03_BF to DSO.

Transformation includes all the necessary field mapping in the standard rule group and ROCANCEL is mapped to 0RECORDMODE in technical rule group.

During the load from PSA we observed that all the fields(Apart from Key fields) are being blanked out in DSO for the record with ROCANCEL = 'X' even though the fields contain value in PSA.

For record with ROCANCEL = ' ' the field values are being populated fine in DSO.

Can any one please help in understanding the reason behind this behaviour.

Thanks in advance!!!!

Regards,

Saurabh

Add comment
10|10000 characters needed characters exceeded

  • Get RSS Feed

4 Answers

  • Best Answer
    avatar image
    Former Member
    Nov 02, 2015 at 11:01 AM

    Hi Saurabh,

    Based on SAP NOTE 581778

    ROCANCEL should not be mapped in 0recordmode.

    In  transformation there is a rule called technical rule where you will see the mapping of 0recordmode.

    Remove the mapping and reload the cube using full load with filter of X in ROCANCEL.

    Hope it helps.


    Regards,

    Amit

    Add comment
    10|10000 characters needed characters exceeded

    • Hey Amit,

      That's wonderful.

      I already implemented the workaround of removing the 0RECORDMODE mapping from technical rule group but was still looking for the reason behind this behaviour.

      The note explains it all.

      Thanks a lot again for your help ūüėä

      Regards,

      Saurabh

  • Nov 02, 2015 at 10:56 AM

    Hi Kumar,

    Please share the error screen shot.

    regards

    sathya.

    Add comment
    10|10000 characters needed characters exceeded

  • avatar image
    Former Member
    Nov 02, 2015 at 11:04 AM

    Hi Saurabh,

    Alternatively you can also try with the following piece of code in your start routine -

    BEGIN******************************

    LOOP AT DATA_PACKAGE.

      if DATA_PACKAGE-recordmode eq 'X'.

        DATA_PACKAGE-recordmode = ''.

        modify DATA_PACKAGE.

      endif.

    endloop.

    END********************************

    Hope it helps.

    Regards,

    Amit

    Add comment
    10|10000 characters needed characters exceeded

  • Nov 02, 2015 at 11:06 AM

    Hi Saurabh


    You should check the validity of the data available in the base tables. If you are in development system, this might be right. So please transport the changes to quality system and check the data.

    More information of 0recordmode and rocancel.

    0RECORDMODE is a predefined characteristic which is responsible to load data into target.

    Below are explanation for the different values.

    AFTER IMAGE -  " " :How is the data after the change

    BEFORE IMAGE - "X":How was the record before change

    ADDITIVE IMAGE  - "A": Show only the difference for all numeric values

    NEW IMAGE - "N": For each change that is made, a new unique record is generated.

    DELETE  - "D" : Only provide the key information required to make deletion.

    REVERSE  - "R": This will be same as after image with reverse sign

    Below link also gives you a clear explanation on how this behaves with proper example.

    http://www.sdn.sap.com/irj/scn/go/portal/prtroot/docs/library/uuid/a080ea68-fba2-2e10-8cb7-d42d5bfba09c?overridelayout=t…

    Hope this helps. Please let us know if you need any more information.

    Regards

    Karthik

    Add comment
    10|10000 characters needed characters exceeded