cancel
Showing results for 
Search instead for 
Did you mean: 

ITAB_DUPLICATE_KEY error when loading Master Data

Former Member
0 Kudos

I am also getting this misterious ITAB_DUPLICATE_KEY error when I try to load master data text from the PSA into an InfoObject using a DTP.

I tried delta and full load, with and without the "handle duplicate record keys" option set - no success. Recreating the DTP and the transformation did not help either. Interestingly enough, even with no data in the PSA, the following dump occurs:

ITAB_DUPLICATE_KEY

A row with the same key already exists.

ABAP Program: SAPLRSAODS

Identical key in function RSAR_ODS_GET, DATA=L_TH_ISOSMAP

We are on NW2004s, SP10.

Any ideas on how to fix this?

Accepted Solutions (1)

Accepted Solutions (1)

Former Member

Hi Dennis,

Can you try executing the program RSAR_PSA_DUPL_REC_CHECK with request id and let us know the result..

Former Member
0 Kudos

I tried to run this program with SE37 and SE38, but it does not exist in my System (NW2004s, SP10).

When the dump occurs, no request id has been generated yet (I checked in the monitor), therefore I do not think that I could run RSAR_PSA_DUPL_REC_CHECK succussfully anyway.

Former Member
0 Kudos

Can you run this in se38 RS_FIND_ISOSMAP_DUPREC ..

and RDDPUTR_FIND_DUPLICATE_KEYS

Former Member
0 Kudos

Manga,

thank you very much for your help.

When I run RS_FIND_ISOSMAP_DUPREC, I get one row back:

Double Transtructure 0GL_ACCOUNT_T011_HIER_BB1 : Systems C11_020 / MBP_600

DataSource 0GL_ACCOUNT_T011_HIER

Running the RDDPUTR_FIND_DUPLICATE_KEYS does not return anything.

While the first result seems to point to a problem, it does not seem to be related the InfoObject I am trying to load at all.

1. What would be the steps to fix the issue identified with RS_FIND_ISOSMAP_DUPREC?

2. I am still getting the ITAB_DUPLICATE_KEY dumps when running the DTP. Any other ideas?

Thank you,

Dennis

Former Member
0 Kudos

sorry to bother you dennis,

can you run the program RSAR_RSTSODS_DUPLICATES in se38 and let us know the result..

Former Member
0 Kudos

This indeed delivers a list of duplicates:

Duplicate usage of table: /BIC/B0000166000 in:

PSA: /BIC/B0000166 Version: 001

PSA: /BIC/B0000166 Version: 000

Duplicate usage of table: /BIC/B0000202000 in:

PSA: /BIC/B0000202 Version: 004

PSA: /BIC/B0000202 Version: 001

PSA: /BIC/B0000202 Version: 002

PSA: /BIC/B0000202 Version: 003

PSA: /BIC/B0000202 Version: 005

PSA: /BIC/B0000202 Version: 000

Duplicate usage of table: /BIC/B0000271000 in:

PSA: /BIC/B0000271 Version: 001

PSA: /BIC/B0000271 Version: 002

PSA: /BIC/B0000271 Version: 000

Duplicate usage of table: /BIC/B0000272000 in:

PSA: /BIC/B0000272 Version: 000

PSA: /BIC/B0000272 Version: 001

Duplicate usage of table: /BIC/B0000273000 in:

PSA: /BIC/B0000273 Version: 000

PSA: /BIC/B0000273 Version: 001

Duplicate usage of table: /BIC/B0000429000 in:

PSA: /BIC/B0000429 Version: 000

PSA: /BIC/B0000429 Version: 001

Duplicate usage of table: /BIC/B0000447000 in:

PSA: /BIC/B0000447 Version: 001

PSA: /BIC/B0000447 Version: 000

Duplicate usage of table: /BIC/B0000482000 in:

PSA: /BIC/B0000482 Version: 000

PSA: /BIC/B0000482 Version: 001

PSA: /BIC/B0000482 Version: 002

Duplicate usage of table: /BIC/B0000544000 in:

PSA: /BIC/B0000544 Version: 000

PSA: /BIC/B0000544 Version: 001

Are there supposed to be that many versions or has this to be fixed? I would I fix this?

Former Member
0 Kudos

If you have these duplicate records in RSISOSMAP table ..even if your current datasource that you working is not among these..but then also throws this kind of error. Try deleting these duplicate entries from this table ..

