Sunday, September 23, 2018

All about Data writing job "Default channel database batch job(RetailCdxChannelDbDirectAccess)" in Dynamics 365 Retail


Hi Guys,

Today I would like to discuss about the importance of  "Default channel database batch job(RetailCdxChannelDbDirectAccess)" in Dynamics 365 Retail and its role.

This job main duty is to check all Download sessions and Upload sessions with status “Available”, then it will apply the data to respective target DB's (AX or channel DB).
There will be few case we could see all distribution schedule jobs struck in executing state and not Applied, there could be following reasons for this issue.

1. Please check if the “Data writing job” assigned to channels

2. Make sure “Default channel database batch job(RetailCdxChannelDbDirectAccess)” is running



3. Restart the “Microsoft Dynamics AX Batch Service” on all AOS VMs. This will update any cached connection credentials that may be used when running a CDX data sync. (done by DSE if PROD => you need to raise a ticket)




How to setup Data writing batch job or recreate the same if existing have issues:- 

      The DataWritingBatchJob is automatically generated by the system when we run a full sync- 9999 job, it will create the batch job and update that field.
    
      Please run a Full Sync-9999 job and it will recreate the missing Retail DataWritingBatchjob.

      If the issue is still persists and the system thinks it already exists, then you need to reset DataWritingBatchJob in your UAT AX DB as shown below for RCSU channel database.   

      Restart the “Microsoft Dynamics AX Batch Management Service” under Services.msc on all AOS VMs.


      Now the next time when you run a Full sync-9999 job it should automatically recreate the the DataWritingBatchJob and update the field.

Hope this helps, I will come up with next blog post about Retail configuration and how to make distribution schedule jobs up and running when we do restore DB in D365 Retail.

Thank you!





10 comments:

  1. The DataWritingBatchJob is automatically generated by the system when we run a full sync- 9999 job, it will create the batch job and update that field.

    Please run a Full Sync-9999 job and it will recreate the missing Retail DataWritingBatchjob.

    If the issue is still persists and the system thinks it already exists, then you need to reset DataWritingBatchJob in your UAT AX DB as shown below for RCSU channel database.



    Restart the “Microsoft Dynamics AX Batch Management Service” under Services.msc on all AOS VMs.

    Now the next time when you run a Full sync-9999 job it should automatically recreate the the DataWritingBatchJob and update the field.

    ReplyDelete
  2. Thank you Ammar for adding additional info and its is very helpful and updated the same in blog as well.

    ReplyDelete
  3. Hi Ammar. will you please suggest as I am facing the issue when I am running the full sync job "9999" Data writing job job is not assigned to channel DB. any suggestion.

    Regards Humayun

    ReplyDelete
    Replies
    1. You will need to update the field in SQL to 0 so it will be updated automatically again once you run the 9999 job next time, check image:
      https://ibb.co/zNTvWVJ

      Delete
  4. hi, how i can get Default channel database?? after perform AX 2012 Data upgrade i can't find Default channel database

    ReplyDelete
  5. Have tried following steps? if not just try.

    1. Open the "Retail Parameters" form, and press the "Initialize" link under the "General" tab. Answer "Yes" to the prompt. This will provide any new Retail seed data.

    2. Open the "Initialize Retail Scheduler" form, and run it with "delete existing configuration" set to "yes".

    Note: Its recommended to database backup before you run these steps.

    ReplyDelete
  6. thank you Jayaprakash for your attention, but i tried this before but still not found.

    ReplyDelete
  7. Hi Jayaprakash, I am having P job running on D365FO development box. but somehow my CPOS sales order transactions are not coming to headquarters. There are no upload sessions. Default channel database job is also running fine. Download sessions are working as expected. I ran full 9999 sync and it was also fine. Only Upload sessions are somehow not getting generated even though P job shows that it's ended. there is nothing in the Batch job Logs. Any idea what could be wrong?

    ReplyDelete
    Replies
    1. In the channel database the following table is checked for each table:

      SELECT ISNULL(MAX(FilterMax), 0) FROM crt.TABLEREPLICATIONLOG WHERE TABLENAME='ax.RETAILTRANSACTIONSALESTRANS' AND FILTERFIELDNAME = 'REPLICATIONCOUNTERFROMORIGIN'

      This check is done with all the tables that is sent to the HQ.
      So one thing you could do is to force the Channel Database into thinking that the records haven’t been uploaded to Async Server. If that table was cleared out it would “reset” the channel database and it would re-upload all records into a new RPF file. This should be OK since any duplicate transactions would be ignored by AX.

      Follow this steps:
      1. Stop the AsyncClient in the StoreDB machine
      2. Make a backup of the Channel Database
      3. Delete records from table crt.TABLEREPLICATIONLOG
      4. Start the Async Client
      5. Run the P-job

      Try the same in Dev box first

      Delete