Resolving - Page of Data errors

How to resolve page of data errors.

When running a scheduled Scribe solution for CRM to Acoustic Campaign Integration, sometimes the CRM connector may have a problem querying the records in CRM as specified in the Scribe Query or Lookup blocks. The built in APIs for each CRM connector have batch settings that break up the original query in batches called Pages when hundreds or thousands of records, depending on the batch size set, are identified to be processed for the next Update\Insert\Create\Delete\Upsert operation(s).

A Paging Cookie is used to bookmark the first and last records processed. If the query or next operation is stuck on a record that happens to be bookmarked, an error will occur in Scribe online identifying the problematic record as the last and first record in the paging cookie, or just the starting record for the next page or batch to be processed. This generally causes a Fatal Error in Scribe Online since the CRM API query and next operation can’t bypass the record identified.

Symptoms

An example from a Dynamics 365 sync is the following:

Unable to get the next page of data. Dynamics 365 has not advanced the page cookie for Entity: sp_engagecampaign, PagingCookie: <cookie page="1"><modifiedon last="2019-10-10T04:51:41-04:00" first="2019-10-10T04:51:41-04:00" />< last="{9152BFE3-3AEB-E911-A967-000D3A124EF5}" first="{9152BFE3-3AEB-E911-A967-000D3A124EF5}" /></cookie>

Scribe Online is suggesting 'I can’t complete the requested query, or next operation, for the record identified”,

For Microsoft Dynamics CRM related “Page of Data” errors, Scribe Online support has identified two possible causes:

An example from a SugarCRM sync is the following:

Error: Object reference not set to an instance of an object.. Could not retrieve page of data from: https://demoorg.sugarondemand.com/rest/v11/Contacts/605d1e1e-ee96-11e8-b35b-06d48441b777/link/accounts?max_num=500

Object reference not set to an instance of an object.

Again, Scribe Online is suggesting 'I can’t complete the requested query, or next operation, for the record identified - or the batch of records included with this starting record”.

Open an Acoustic Campaign CRMi Support case for help troubleshooting the error but also refer to the following sections to begin troubleshooting or resolution.

Resolving the error

For both examples, if the error persists for subsequent Scribe Online executions, and continues to show the same ID, then the sync cannot continue for other records until the identified record is addressed. If the error is intermittent or the ID changes, then the sync was able to overcome the issue for the previous record that produced the error.

For persistent Microsoft Dynamics CRM errors - Depending on the CRM Entity involved, re-modifying the record in CRM can change the “modified on” date so it can be captured and processed correctly during the next Scribe Online execution cycle.

Note: For Microsoft Dynamics CRM errors related specifically to the “sp_engagecampaign” entity. The error also points to a Parent Campaign being renamed and resynched in CRM. Refer to the Troubleshooting Dynamics CRM Campaign to Contact List feature section for more details

For persistent SugarCRM Errors – Troubleshooting the identified record is best.

Bypassing the faulty record in Scribe Online

For errors that persist with the same id, the record can be bypassed in the Filter section of the Query block until a CRM Admin can troubleshoot the record directly in CRM.

In the map affected, edit the Query block, go to the Filter tab and add a filter criterion

And/Or Field Operator Value
  sp_engagecampaignid Is not equal to Use the record id in the error message
  id Is not equal to Use the record id in the error message
  Contactid Is not equal to Use the record id in the error message
  Leadid Is not equal to Use the record id in the error message
Note: If more than 1 record is producing the error intermittently for the same entity, add more filters using the "And" parameter:
And/Or Field Operator Value
  sp_engagecampaignid Is not equal to Use the record id in the 1st error message
and sp_engagecampaignid Is not equal to Use the record id in the new error message
and sp_engagecampaignid Is not equal to Use the record id in the new error message
and sp_engagecampaignid Is not equal to Use the record id in the new error message
  • Click Validate and Ok to ensure the filters are saved. Ok will save and close the query block.
  • Click Validate, Apply, and Ok to save and close the map.

Troubleshooting the record(s) via Scribe Online

To troubleshoot the identified record in the error via Scribe Online:

  1. Duplicate the affected map, giving it a different name. Disable this map so it does not execute with the scheduled solution.
  2. Export the duplicated map from the solution.
  3. If a troubleshooting solution does not exist, create a new solution.
  4. Import the duplicated and exported map into the troubleshooting solution.
  5. Once imported, enable and customize the map by Editing the Query block, go to the Filter tab and add a filter criterion
And/Or Field Operator Value
  sp_engagecampaignid equals Use the record id in the error message
  id equals Use the record id in the error message
  Contactid equals Use the record id in the error message
  Leadid equals Use the record id in the error message

Again, if more than 1 record is producing the error intermittently for the same entity, add more filters using the “And” parameter.

  1. Click Validate and Ok, to ensure the filters are saved, Ok will save and close the query block.
  2. Click Validate, Apply, and Ok to save and close the map.
  3. Go back to the Query block and use the preview tab to the review the record(s) for anything that may conflict with the query being sent to CRM.
  4. If the preview returns “No Records Found” then it suggests the record has been deleted in CRM after the Scribe Online Query started and cached the record as being available for processing. This is common when records in CRM are being modified or deleted during the same time a Scribe Online solution is running.