Symptom
- A webservice is not updating phone and email information.
- When attempting to update employee phone and email from the HR system, an error response is received, stating 'Inconsistencies found in IDENTITY business object'.
Environment
SAP Business ByDesign
Reproducing the Issue
- The current Workplace Address Information includes phone and email settings.
- Post new Workplace Address Information with new phone and email settings
- The response payload indicates: Inconsistencies found in IDENTITY business object.
- The original Workplace Address Information is still displayed in the system including the same phone and email.
Cause
The issue arises due to the lack of maintenance of all details in Identification.
Resolution
Update the phone number and email using below payload and ensure that the correct format is used while providing Business Partner ID.
Sample Payload:
<n0:EmployeeDataBundleMaintainRequest_sync xmlns:n0="http://sap.com/xi/SAPGlobal20/Global">
<BasicMessageHeader>
</BasicMessageHeader>
<EmployeeData addressInformationListCompleteTransmissionIndicator="true" workplaceAddressInformationListCompleteTransmissionIndicator="true" identificationListCompleteTransmissionIndicator="true" actionCode="04">
<ObjectNodeSenderTechnicalID>1</ObjectNodeSenderTechnicalID>
<ChangeStateID>#</ChangeStateID>
<UUID>#</UUID>
<Identification actionCode="06">
<!-- Optional: -->
<ObjectNodeSenderTechnicalID>1</ObjectNodeSenderTechnicalID>
<BusinessPartnerID>000000000000000000000000000000000000000000000000000000000#</BusinessPartnerID>
<PartyIdentifierTypeCode>HCM001</PartyIdentifierTypeCode>
<EmployeeID>#</EmployeeID>
</Identification>
<WorkplaceAddressInformation actionCode="04">
<Address actionCode="04">
<ObjectNodeSenderTechnicalID>Address</ObjectNodeSenderTechnicalID>
<Telephone actionCode="04">
<ObjectNodeSenderTechnicalID>Telephone</ObjectNodeSenderTechnicalID>
<TelephoneFormattedNumberDescription>#</TelephoneFormattedNumberDescription>
<MobilePhoneNumberIndicator>false</MobilePhoneNumberIndicator>
<DefaultIndicator>true</DefaultIndicator>
<SMSEnabledIndicator>false</SMSEnabledIndicator>
</Telephone>
<Email actionCode="04">
<ObjectNodeSenderTechnicalID>Email</ObjectNodeSenderTechnicalID>
<URI>#</URI>
<DefaultIndicator>true</DefaultIndicator>
</Email>
</Address>
</WorkplaceAddressInformation>
</EmployeeData>
</n0:EmployeeDataBundleMaintainRequest_sync>
Note:
The payload will also work when adding elements of <AddressInformation actionCode="04"> and <Common actionCode="04">
# represents the relevant value. e.g.:
- E-mail address in <URI>#</URI> )
- EmployeeID in <BusinessPartnerID>#<BusinessPartnerID/>
- Phone Number in TelephoneFormattedNumberDescription>#</TelephoneFormattedNumberDescription>
For <BusinessPartnerID>EmployeeID<BusinessPartnerID/> the following is relevant:
- If Employee ID in your UI is Alpha-Numeric, then use this Employee ID "XXXX" as it is.
- If Employee ID in your UI is only Numeric, then you need to feed 60digits in this value including your ID.
- Example: Employee ID 1 - You will pass this value in EmployeeID 000000000000000000000000000000000000000000000000000000000001
Keywords
IDENTITY Business Object, Employee Data Update, HR System, Integration, Phone and Email Update, Error Response, Inconsistencies, Payload, Business Partner ID. , KBA , SRD-HR-PAD , Personnel Administration , Problem