cancel
Showing results for 
Search instead for 
Did you mean: 

ROCANCEL field problem....

Former Member
0 Kudos

Hi,

I have enhanced the datasource(2lis_02_itm) for the Tolerance fields. and added the fields in ODS( Key Purchasing Document and Document Item)

I did the testing , and found that the fields are not correctly populated in BW.

I checked it in PSA , there are 5 records for this purchasing document.

1) Out of which only first record contains the value for the added fields.

and rest of the records has these values 0.

Also , there are 2 records , which has Reversal Indicator as (X) .

(ROCANCEL is mapped to 0storno.)

I have a doubt , will the 4 records deleted by extractor ? as 2 have Reversal Indicator.

So if that is the case only 1 record ahould be there , and I get only one record as a result of these 5 input records.

I checked/verified this in the simulation update.

But the final record does not have the newly added fields , ie. the value remains 0 although there are values in PSA for this.

Please note , Everything is fine with setup table data , update rule ( Overwrite mode) and other BW part.

Let me know if somebody has idea about the extraction from this datasource and have some suggestions for this issue.

Thanks.

Accepted Solutions (1)

Accepted Solutions (1)

former_member205352
Active Contributor
0 Kudos

Its wrong mapping R0Cancel needs to be mapped to 0RECORDMODE field of ODS.

either :

R0CANCEL ---> 0STORNO

0STORNO -


> 0RECORDMODE.

or

R0CANCEL ---> 0RECORDMODE

Hope this helps.

Edited by: Praveen G on Oct 16, 2008 8:51 AM

Answers (5)

Answers (5)

Former Member
0 Kudos

Hello Mr. Singh

I am facing the same issue and curious to know how you solved the problem using internal table. I am unable to figure out why the extractors populates tolerance values in only one record?

Regards,

Sanjyot Mishra

Former Member
0 Kudos

This has been resolved by using the Internal Tables at the start routine level for both PSA and ODS data.

Former Member
0 Kudos

comment

former_member205352
Active Contributor
0 Kudos

"(ROCANCEL is mapped to 0storno.)" --- Is wrong.

R0CANCEL --> 0RECORDMODE.

Former Member
0 Kudos

Hi,

For the DSO in overwrite mode you should add 0recormode filed in the infosource in case of 3.5 and map it to the ROCANCEL then only the records will be deleted from the DSO properly.

If its 7.0 then you have the option to map it in the transformation.There is no wan to interpret the deletion indicator better then 0recordmode

Thanks

Ajeet

Former Member
0 Kudos

Hi,

Its correctly mapped , I just checked it.

All this is working fine , except for the update if the key figure which I added , which is finally getting the value 0. instead of value 10 present in PSA.

Can I put this KF in addition mode and try?

What will be the impact?

Thanks.

Former Member
0 Kudos

Hi,

If you map the ROCANCEL to 0recordmode then it will delete the records from the DSO where the record from the source is 'X'.

So If you have two records with the recordmode entry as X it will delete the two records from the DSO and the entries without any value for recordmode will be treated as after image and will sit in the DSO.

No need to make key figure as addition mode.

Are you sure you should get this entries from the extrator??

Basically and inverse image should be present in only record per key i.e. for a set of purchasing doc and item you should have only one record with the indicator marked as X.

Now if you are getting two records then it is defenately an issue.

Just verify it.

Thanks

Ajeet

Former Member
0 Kudos

Yes you are right , records are getting canceled where it is X.

And I get only 1 entry in DSO for 0recordemode is null.

I told in my initial write that there are 4 records , as additive delta woud be the set of 2 records (1 with + value and other with - value) . So its fine.

But what happens during the process is that , it is overwriting the Key Figure also for the record which has 0recordemode as null. and hence my newly added Key figure becomes 0.

This is very recurrent problem with this ODS approach from 2lis_02_itm but there is no solution mentioned anywhere.

As my KF gets overwritten , I thought if we can put in the Addition mode ( the reversal records does not this KF and remains 0 , so addition mode in update rule could be one solution to this problem).

But still dont looks like a perfect solution.

Thanks.

former_member205352
Active Contributor
0 Kudos

Small check, what kind of delta have you chosen for this 2lis_02_itm ??

Choose Queued Delta.

Hope this helps.