Alternatively try executingthe 'RSAR_TRANSTRUCTURE_CHECK' report. This report finds transfer structures/(update rules) with missing DataSource assignments or DataSources and selects them as inconsistent. The report can delete inconsistent transfer structures

Message was edited by:

Manga

Former Member
0 Kudos

I have looked up the most recent request and filtered the table with the duplicates by excluding the most recent request. My intention is to delete all this filtered data. Now I got stuck, because the change and delete commands are grayed out. I tried SE11 and SE16.

How can I delete this table data?

What is this table used for, i.e. what impact does it have if I delete this data?

Thanks for your help!

Former Member
0 Kudos

So if you are sure which requests are with duplicate data..can you go to RSRV transaction Go to PSA tables folder.. you should see Consistency bewtween PSA...and PSA Duplicate Record check.. select the PSA duplicate record check and and give request number.. and press execute.. seee if there are errrors..then click on Correct Error and execute..

BTW..did you try this as mentioned in previous reply

Alternatively try executingthe 'RSAR_TRANSTRUCTURE_CHECK' report. This report finds transfer structures/(update rules) with missing DataSource assignments or DataSources and selects them as inconsistent. The report can delete inconsistent transfer structures

Message was edited by:

Manga

Former Member
0 Kudos

Sorry, I missed the RSAR_TRANSTRUCTURE_CHECK report. When I run it, it asks for an Infosource and Transfer structure, but we are using the new Transformation / DataTransferProcess concept. How can I match the parameters there?

ISOURCE

LOGSYS

TRANSTRU

I will clean up the tables with duplicates according to your instructions tomorrow morning and will post the results here.

Former Member
0 Kudos

I followed your instructions for testing the PSA consistency, but when I execute the tests, I get another dump:

MESSAGE_TYPE_X

Program: CL_RSRV_PSA_DUPL_CHECK====CP

Include: CL_RSRV_PSA_DUPL_CHECK====CM00A

Row: 20

Module Type: (Method)

Module Name: GETCOMPOUNDED_IOBJ

For the parameter, I have used the technical name of the latest (successful) PSA request.

Former Member
0 Kudos

I have looked at the code in the class CL_RSRV_PSA_DUPL_CHECK method GET_COMPOUNDED_IOBJ its failing because either it is findinf no entry single entry or getting more entries as the select is trying to get one entry.

You need to delete the duplicate enrtires in the table RSISOSMAP.

Two things

1) you need to check for your OLTPSOURCE,LOGSYS and ISOURCE entry for your datasource that you are trying to laod if you get one entry then you are ok.. if you get no entries then you need to add an entry.

2) And you need to delete the duplicate entries that you have listed above , keeping only the latest versions of each one of them..

You should have access to delete the entry in table RSISOSMAP.

Message was edited by:

Manga

Former Member
0 Kudos

OLTPSOURCE does not recognize 7.0 datasources. Because this is a 7.0 system, when I filter the table by excluding SAP objects (ISOURCE <> 0*), I only get two table entries - old 3.5 data sources.

The datasource that I am trying to load into an InfoObject is a 7.0 datasource.

I created a new datasource, infopackage, transformation and DTP but I still get the same error. This is also the case when I try to load another InfoObject from the PSA.

Former Member
0 Kudos

I am not sure why you have given not include 0* assuming SAP objects..

OLTPSOURCE -


please give your infoobject name here

LOGSYS BWE100----should be your BW system

OBJVERS A--Active

ISOURCE most cases same as your infoobject----


give your infosource

TRANSTRU yourinfoobject_AA ---should work

ISOSTYPE O----


indicates Master data infoobjects

ISTYPE M----


Masterdataattributes..give H-forhierrarchy,or T-text

And also try the earlier trans struct program i gave with these parameters

Message was edited by:

Manga

Former Member
0 Kudos

I finally got this issue resolved by implementing OSS Note 1008276 (and depending ones).

All DTPs load fine again.

Thanks for your help, Manga

Happy New Year to everyone!

Answers (2)

Answers (2)

Former Member
0 Kudos

Issue resolved. See my last post.

Former Member
0 Kudos

Dennis

Please check this thread

Before loading data in to BW check in RSA3 for duplicate records also see this thread

https://forums.sdn.sap.com/click.jspa?searchID=540928&messageID=2797802.

Thanks

sat

Former Member
0 Kudos

I went through this list, but I cannot find any duplicates in table RSISOSMAP using SE16. Is there a better way of finding them than sorting and manually going through the table?