DMF PARALLEL
PROCESSING ISSUE AND
RESOLUTION
Introduction
DMF Parallel Import issues: we can have import of Different entities in Parallel, but same entities cannot
be imported in Parallel. E.g. We can import Vendors and General Journal in Parallel, but we cannot have
parallel import of multiple jobs for same entity (e.g. General Journal import from ROS, OMT , OMS in
parallel)
The following exceptions were discovered during the import
XML is not in correct format and thus 0 General Journal records are inserted in staging.
Cannot edit a record in Entities for a processing group (DMFDefinitionGroupEntity).\nThe record
has never been selected.
Cannot delete a record in Source (DMFDefinitionGroupEntityXMLFields).\nDeadlock, where one
or more users have simultaneously locked the whole table or part of it.",
Exception occurred while executing action ImportFromPackage on Entity
DataManagementDefinitionGroup: BOX API can't be used from non-interactive sessions
'The record already exists’
"Cannot create a record in Source (DMFDefinitionGroupEntityXMLFields). Entity: Purchase order
headers V2, ACCOUNTINGDATE.\nDeadlock, where one or more users have simultaneously
locked the whole table or part of it.",
Solutions considered
Solution 1: Use Recurring integration from D365FO [Recommended]
The solution uses out of the box Recurring integration module of D365FO to queue the Jobs. The module
will ensure the sequential execution of the Job.
Changes required for the implementation
ASB should point API end Point from DMF to Recurring Integration end point
The package is directly is loaded as Stream in the message body instead of Blob storage
The Parameters
− Environment URL
− Legal Entity
− Job ID : It is unique per environment per entity
− Job Name
− Entity Name
The below diagram shows the old scenario
The diagam
Solution 2: Merge files into One Load File
Merge all the General Journals to one Load file and then Load the in a single DMF Import Job
Con:
1. In case of error during the load, it won’t be possible to identify the Journal Line with the error.
Error Handling and monitoring will be hard.
2. ASB needs to have additional Logic to Merge the files
Solution 3: Gather the files and Load using a scheduler
Gather all the General Journals and load them using DMF Import Job and waiting until the Job is
complete. Once the Job is complete then queue the next job.
Con: ASB must build a custom scheduler to monitor the Job.
Technical Implementation
Resolution to the problem is to use Recurring Integration. The recurring integration provides
Queuing mechanism for Data Jobs (import/export)
The module will ensure the sequential execution of the Job.
The module provides opportunity to ordered execution of the Jos
The complete flow to import job to recurring integration is shown below
Step 1: The third Part application (ASB) requests the