Former Member
0 Kudos

Dear Jeetu,

Datasource 2lis_02_itm is for loading into cube. If you are loading into an ODS you need to clear keyfigures based on ROCANCEL.

And also no need to map ROCANCEL to RECORDMODE always. If you can clear keyfigure that is fine.

Hope it Helps

Srini

Former Member
0 Kudos

Hi,

One thing for sure that all the LIS extractor can be loaded into BW into DSO in overwrite mode or to cube direclty as well but not to a DSO in addition mode for sure.

Since it brings the changes only

If you put it in the addition mode then you will have wrong values as the extractor will bring only changed values

So 10 changed to 2 will put 2 in case of DSO with overwrite method but 12 in case of addition method.

So I would suggest you to check the records send by the extrator as I still think your extractor is not working properly.

Thanks

Ajeet

Former Member
0 Kudos

Hi All,

Praveen , Data from the set up table is not filles properly. still deltas has not come into picture.

Once this gets stable I will start deltas.

Neelam , Can u let me know how to clear the key figure . This might be the solution.

Ajeeth , Can u tell me how I can check the extracto further. I see that the PSA records are fine.

But I am not sure/ convince with this as out of 5 lines only one row contains value for my KF.

The reason could be 1st row is based on the Current Purchasing document ( EKPO)

and rest records come from some other table.( these records are from purchasing history)

I can further investigate if you suggest me some way.

Thanks for your suggestions.

Former Member
0 Kudos

Hi Ajit,

what you mean of : One thing for sure that all the LIS extractor can be loaded into BW into DSO in overwrite mode or to cube direclty as well but not to a DSO in addition mode for sure.

Cant we load data into and DSO in overwrite mode...? Can be loaded into CUBE but not to DSO/ODS in addition..?

You are explaining about datasource which provides additive(only changes)

Delta depends on type of datasource(type of delta). One of below

Delta Only Via Full Upload (ODS or InfoPackage Selection)

A ALE Update Pointer (Master Data)

*ABR *Complete Delta with Deletion Flag Via Delta Queue(Cube-Comp)

ABR1 Like Method 'ABR' But Serialization Only by Requests

ADD Additive Extraction Via Extracto (e.g. LIS Info Structures)

ADDD Like 'ADD' But Via Delta Queue (Cube-Compatible)

AIE After-Images Via Extractor (FI-GL/AP/AR)

*AIED *After-Images with Deletion Flag Via Extractor (FI-GL/AP/AR)

AIM After-Images Via Delta Queue (e.g. FI-AP/AR)

AIMD After-Images with Deletion Flag Via Delta Queue (e.g. BtB)

CUBE InfoCube Extraction

D Unspecific Delta Via Delta Queue (Not ODS-Compatible)

E Unspecific Delta Via Extractor (Not ODS-Compatible)

FIL0 Delta Via File Import with After-Images

FIL1 Delta Via File Import with Delta Images

NEWD Only New Records (Inserts) Via Delta Queue (Cube-Compatible)

NEWE Only New Records (Inserts) Via Extractor (Cube-Compatible)

ODS ODS Extraction

X Delta Unspecified (Do Not Use!)

How its related to DSO..?

Please clarify...

Srini

Former Member
0 Kudos

HI Jeetu,

Type of delta for datasouce :

You can check, at R/3 : RSA2 --> Display Datasource --> Delta Process.

In start routine of update rules, Sample code below:

Loop at data_package.

if ROCANCEL = X.

clear <keyfigure1>

clear <keyfigure2>

clear <keyfigure3>

.

.

Endif.

Modify Data_package.

Hope it Helps

Srini

former_member205352
Active Contributor
0 Kudos

Hi Srini,

I think Ajeet was right.

Since the datasource(2lis_02_ITM) is of type ABR.

Loading to ODS with addtion mode wont be accurate.But you can load to CUBE or ODS in overwrite mode.

Former Member
0 Kudos

Praveen,

If loading into a CUBE(mean addition mode only right..?), why cant same possible to ODS/DSO(in addition mode)..? How it is different..?

Srini

Former Member
0 Kudos

Hi,

Good Question.

let me explain.

Any LIS data source brings

'X' cancelled records(Before Image)

'R' deleted records(Reverse Image)

' ' New records( New image or After Image)

