on 10-16-2008 1:37 PM
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.
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
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
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
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
This has been resolved by using the Internal Tables at the start routine level for both PSA and ODS data.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
comment
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
"(ROCANCEL is mapped to 0storno.)" --- Is wrong.
R0CANCEL --> 0RECORDMODE.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
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
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
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
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.
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
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.
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
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
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
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
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
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]
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.
User | Count |
---|---|
90 | |
10 | |
10 | |
10 | |
7 | |
7 | |
6 | |
5 | |
4 | |
3 |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.