Master data infoobject can't handle duplicate records after SP10
Hi
I am trying to load master data which happened to contain duplicate records from the source system. In the DTP of the master data infoobject, I have ticked the 'Handle Duplicate Record Keys' checkbox. After executing this DTP, the duplicate master data records were trapped in the Error Stack. I am expecting overwriting of the duplicate master data to take place instead. I understand that this error was fixed in Note 954661 - Updating master data texts when error in data package which is from SP9. After applying Support Pack 10, the master data infoobject just can't handle records with duplicate keys.
Please let me know if you manage to fix this problem.
Many thanks,
Anthony
Found a fix for this problem. Just applied this OSS note Note 986196 - Error during duplicate record handling of master data texts.
Similar Messages
-
Master data load failed due to duplicate records .
hello friends ,
need some help .
I am loading the master data from soruce sys , and it is throwing error of duplicate 56 records.
I repeated the step , but found the same error once again .
i could not find out the duplicate record , as thr are more than 24000 records , and in this 56 are duplicate . and this duplicate also looks like same.
when i click on error records , it is showing me the below procedure .
maintain the attribute in Psa SCREEN .
I could not find the duplicate records , could you please let me know how can i maintain this .
RegardsHi ,
Reload the masterdata by cheking ignoreduplicate records check box.since the master data has overwriting capability the duplicate records will be overwritten
cheers,
Swapna.G -
Master Data load fails because of Duplicate Records
Hi BW Experts,
I am loading historical data for a info-object using flexible update, first i tried to delete the data but it was not possible as it is being used in infocubes and ODS, As i am doing the rework of that cubes, ODS so i have to reload the whole data again. Anyway without deleting i tried loading the data in the info-object but it has thrown error that dulicate records found, I tried again then it has thrown an error ALEREMOTE has locked the object or lock not set for the object.
Please suggest me what to do in these scenario.
Please consider it as urgent.
Thanks in advance.
Sunil MorwalSunil,
First unlock the objects.go to SM12 give ALEREMOTE user name then list...select the request and delete.
Load the data from PSA....
OR reload... rememeber you will have one option at infopackage level in processing tab "<b>Ignore duplicate records"</b>.
Let me know the status.
Thanks
Ram
"BW is Everywhere"
Message was edited by: Ram -
hi all,
how to delete duplicate records in master data infoobject which has no requests because it is a direct update?Hi,
Right click on the info object and
select Maintain
in that you will get the Master data table
from that select the Record and delete it.
hope this solves your query.
reward points if useful
regards,
ANJI -
Duplicate Data Records indicator / the handle duplicate records
Hi All,
I am getting double data in two request. How can I delete extra data using "Duplicate Data Records indicator ".
I am not able to see this option in PSA as well as DTP for "the handle duplicate records".
can u help me to find the option in PSA/DTP.
Regards
Amit SrivastavaWhat Arvind said is correct.
But if you can try this out in an End Routine, this may work, Not sure though.
Because then you will be dealing with the entire result_package.
Also, say if the target that you are talking about is a DSO, then you can Delete Adjacant Duplicates in Start Routine while updating it into your next target. That can be a cube, for ex. -
Data load stuck from DSO to Master data Infoobject
Hello Experts,
We have this issue where data load is stuck between a DSO and master data infoobject
Data uploads from DSO( std) to master data infoobject.
This Infoobject has display and nav attributes in it which are mapped from DSO to Infoobject.
Now we have added a new infoobject as attribute to the master data infoobject and made it as NAV attri.
Now when we are doing full load via DTP the load is stuck and is not processing.
Earlier it took only 5 mns of time to complete the full load.
Please advise what could be the reason and cause behind this.
Regards,
santhosh.Hello guys,
Thanks for the quick response.
But its nothing proceeding further.
The request is still running.
earlier this same data is loaded in 5 mns.
Please find the screen shot.
master data for the infoobjects are loaded as well.
I can see in SM50 the process at P table of the infoobject the process is.
Please advise.
Please find the detials
Updating attributes for InfoObject YCVGUID
Start of Master Data Update
Check Duplicate Key Values
Check Data Values
Process time dependent attributes- green.
No Message: Process Time-Dependent Attributes- yellow
No Message: Generates Navigation Data- yellow
No Message: Update Master Data Attributes - yellow
No Message: End of Master Data Update - yellow
and nothing is going further in Sm37
Thanks,
Santhosh. -
Data not uploading in Time dependent Master data Infoobject
Hello All,
I have a master data infoobject for HR entity and have to load data from PSA to that info object.
The HR entity infoobject already have sone data like below:
HR Entity
Version
Date from
Date To
x
A
01.07.2013
31.12.9999
x
A
19.04.2013
30.06.2013
x
A
01.09.2012
18.04.2013
x
A
01.01.2012
31.08.2012
x
A
01.01.1000
31.12.2011
Now the data in PSA is as follows:
HR Entity
Start Date
End Date
X
01.01.2012
18.12.2013
Once I loaded this data to the infoobject, i can not see this value which is the latest value of this HR entity.
Can somebody please explain how the data gets loaded in the time dependent master data infoobject and why this entry is not getting loaded in the info object.
Regards
RKHi,
did you activate master data after your load?
You can check also version 'M' records and see if your record is there.
The load went green?
The problem is, that your entry overlaps all exisitng time intervals, which can't be deleted or merged as there may be dependent transactional data. You have first to delete the transactional data for this entity.
Then you can delete the time-dependent data and reoload it from your PSA.
BW will build then correct time intervals.
The easiest is to change the time interval in PSA, see example below:
At the moment the time interval is not accepted. But you can add time intervalls before 31.12.2011 and after 01.07.2013, Then system will create remaiing time intervals, e.g. your new record is:
HR Entity
Start Date
End Date
X
01.08.2013
18.12.2013
Result will be:
HR Entity
Version
Date from
Date To
x
A
19.12.2013
31.12.9999
x
A
01.08.2013
18.12.2013
x
A
01.07.2013
31.07.2013
Regards, Jürgen -
Attr Change Run Master Data Infoobject PChain
In the master data process chain process type Attribute Change Run which is usually at the end of the chain updates the changes in the master data infoobjects.
The Chain is usually designed with full infopacks and say if it is scheduled every night , isn't it loading the master data again ( duplicating ) and again even though considering the process type Attribute Change Run at the end.
Is it like just the attribute change run is executed for updates ?If thats the case why do we need a process chain for Masterdata...if its only one time full ..that can be done manually right?
Am I missing something here ...?If you look at the detail in the Monitor for a Master Data load, it will tell you how many recordssent from R/3 and how many records were updated and inserted.
As far as static master data that deos not regularly have new records or changes - you're right you don't need to load those objects daily, they could be loaded perhaps monthly.
You might consider balancing how fancy you try to get with breaking up master data into different groups, loading some daily, and other sweekly, others monthly, etc. In our case we use to have a fairly elaborate master data load schedule, loading someobjects 1st Tuesday of the month, others 2nd, Tues, others 3rd etc, and then we had weekly loads and dailys. When I began to review the run times involved, it was apparent that the various monthly loads, in total, ran less than 10 minutes, so I just consolidated the 4 differently monthly maser data loads and the weekly loads all into a single process chain. While much of the this master data doesn't change much, it was much easier to just schdule mastr data either daily or weekly, rather than getting too elaborate.
Now if run time of master data loads or change runs sarts to become an issue, then you might have to adopt a more elaborate schedule. It really depends on your environment. -
No 'Handle Duplicate records' in update tab
Hi,
I've a DTP from ODS/DSO to ODS/DSO and I got a Duplicate record error, which I find rather strange for standard ODS/DSO. I read in the help and within these forums that it can be fixed with the 'Handle Duplicate records' checkbox in the update tab. Trouble is that there isn't such a checkbox in our BI7 SP15 installation.
Any suggestion on the reason for that and how to fix this and more important on how to get rid of the duplicate record error (and the reason why it's occurring)?
Many thanks in advance
EddyHi Eddy,
I am confused -:)
Have u tried by checking or by unchecking..
My suggestion is to try by selecting the setting unique data records...
Cheers
Siva -
Overwrite data of master data infoobject
Hi all,
We have one master data infoobject ZASRYHMA. This infoobject does not have any attrbiutes but it has two compounding fields ZSITE and 0DISTR_CHAN.
Now customer has a requirement in which value of ZASRYHMA can change for a particular site and distribution channel. Generally if this value changes then system creates a new entry in tables /bic/pzasryhma and /bic/szasryhma.
What they want is to overwrite the existing entry.
Is it possible to achieve? It's a master data infoobject.
Please provide your kind help.
Regards,
Nilima RodriguesHi,
You have three fields as key field in table as shown below along with values,
ZASRYHMA ZSITE 0DISTR_CHAN
A-1 B-1 C-1
A-2 B-2 C-2
now if you want to change the value of say second row to
A-3 B-2 C-2
right?
This is not possible just by overwritting in the info-object master data. Because these are key-fields system will treat A-3 as new value and create new entry, on top of this your A-2 master data values must have been used in transactional data.
Only way I can think of is to delete the transactional data where ever A-2 is used and then delete ZASRYHMA master data and then upload master data for ZASRYHMA with new values. And then transacional data. -
Hi All,
I have an issue while loading the data from psa to master data infoobject.
DTP Error:
When we had extracted the data from ECC to PSA, the values for field "IOBJNM" are not populated for 0RPM_PORT_ITEM_HIERARCHY
Thus it is throwing an error while populating this data to the target.
From where this field will fetch the values?
Why these values are not being populated from ECC?
Will there be any issue from BI side? can anyone help me on this.Hi Raman,
yes I had extracted data in RSA3
There are no values for the field "object".
Do you have any idea why these values are missing? -
Creation of Master Data InfoObject
Hi All,
I need to modify 0COMP_CODE Master data Infoobject, with adding some fields as attributes.
I need to add few fields to 0COMP_ CODE, based on tables.
And 0COMP_CODE should pull data from source tables while used at reporting.
Can you please help me on this.Hello Sri,
You can add the required inobjects in the Attribute tab of 0COMP_ CODE masterdata object.
Also mark them as Navigational if you want them to be used in reports for drill down, navigation etc.
Now either you can enhance the masteradata datacource for 0COMP_ CODE in source system or create your own custom datasource. If you are modifying the already existing DS them you would have to write ABAP code in CMOD for those fields you are adding to 0COMP_ CODE.
Replicate it to BW. Activate the datasource. Create transformations(modify transformation in case you haev modified the already existing DS) to update these new fields to 0COMP_ CODE masterdata attribute.
Now rest of the things are same, like create DTP or IPs etc.
Now as you would have marked these new objects as Navigational in 0COMP_ CODE masteradat attributes tab, you will be able to use them in query design.
Hope it helps...
Regards,
Pratap Sone -
Steps to create customized Master data infoobjects in BI 7
Hi all,
Can anyone please send the detailed steps to create customized master data infoobject in BI7,and also the data is to be extracted from two different datasources from two different source systems.
Regards,
G.Monica Roja Flora.Some data modelling tips while creating master data infoobject and extracting data from different source systems -
If there are identical characteristic values describing different objects for the same characteristic in various source systems, you have to convert the values in such a way in SAP BW so as to make them unique.
For example, the same customer number may describe different customers in different source systems.
You can carry out conversion in the transfer rules for this source system or in the transfer routine for the characteristic.
If work involved in conversion is too great, you can compound the characteristic to the InfoObject Source System ID (0SOURSYSTEM). This means it is automatically filled with master data. The Source System ID is a 2-character identifier for a source system or a group of source systems in BW. The source system ID is updated with the ID of the source systems that provides the data. Assigning the same ID to more than one source system creates a group of source systems. The master data is unique within each group of source systems.
http://help.sap.com/saphelp_nw2004s/helpdata/en/80/1a6399e07211d2acb80000e829fbfe/content.htm
Hope it Helps
Chetan
@CP.. -
In call transaction how can we handle error records.
hai..tellme how can we handle error records in call transaction..we can get error records into one flatfile ok...then we have to execute the same bdc program with dat flat file (error records) once again...is it wright ..
Hi,
check this program u will get idea
seee this prog. its will help u .
copy and run this prog.
TYPES : BEGIN OF t_disp ,
vendorno(9),
compcc(13),
purchorg(14),
accgroup(15),
title(7),
name(5),
country(8),
ordcurr(14),
END OF t_disp.
TYPES : BEGIN OF t_err,
msgtyp LIKE bdcmsgcoll-msgtyp,
l_mstring(250),
END OF t_err.
DATA: i_disp TYPE STANDARD TABLE OF t_disp,
wa_disp TYPE t_disp,
i_err TYPE STANDARD TABLE OF t_err,
wa_err TYPE t_err.
data definition
Batchinputdata of single transaction
DATA: bdcdata LIKE bdcdata OCCURS 0 WITH HEADER LINE.
messages of call transaction
DATA: messtab LIKE bdcmsgcoll OCCURS 0 WITH HEADER LINE.
error session opened (' ' or 'X')
DATA: e_group_opened.
message texts
TABLES: t100.
PARAMETER : p_file1 LIKE ibipparms-path,
p_cmode LIKE ctu_params-dismode DEFAULT 'N'.
"A: show all dynpros
"E: show dynpro on error only
"N: do not display dynpro
*selction screen.
AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_file1.
CALL FUNCTION 'F4_FILENAME'
EXPORTING
program_name = syst-cprog
dynpro_number = syst-dynnr
IMPORTING
file_name = p_file1.
AT SELECTION-SCREEN ON p_file1.
IF p_file1 IS INITIAL.
MESSAGE 'FILE IS NOT FOUND' TYPE 'E'.
ENDIF.
START-OF-SELECTION.
PERFORM f_disp_file1.
END-OF-SELECTION.
PERFORM f_disp_errs.
*& Form F_DISP_FILE1
text
--> p1 text
<-- p2 text
FORM f_disp_file1 .
DATA: l_filename1 TYPE string.
MOVE p_file1 TO l_filename1.
CALL FUNCTION 'GUI_UPLOAD'
EXPORTING
filename = l_filename1
filetype = 'ASC'
has_field_separator = 'X'
HEADER_LENGTH = 0
READ_BY_LINE = 'X'
DAT_MODE = ' '
CODEPAGE = ' '
IGNORE_CERR = ABAP_TRUE
REPLACEMENT = '#'
CHECK_BOM = ' '
IMPORTING
FILELENGTH =
HEADER =
TABLES
data_tab = i_disp
EXCEPTIONS
FILE_OPEN_ERROR = 1
FILE_READ_ERROR = 2
NO_BATCH = 3
GUI_REFUSE_FILETRANSFER = 4
INVALID_TYPE = 5
NO_AUTHORITY = 6
UNKNOWN_ERROR = 7
BAD_DATA_FORMAT = 8
HEADER_NOT_ALLOWED = 9
SEPARATOR_NOT_ALLOWED = 10
HEADER_TOO_LONG = 11
UNKNOWN_DP_ERROR = 12
ACCESS_DENIED = 13
DP_OUT_OF_MEMORY = 14
DISK_FULL = 15
DP_TIMEOUT = 16
OTHERS = 17
IF sy-subrc 0.
MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
ENDIF.
*? prepare BDC data
DELETE i_disp INDEX 1.
LOOP AT i_disp INTO wa_disp .
PERFORM bdc_dynpro USING 'SAPMF02K' '0100'.
PERFORM bdc_field USING 'BDC_CURSOR'
'RF02K-KTOKK'.
PERFORM bdc_field USING 'BDC_OKCODE'
'/00'.
PERFORM bdc_field USING 'RF02K-LIFNR'
wa_disp-vendorno.
'ztest_1'.
PERFORM bdc_field USING 'RF02K-BUKRS'
wa_disp-compcc.
'0001'.
PERFORM bdc_field USING 'RF02K-EKORG'
wa_disp-purchorg.
'0001'.
PERFORM bdc_field USING 'RF02K-KTOKK'
wa_disp-accgroup.
'0001'.
PERFORM bdc_dynpro USING 'SAPMF02K' '0110'.
PERFORM bdc_field USING 'BDC_CURSOR'
'LFA1-SPRAS'.
PERFORM bdc_field USING 'BDC_OKCODE'
'=VW'.
PERFORM bdc_field USING 'LFA1-ANRED'
wa_disp-title.
'Mr.'.
PERFORM bdc_field USING 'LFA1-NAME1'
wa_disp-name.
'test name'.
PERFORM bdc_field USING 'LFA1-SORTL'
'TEST NAME'.
PERFORM bdc_field USING 'LFA1-LAND1'
wa_disp-country.
'in'.
PERFORM bdc_field USING 'LFA1-SPRAS'
'en'.
PERFORM bdc_dynpro USING 'SAPMF02K' '0120'.
PERFORM bdc_field USING 'BDC_CURSOR'
'LFA1-KUNNR'.
PERFORM bdc_field USING 'BDC_OKCODE'
'=VW'.
PERFORM bdc_dynpro USING 'SAPMF02K' '0130'.
PERFORM bdc_field USING 'BDC_CURSOR'
'LFBK-BANKS(01)'.
PERFORM bdc_field USING 'BDC_OKCODE'
'=VW'.
PERFORM bdc_dynpro USING 'SAPMF02K' '0210'.
PERFORM bdc_field USING 'BDC_CURSOR'
'LFB1-AKONT'.
PERFORM bdc_field USING 'BDC_OKCODE'
'=VW'.
PERFORM bdc_dynpro USING 'SAPMF02K' '0215'.
PERFORM bdc_field USING 'BDC_CURSOR'
'LFB1-ZTERM'.
PERFORM bdc_field USING 'BDC_OKCODE'
'=VW'.
PERFORM bdc_dynpro USING 'SAPMF02K' '0220'.
PERFORM bdc_field USING 'BDC_CURSOR'
'LFB5-MAHNA'.
PERFORM bdc_field USING 'BDC_OKCODE'
'=VW'.
PERFORM bdc_dynpro USING 'SAPMF02K' '0310'.
PERFORM bdc_field USING 'BDC_CURSOR'
'LFM1-WAERS'.
PERFORM bdc_field USING 'BDC_OKCODE'
'=UPDA'.
PERFORM bdc_field USING 'LFM1-WAERS'
wa_disp-ordcurr.
'inr'.
PERFORM bdc_transaction USING 'XK01'.
WRITE:/ WA_DISP-VendorNo,
WA_DISP-COMPCC,
WA_DISP-PURCHORG,
WA_DISP-ACCGROUP,
WA_DISP-title,
WA_DISP-name,
WA_DISP-country,
WA_DISP-ORDCURR.
CLEAR: wa_disp.
REFRESH bdcdata.
ENDLOOP.
ENDFORM. " F_DISP_FILE1
Start new screen *
FORM bdc_dynpro USING program dynpro.
CLEAR bdcdata.
bdcdata-program = program.
bdcdata-dynpro = dynpro.
bdcdata-dynbegin = 'X'.
APPEND bdcdata.
ENDFORM. "BDC_DYNPRO
Insert field *
FORM bdc_field USING fnam fval.
IF FVAL NODATA.
CLEAR bdcdata.
bdcdata-fnam = fnam.
bdcdata-fval = fval.
APPEND bdcdata.
ENDIF.
ENDFORM. "BDC_FIELD
*& Form bdc_transaction
text
-->P_0322 text
FORM bdc_transaction USING tcode.
DATA: l_mstring(480),
l_subrc LIKE sy-subrc.
REFRESH messtab.
CALL TRANSACTION tcode USING bdcdata
MODE p_cmode
UPDATE 'L'
MESSAGES INTO messtab.
l_subrc = sy-subrc.
IF SMALLLOG 'X'.
WRITE: / 'CALL_TRANSACTION',
TCODE,
'returncode:'(I05),
L_SUBRC,
'RECORD:',
SY-INDEX.
LOOP AT messtab.
SELECT SINGLE * FROM t100 WHERE sprsl = messtab-msgspra
AND arbgb = messtab-msgid
AND msgnr = messtab-msgnr.
IF sy-subrc = 0.
l_mstring = t100-text.
IF l_mstring CS '&1'.
REPLACE '&1' WITH messtab-msgv1 INTO l_mstring.
REPLACE '&2' WITH messtab-msgv2 INTO l_mstring.
REPLACE '&3' WITH messtab-msgv3 INTO l_mstring.
REPLACE '&4' WITH messtab-msgv4 INTO l_mstring.
ELSE.
REPLACE '&' WITH messtab-msgv1 INTO l_mstring.
REPLACE '&' WITH messtab-msgv2 INTO l_mstring.
REPLACE '&' WITH messtab-msgv3 INTO l_mstring.
REPLACE '&' WITH messtab-msgv4 INTO l_mstring.
ENDIF.
CONDENSE l_mstring.
WRITE: / messtab-msgtyp, l_mstring(250).
*? Send this errors to err internal table
wa_err-msgtyp = messtab-msgtyp.
wa_err-l_mstring = l_mstring.
APPEND wa_err TO i_err.
ELSE.
WRITE: / messtab.
ENDIF.
CLEAR: messtab, wa_err.
ENDLOOP.
SKIP.
ENDIF.
ENDFORM. " bdc_transaction
*& Form f_disp_errs
text
--> p1 text
<-- p2 text
FORM f_disp_errs .
SORT i_err BY msgtyp.
LOOP AT i_err INTO wa_err.
AT FIRST.
WRITE : / text-002.
ULINE.
ENDAT.
AT NEW msgtyp.
IF wa_err-msgtyp = 'S'.
WRITE : / text-003.
ULINE.
ELSEIF wa_err-msgtyp = 'E'.
WRITE : / text-001.
ULINE.
ENDIF.
ENDAT.
WRITE : / wa_err-msgtyp, wa_err-l_mstring.
CLEAR wa_err.
ENDLOOP.
ENDFORM. " f_disp_errs
Regards -
Request deletion from Manage-Master data infoobjects
Hi All,
I have a master data infoobject, for which i have created a process chain for deleting the data. I am deleting the P and S table in a program.
When i run this chain data is getting deleted from the tables, but i see the request (green/red/yellow) in the manage section of the infoobject. I want to delete those entries as well from the manage section.
Any inputs ?
Regards,
SandeepHi,
to delete those entries you will have to delete the entries from standard SAP tables...all the tables begining with RSREQ stores the information about the requests...but you may not have authorization for that...
did you tried RSDMD_DEL_BACKGROUND or RSDMD_DEL_MASTER_DATA_TEXTS function modules....you can use in the program and use at as a ABAP variant in the process chain.
Thanks
Ajeet
Maybe you are looking for
-
No valid payment method found (T code F110 autoPayment)
Dear All, When we define ranking order in bank determination for auto payment program. System issue no messages otherwise for not defining ranking order system issues error message No valid payment method found However, i have define payment method a
-
How to get the value of the global variable of test stand in labview User interface?
Hi. Can anyone Please share examples and tell me to how access the test stand global variable using labview user interface. Solved! Go to Solution.
-
Banner on wordpress site doesn't show in safari
On my Wordpress site I have added a banner from an external link to be displayed on my frontpage. After saving it doesn't show the banner in Safari (but it does show it in Chrome and someone externally tested and said it showed in Explorer; so the ht
-
Is it possible to use adobe cs6 design standard with a mac book pro with a retina screen?
does it work in connection with a normal screen? thank you
-
Hi everybody, How can I release the RAM memory? I need to import many rows (> 10000) and insert through UDO in two tables (Document and document lines) I 've tried with: GC.Collect() GC.WaitForPendingFinalizers() after oGeneralSer