Both these records R and X types have negative values for the records which are already in the DSO.

If mapped to 0storeno these records are deleted before going to update rules and in the transfer rules only so that the records that are updated to the DSO in the overwrite mode are the records which are after image or new image only.

Now you can go ahead and map it to the the addition mode, but just make sure that you do not map anything to 0STORNO or you will get wrong results as after image will just increment the values.

So I think now you are getting how to use DSO in addition mode and overwrite mode.

Same thing can be said for the cubes.

now with new versions SAP recommends it to map to 0recordmode which actually helps in genration of the delta from the DSO to the cubes.

Now SAP always reccomend to map storno or recordmode to rocancel thats why all those gyan to load only to DSO in overwrite mode as there is no point in bringing extra records if not required and can be done at the easier level.

Now if you want to load to the cube directly then do not map rocancel to anything.

Since in Jitu's case it was already mapped thats why the suggestion was.

hope it explains...please ask if anymore questions.

Thanks

Ajeet

Thanks

Ajeet

Former Member
0 Kudos

Ajeet,

I agree with Jeetu's case as he mapped Recordmode with rocancel. But your answer is more generic, that leads to confusion... ...

Reverse Image(R) not get deleted in update or transfer rules. R effect will come into picture on activation of request. and also behaves differently in addition mode and differently in overwrite mode while loading into a ODS.

and also ROCANCEL mapping to RECORDMODE is not mandatory. It depends on requirement. Data acquisition later better not to map for any custom development.

Srini

Former Member
0 Kudos

Hi Srinivas,

Agreed they are not deleted from the transfer rules and go till the updated rules and are used in the activation.

about RECORDMODE is not mandatory ..yes it is not.

But it is always better to map as it is built for the delta process and your DSO knows beforehand which kind of records are there if its before image or after image.

but as you said it is not mandatory and depends on the requirement.

Thanks

Ajeet

Former Member
0 Kudos

Ajeet,

Thanks for a good discussion after long time. Finally we(both) agreed. Thanks for nice info and time.

Cheers

Srini

[Dont forget to close the call by assigning poings.... - Food for Points: Make a Difference through Community Contribution!|https://www.sdn.sap.com/irj/sdn/index?rid=/webcontent/uuid/007928c5-c4ef-2a10-d9a3-8109ae621a82]

Former Member
0 Kudos

Hi,

I analyzed the data at PSA level for these key figures , situation is as followsu2026

( Tolerance is new added KF)

PurDOC = 123 , DOC item = 10 , Tolerance = 10% , Rev Indi = ' ' , Order Qty = 100

PurDOC = 123 , DOC item = 10 , Tolerance = 0 , Rev Indi = ' X' , Order Qty = -100

PurDOC = 123 , DOC item = 10 , Tolerance = 0 , Rev Indi = ' X' , Order Qty = -100

PurDOC = 123 , DOC item = 10 , Tolerance = 0 , Rev Indi = ' ' , Order Qty = 100

PurDOC = 123 , DOC item = 10 , Tolerance = 0 , Rev Indi = ' ' , Order Qty = 100

Other records are in the same format.

So with this scenario , I can have the the newly added KF set to Addition mode in update rule.

And I need not to change anything , anywhere. No mapping for STORNO also.

Actually last 4 records comes from Purchase history table , which does not contains the Tolerance field.First record comes

from EKPO table.

So I think addition for this KF will work for sure.

But I was wondering , if we do a repair request for 1 year than these KF will be doubled.

Everytime we have to do INIT only ,for any changes.

What do you guys suggest on this.

Thanks.

Former Member
0 Kudos

Hi, we use standar cube 0PUR_C01 and not can look correct values after new value ROCANCEL in R3.

Any idea where is the problem ?

Standar not have any ODS before the Cube.

Thank you.

Former Member
0 Kudos

Hello

I beleive the solution is to consider BWVORG while updating tolerance fields.

If BWVORG = 1 then only tolerance fields have correct value in the extraction .

Hope this helps.

Regards,

Sanjyot Mishra

Former Member
0 Kudos

Hi Jeetu

This is a bug. The tolerance values are not extracted correctly in the init. you will find value for tolerance fields only when BWVORG = 1

SAP has created a new note 1291209.

Rgds

Sanjyot