User initially reported that ABC Criticality was not updating in SAP via SAP Interoperability when consequence priority was updated in APM. It was found that the Job Processing Service was actually stuck on a Process Job running the SAP FLOC and Equipment Dataload and wasn't getting to the outbound abc criticality update. The code was reporting that the abc criticality didn't map to the consequence priority but this is because it wasn't actually loaded to the stub object. After troubleshooting with the user and doing some local experimentation we were able to replicate the same error message by leaving the SAP External Data Provider Crenentials blank;"2019-03-18 19:27:10.0697Z Error BENTLEY\APMServer$ Ivara.EXPLink.IVSTAGE.DataLoaderAssetSAPFLOCDataExchangeJob [33] Failed to extract floc records from SAP EXCEPTION OCCURRED:ObjectDeletedException An attempt was made to access an object (CLSID:1000031392 OID:1)that has been deleted. at Ivara.EXPLink.OQ.ObjectResolver.get_UnManagedCaxContainerPtr() at Ivara.EXPLink.OQ.oCAXContainerObject.IsMemberRelevant(Int32 iMemberID) at Ivara.EXPLink.EXD.SAPPlant.get_Plant() at Ivara.EXPLink.IVSTAGE.DataLoaderAssetSAPFLOCDataExchangeJob.OnPreProcessJob() in F:\SRC\hotfixes\7.11.0.203\APM\DataLoader\DataLoader".
The true problem was that the Process Job was failing to update the APM SAP Stub object when attempting to run the dataload due to missing/bad cached SAP username and password.
We cleared the cached credentials by switching between Shared and Per User options and restarting the services. We found that occasionally when refreshing the Process Job service that the credentials in the SAP External Data Provider were being nulled out. We believe that this may be a consequence of switching between Per User and Shared authentication types on the External Data Provider and running a service refresh from the Enterprise view > Services tab.Once the SAP credentials for the SAP External Data Provider were properly set and cached, the User's Process Jobs for SAP FLOC dataload and SAP Equipment dataload was running successfully after the session and the outbound SAP ABC Criticality was being updated properly.