DMF Issue While Inserting Records to The Target

Hi All,
In the Data Migration Framework AX2012 CU1 whenever I’m using “Batch job” my target table is getting inserted by only one record even though I’m having More than one record in my staging.
For Eg:
I’m inserting the below data to my Staging table say “DMFItemTable” All the records are inserted to the staging.
*Using Pipe File Format to insert the data
TypeCol | ItemCol | TypeColCust | CustCol

  1. Table|1000007|Table|10064
  2. Table|1000007|Table|10064
  3. Table|1000521|Table|10064
  4. Table|1000002|Table|10064

When I tried to insert from staging to Target using (Through Batch Job) table say “ItemTable” I’m not able to see all the records in the target(One record is inserted) Like the below one.
TypeCol | ItemCol | TypeColCust | CustCol

  1. Table|1000007|Table|10064

While inserting the same data without Batch job I’m able to see all the records in the target table.
Can any have thrown solution or light on this issue would be greatly appreciated?

If the only difference is in batch processing, it’s possible that your CIL isn’t up-to-date, therefore you’re different code gets executed in each case.

Thanks, Martin.

CIL is in Update to date.

Specially I do not understood that you mentioned in previous post like. "therefore you’re different code gets executed in each case."

Could you please explain me martin what you actually wanted to convey ?

I meant that X++ and CIL are two separate code bases. You can completely change your X++ code and the impact to CIL will be exactly zero until you generate CIL.

Thank You Martin.

Dear Martin,

I also have a problem with a batchjob in combination with Data Import Export framework. The write data to target job ends in 1 second and no data is written in AX, also the target step status is changed to Withhold. If I manually try to write data to target in the Import Export Framework, I have no problem. Martin can you tell me what steps to take to update CIL? Is it:

  • Compile application

  • Compile into .NET framework CIL

  • Synchronize database


Welcome to the forum. Also I guess your problem is in “Recurrence” while running the batch job.
Have tried setting the recurrence and interval of the batch job ?

Hi Sakthiananth,

Thank you for your reply!

When I created the batchjobs via DMF, I didn’t setup a recurrence pattern, I let the job run once and then I went to batch job → Functions → Remove recurrence.

This is because I want to start the batch jobs via an SQL stored procedure. The stored procedure first sets the staging job in status waiting, then the staging job executes perfectly. After the staging is completed the stored procedure sets the target job in status waiting. Then the job executes for 1 second and no data is transferred, the job status is ended. In DMF all the records are status: not started, and the target status is on withhold. Then I run a cleanup staging job which deletes all staging records. I want to use the same batch job, so I can select the job in my stored procedure.

I’m running the compile now, so I will test it further tomorrow and let you know if anything changed.

Hi Sakthiananth,

I did an full compile tried it again and I get the same error. Do you have other suggestions for me?

It is because the batch job tries to write a different number of records each day ? One day it could be 5 records and the next day it could be 10 records.

I really sorry ASA for the issue on DMF in batch process. Even I could not able to find the solution either.

if you found some thing please do post us.

Did you get any solution for the above issue?