In my current project we have a typical system landscape where we use a project stack consisting of 3 servers (Development/QA/Production) and also a production stack. The project stack is used by multiple projects for the client and many other system connections are both added and removed on a regular basis, this activity can lead to inconsistency within the servers; especially after transporting objects.
We successfully transported a number of items to our QA system however I couldn't load any data as I kept getting an ABAP dump: ITAB_DUPLICATE_KEY. The data was loading fine in the development system so I was a little baffled!
After consulting a few SAP guru's I found the solution which I have outlined below. The cause of the issue is that even after an old system connection has been removed some unused objects can still remain, failing to be cleaned up properly, this causes duplicates and hence the ABAP dump. In short you have to identify and delete the duplicate objects yourself and then you will be able to load data again.
A screen shot of the ABAP dump is shown below:
Firstly you have to identify the duplicate objects by using program: RSAR_RSISOSMAP_REPAIR in SE38:
In that program click the Execute button without checking the 'Repair Mode' check-box (we found this to be ineffective). The resulting report should identify the duplicate objects along with the source system to which they are associated.
Now you have identified the issue you need to correct it, so view table RSISOSMAP in SE16.
We found the easiest way to identify the duplicates within this table was to change the view to Grid View. Then simply locate and delete the duplicate from the disconnected system that no longer exists. If you do not have delete permission then ask your Basis team to delete it for you.