User had recently restored an APM Test Environment with a back-up taken from the APM Production Environment, and the SAP Test environment with a back-up from an earlier SAP Production back-up. The newly restored APM Test and SAP Test environments had a gap of several months between them. When the SAP FLOC and Equipment Dataload were run, the Job Service Provider would error with the following:
2019-04-25 16:01:08.1782 Error USERDOMAIN\APMINTEST$ Ivara.EXPLink.OQ.ObjectResolver [24] ObjectResolver.UnManagedCaxContainerPtr is return null for an ObjectRef(1000031442,3) that is not deleted. This means we are referencing an object that does not exist on the DB. 2019-04-25 16:01:08.1782 Error USERDOMAIN\APMINTEST$ Ivara.DataLoader.BaseDataExchangeJob`1 [24] Exception occurred processing job 'FLOC SYNC PROD-Thursday, April 25, 2019 2:00:05 AM'. Written to statistics. Context='OnPreProcessJob' The exception message was:An attempt was made to access an object (CLSID:1000031442 OID:3)that has been deleted. EXCEPTION OCCURRED:ObjectDeletedException An attempt was made to access an object (CLSID:1000031442 OID:3)that has been deleted. at Ivara.EXPLink.OQ.ObjectResolver.get_UnManagedCaxContainerPtr() at Ivara.EXPLink.OQ.oCAXContainerObject.IsMemberRelevant(Int32 iMemberID) at Ivara.EXPLink.EXD.SAPABCIndicator.get_ABCIndicator() at Ivara.EXPLink.IVSTAGE.DataLoaderAssetBaseExchangeJobExtensions.BuildABCIndicatorToPriorityDict(Dictionary`2& abcIndicatorToPriorityDict) in F:\SRC\hotfixes\7.11.0.203\APM\DataLoader\DataLoader\PartialsBentley\DataLoader\DataLoaderAssetBaseExchangeJobExtensions.cs:line 80 at Ivara.EXPLink.IVSTAGE.DataLoaderAssetSAPFLOCDataExchangeJob.OnPreProcessJob() in F:\SRC\hotfixes\7.11.0.203\APM\DataLoader\DataLoader\PartialsBentley\DataLoader\DataLoaderAssetSAPFLOCDataExchangeJob.cs:line 510 at Ivara.DataLoader.BaseDataExchangeJob`1.Process(PersistentObjectReference apmProcessJob, CancellationTokenSource token) in F:\SRC\hotfixes\7.11.0.203\APM\DataLoader\DataLoader\BaseDataExchangeJob.cs:line 278
When the SAP FLOC or Equipment Dataloads are run, APM first checks on the Mapping of the APM Consequence Priorities with the SAP ABC Criticalities. In this particular case, because the two environments (APM Prod and SAP Prod) had a gap in dates between when the back-ups were taken, there was a difference in the ABC Criticality value list from the APM Consequence Priority list. Ie, some APM Consequence Priorities were mapped to ABC Criticalities that did not exist in SAP Test. In order to prevent this from causing downstream problems, the dataload simply fails.
There are 2 potential solutions to this issue:.
1. Avoid the issue by taking back-ups of APM and SAP on the same date. This is the ideal solution to prevent the criticality mismatch but also several other potential data mismatch related errors.
2. Review the APM Consequence Priorities for those that are mapped with SAP ABC Criticality
SAP ABC Criticality (ABC Indicator) is found here:
APM Consequence Priority and mappings are found here:
For those Consequence Priorities that are mapped to ABC Criticalities that do not exist in the SAP System, you will need to find the Assets in APM and update the APM Assets' Consequence Priority to "none".
a) Make sure to keep the back-up of APM Test available to restore the environment should you mistakenly make an unintended deletion.
b) The easiest way is to use the Assets view > Listing tab > All Assets configuration with the Consequence Priority exposed as a column in the configuration.
b) Next filter the list to only include the Consequence priority in question, right-click on the column and use the replace functionality to change the Consequence Priority to 'blank" or to a consequence priority that is mapped to an existing SAP ABC Criticality.
c) Once this replacement has been done for all of the failing Consequence Priorities then delete the failing APM Consequence Priorities. You must keep the Consequence Priorities that successfully map to existing SAPP ABC Criticality.
d) Return to the Enterprise level and Mark the SAP FLOC and Equipment Process Jobs and Process Job Batches as Ready for processing. Note, you may also need to restart the Job Processing Service on the server.
After all changes are made, you will need to update the Interoperability Settings and change the date SAP Control for the SAP Extract Date. This should be set to the date of the SAP back-up used to restore the SAP Test environment.
SAP Interoperability Control settings are found here: