Re: CIT - LDAP To AM error (456 Views)
Reply
Respected Contributor
brav0
Posts: 920
Registered: ‎12-07-2008
Message 1 of 5 (503 Views)

CIT - LDAP To AM error

I am having a CIT scenario between LDAP and AM5. When I run the scenario, i am seeing that scenario fails with the below error.


2012/11/14 10:06:47.000 0 1 (0) 'AssetCenter/Asset Manager' API error: 'ODBC error: [Microsoft][ODBC SQL Server Driver][SQL Server]NoDupIndexTriggered : 'amEmplDept.EmplDept_IDNo' SQLSTate: 37000\nIndex error: A record in table 'Employees and departments (amEmplDept)' with the value '300091507' for field 'ID # (IDNo)' already exists in the database.'
2012/11/14 10:06:47.000 0 1 (0) Element rejected due to rejection of a sub-element or an unrecoverable error.

 

 

I verified the ID 'mentioned in the error with LDAP and AM and could find that this is a valid record. I checked the reconcilation key set on the mapping, and it is set on the contactName .

Could any1 please guide to fix this.


Thank you
Dev.

I am Listening..
Respected Contributor
brav0
Posts: 920
Registered: ‎12-07-2008
Message 2 of 5 (501 Views)

Re: CIT - LDAP To AM error

Also attaching the mapping screenshot.

I am Listening..
Honored Contributor
Mark Cullen_1
Posts: 1,236
Registered: ‎03-17-2010
Message 3 of 5 (485 Views)

Re: CIT - LDAP To AM error

Your reconciliation keyset includes IDNo field so, from what I could see in the screenshot, BarCode, IDNo, and UserLogin COMBINED means the record being imported is unique.  There is also an out of the box index constraint (Designer app) for IDNo field stating it must be UniqueOrNull.  Since the error is stating duplication this means there is already another employee record with the same IDNo value.  Since you can only have one employee record with IDNo you will either have to modify your reconciliation keyset or identify the employee record(s) being imported with existing employee records already in the amEmplDept table.  Do all the other employee elements match what already exists in amEmplDept?

Respected Contributor
brav0
Posts: 920
Registered: ‎12-07-2008
Message 4 of 5 (463 Views)

Re: CIT - LDAP To AM error

Hello Mark,

 

Thank you very much for the reply on the post.

 

Sorry for the delayed response from my end.

 

As you have mentioned, when I recieved this error, first thing whcih I checked is whether multiple records are there in amEmplDept table with the same ID no or user name (reconcilation key set in the mapping). But I could find only a single record.


would you be able to tell me why the mapping isnt updating the record, rather than trying to insert ?.

 

THank you

 

I am Listening..
Honored Contributor
Mark Cullen_1
Posts: 1,236
Registered: ‎03-17-2010
Message 5 of 5 (456 Views)

Re: CIT - LDAP To AM error

The reason why the mapping isn't updating the record rather than trying to insert is due to the reconciliation keyset values COMBINED cannot find that one existing employee record.


Stating another way...if your reconciliation keyset was just on the IDNo element then the process would find the existing employee record and update (baring all other factors).  That one employee record that already exists with that IDNo value has one or more different values for the other elements making up the reconciliation keyset; so the process is trying to insert an employee record.

EXAMPLE

Existing employee record
BarCode = A
IDNo = B
UserName = C

CIT process employee record
BarCode = D
IDNo = B
UserName = E

Since all three elements make up the reconciliation keyset, the process is trying to insert a new employee record because all three element values COMBINED is not found in the table.

When the process tries to insert the new record, the Designer application index constraint for IDNo element is triggered causing your error.


I believe out of the box Designer application index constraints exist for BarCode and IDNo but not for User Name so even if BarCode and IDNo values were the same between the existing employee record and what the CIT process is trying to load, the process will still fail due to the UserName value being different (see example below)...

Existing employee record
BarCode = A
IDNo = B
UserName = C

CIT process empoloyee record
BarCode = A
IDNo = B
UserName = D

This last example is most likely what is happening; the BarCode and IDNo values are the same between what is being loaded into the system and what already exists in the system.

Out of the box the BarCode element is Mandatory so every employee record MUST have a value for this element.

I hope this is making more sense.

The opinions expressed above are the personal opinions of the authors, not of HP. By using this site, you accept the Terms of Use and Rules of Participation.