cancel
Showing results for 
Search instead for 
Did you mean: 

Could not transform by expression resolve('CanonicalParty').externalPartyId

Former Member
0 Kudos

Hello Experts,I am getting an error in datahub when creating Employee as a target type using DEBMAS,ADR3MAS and ADRMAS.I have created the different Raw,Canonical and Target type for Employee. I am differentiating B2Bcustomer and Employee on the basis of tag "KTOKD" present in DEBMAS.The impex is generated of Employee but only the values of ADR3MAS are stored and not the DEBMAS.I want both the DEBMAS and ADR3MAS data to get stored in Employee . In log it is giving the error "Could not transform by expression resolve('CanonicalParty').externalPartyId". While running the IDOC(DEBMAS,ADR3MAS and ADRMAS) from Rest Client I am getting this error. [ERROR] [c.h.d.s.p.i.DefaultCanonicalToTargetItemConverterService] Failed to create a target item from CanonicalItem{id='20', integrationKey='0020433012_KNA1|0000233254_KNVK|HAS_CONTACT_PERSON', status=SUCCESS, dataPool='DataHubPoolEntity{id=9301, name=SAPCUSTOMER_INBOUND_POOL}', batchId=0000000766743767|ZTE6100|ADR3MAS03, traceId=75f534ba-06e3-332c-a6b4-44a848a090dd, uuid=946eaf37-68cc-4a76-aeb2-7b16b0532a03, documentId=0020433012_KNA1, fields='{relationshipType=HAS_CONTACT_PERSON, relatedPartyId=0000233254_KNVK, partyId=0020433012_KNA1}'} Could anyone please guide me for this error.

Accepted Solutions (1)

Accepted Solutions (1)

Slava
Advisor
Advisor
0 Kudos

The error indicates that no CanonicalParty item found with value of its integration key equal to '0020433012_KNA1|0000233254_KNVK|HAS_CONTACT_PERSON'. It's hard to say why, especially because I don't know the business case. Possible reasons are:

  • CanonicalParty indeed was not loaded and does not exist

  • CanonicalParty has a different integration key (the context item has a complex integration key consisting of three attributes marked as primary key). Same is expected from CanonicalParty - conceptually same fields in the same order.

Select all integration keys from CanonicalParty and see 1) if the way they look makes sense 2) the values and order matches the key value in the exception.

Answers (3)

Answers (3)

Former Member
0 Kudos

Please find the Canonical and Target Files attached

Former Member
0 Kudos

Please find the Raw files attached

Former Member
0 Kudos

Thankyou for your response Slava. The business case is we have to create Employee on the basis of different "KTOKD" tag which is present in DEBMAS .Actually we don't want to create the Canonical Party for "Employee" type. I have created different flow for Employee Type based on different "KTOKD", but I don't have any idea that why it is calling Canonical Party.I have tried removing the dependency of "sapcustomer-raw" but its giving the same error.

Please find the code snippet.-- For KTOKD "Z010" and "Z013" we have created different channels, service activator,mapping services link textlink text

Slava
Advisor
Advisor
0 Kudos

If you don't need to publish CanonicalParty and don't have it, try to override the target attribute that has resolve('CanonicalParty').externalPartyId expression. Details are here. https://help.hybris.com/6.7.0/hcd/d20e0c9523754493b38e19d3be28ec64.html

Instead of override='true' just specify disabled='true'. That way the target item will not have the attribute and will not run the expression that is failing.