web
You’re offline. This is a read only version of the page.
close
  • Dual Writes should not try and update All existing Quotes when amend a Customer Address

    Dual Writes exists to link D365 F&SCM to D365 CE systems.


    If try to amend an existing Customer Address that is purpose "Business" to also be purpose "Invoice" get a dual Writes error "Unable to write to data entity quotes. Writes to ProjQuotationHeaderEntity failed with error message request failed with status code Bad Request. The quote cannot be activated because it is not in DRAFT state".


    NOTE - if Dual Writes does not exist then can amend the Customer Address ok to also set to purpose "Invoice".


    Microsoft have confirmed this is STD system behaviour when Dual Writes exist. : "I would like to inform you that after deeper investigation and after checking the code, as well, I concluded that the system is working as per original design, so I would like to bring more clarity and provide options to overcome this or change the behavior. The behavior is the following: when the customer address is updated (either the purpose, or anything else in the address), the system will send an update to CE to all the sales orders/ sales quotations/ project quotations which include the modified address (more specific, the system is trying to update all orders/ quotes that are associated, no matter their status). This scenario was raised with Product Group, and we got confirmation that this is the original behavior when an address is being changed in FnO. "


    It does not make logical sense that Dual Writes would try and update ALL Quotations on the system as those Quotations are completed / cancelled so should not being getting updated. Without Dual Writes in place it works ok so std F&SCM is clearly NOT trying to update existing Quotations.


    Microsoft have advised as a partner we would have to write customisation to bypass this validation : "From 10.0.41, our Engineering Team made SalesOrderHeaderCDSEntityRecordIdSelectorLogisticsPostalAddress, SalesOrderLineCDSV2EntityRecordIdSelectorLogisticsPostalAddress and SalesOrderLineCDSEntityRecordIdSelectorLogisticsPostalAddress extensive for giving customers/ partners the option to create an extension and skip the update of all orders/ quotations. However, I could not confirm what is the class that is being triggered/ called in our scenario".


    This new idea is to propose the following;

    • Dual Writes should ONLY try to update existing DRAFT Quotations that have the Customer Address we are trying to amend
    • this makes more logical sense as Closed quotes are completed and should not be updated (especially when the change is not a physical address change, it's just setting an existing "business" address to also be "invoice" purpose)
    • having a partner/customer have to develop code extensions to correct Microsoft bad design is not a solution


    Please review and implement this change in a future release.