cancel
Showing results for 
Search instead for 
Did you mean: 

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

saurabh301
Explorer
0 Kudos

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

Accepted Solutions (1)

Accepted Solutions (1)

former_member220624
Contributor
0 Kudos

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

saurabh301
Explorer
0 Kudos

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

Answers (3)

Answers (3)

karthik_vasudevan
Active Contributor
0 Kudos

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

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

Regards

Karthik

former_member220624
Contributor
0 Kudos

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

former_member183334
Active Participant
0 Kudos

Hi Kumar,

Please share the error screen shot.

regards

sathya.

saurabh301
Explorer
0 Kudos

Hi Sathya,

There is no error in the load.

Its just the overwrite behaviour which happens during the load.

I was trying to understand the reason behind the same.

Thanks,

Saurabh

karthik_vasudevan
Active Contributor
0 Kudos

Hi Saurabh

You are right. There is no problem at all in my view as well. Go through the link and the information that I have provided earlier and let us know if you need any more information

Regards

Karthik