MyRapidi
MyRapidi

Search our Wiki

MS Dynamics BC Item Price->D365 Sales Product Price Level Add/Update

This transfer will transfer new and updated MS Dynamics Business Central Items Prices into D365 Sales Productpricelevel. All mappings are either 1:1 or additional lookups have been created. However, there are specific mappings where you have more than 1 option to map the indicated fields:

  1. Sales_Unit_of_Measure -> uomid
  2. Business Central Field D365 Sales Field
    ##LSLOOKUP('UOM'+'#REVERSE',"Sales_Unit_of_Measure") uomid
    ##DBLOOKUP('DESTDS','uom','name','Primary Unit','uomid') uomid

    Note: In Business Central, the Sales_Unit_of_Measure is a pre-defined picklist which will allow you to use only the available options. In D365 Sales, defaultuomid is a GUID field and a 1:1 mapping is not possible.

    • Formula ##LSLOOKUP('UOM'+'#REVERSE',"Sales_Unit_of_Measure") where the uomid is retrieved from an existing lookup table called UOM. This data is provided by a separate transfer which updates the link storage/lookup table called UOM;
    • Formula ##DBLOOKUP('DESTDS','uom','name','Primary Unit','uomid') where one lookup is made on the destination system in order to retrieve the uomid.
    • Note: In D365 Sales, you have to create a Unit Group first and then the unit of measures that you are planning to use. It’s not recommended to create 1 Unit Group for each unit of measure as they will require additional lookups.

  3. defaultuomscheduleid
  4. Business Central Field D365 Sales Field
    ##DBLOOKUP('DESTDS','uomschedule','name','Default Unit','uomscheduleid') defaultuomscheduleid
    ##'dab7c34d-ffea-4311-9e3b-23f06d7952bb' defaultuomscheduleid

    Note: The D365 Sales field defaultuomscheduleid is mandatory for any new and updated product but it does not exist in MS Dynamics Business Central. The field defaultuomscheduleid = Unit Group in D365 Sales . In order to populate this field with the GUID value, you have two options:

    • Formula ##DBLOOKUP('DESTDS','uomschedule','name','Default Unit','uomscheduleid') where a lookup on the destination system is made to retrieve the value for defaultuomscheduleid.
    • ##'dab7c34d-ffea-4311-9e3b-23f06d7952bb - a hardcoded value of defaultuomscheduleid if there is only 1 Unit Group. If you have multiple Unit Groups, additional lookups are required.
  5. Currency_Code -> transactioncurrencyid
  6. Business Central Field D365 Sales Field
    ##BLANKVALUE(LSLOOKUP('TRANSACTIONCURRENCY',"Currency_Code"),SKIPFIELD()) transactioncurrencyid
    ##IF(EQUALS("Currency_Code",''),DBLOOKUP('DESTDS','transactioncurrency','isocurrencycode','%%CURR%','transactioncurrencyid'),DBLOOKUP('DESTDS','transactioncurrency','isocurrencycode',"Currency_Code",'transactioncurrencyid'))) transactioncurrencyid

    Note: In Business Central, the field Currency_Code is a predefined picklist that will provide you with all currency codes. In D365 Sales, the field transactioncurrencyid is a GUID field and can only be used in this manner. A 1:1 mapping is not possible due to the above.

    • Formula ##BLANKVALUE(LSLOOKUP('TRANSACTIONCURRENCY',"Currency_Code"),'%%CURR%')) where the D365 Sales transactioncurrencyid is retrieved from a dynamic lookup table called TRANSACTIONCURRENCY and ,if the formula evaluates to NULL, then the GUID value of the default currency code will be inserted into the field transactioncurrencyid.
    • Formula ##DBLOOKUP('DESTDS','transactioncurrency','isocurrencycode','EUR','transactioncurrencyid') where we have 1 lookup made on the destination ( D365 Sales) to retrieve the transactioncurrencyid.