Symptom
User using QueryContactIn to obtain contacts modified since lastchange date and it is not working as expected.
Environment
SAP Business ByDesign
SAP Cloud for Customer
Cause
The XML that is used for finding the contact for which changes have occurred after a specific date/time is not exactly giving the right parameters:
- The parameter is called "SelectionByChangedSinceDateTime" instead of "SelectionByLastChangeSinceDateTime".
- The given time stamp must have the format "yyyy-mm-ddThh:mm:ss.1234567Z" (SAP recommend to include the 7 number after the decimal point).
The query underlying this web service is designed to deliver "Query By Role Contact Person Or Relationship Is Contact Person For user".
Parameter which maps to the Last Change Date/Time means that all contacts which are returned are changed by system after the given date/time, or the relationships of the related user are changed after the given date/time.Hence query you are executing might return more contacts than expected if you look at the response XML.
Resolution
The "parameter part" of the XML (without SOAP header etc) for example should be like as shown below:
<ContactSelectionByElements>
<SelectionByChangedSinceDateTime>yyyy-mm-ddThh:mm:ss.1234567Z</SelectionByChangedSinceDateTime>
</ContactSelectionByElements>
<ProcessingConditions>
<QueryHitsUnlimitedIndicator>true</QueryHitsUnlimitedIndicator>
</ProcessingConditions>
Keywords
QueryContactIn,SelectionByChangedSinceDateTime,SelectionByChangedSinceDateTime , KBA , querycontactin , selectionbychangedsincedatetime , SRD-CRM-ACC , Account Management , Problem