Currently we use the STK_CODE field imported from dimensions as the primary key. If you change the stock code it will obsolete the old products and create a new one. It seems like STK_PRIMARY would be a better key to use as it would allow the SKU to synced across in the update.
if you change a stock code in dimensions the changes propogate across all dimensions elements eg open or posted Purchase orders, same for Sales orders so if a stock code is changed because it is incorrectly configured, the sales data is retained for that product.
Currently without using the primary key as the reference, CRM sees the old and new code for the same product as two seperate products so any pending quites cannot be processed after the edit because CRM thinks that the product has been made obselete when in fact, the product code has just been altered.
Use of the primary key would significantly improve the sync between CRM and Dimensions and you would be able to see sales and purchase data correctly for recoded products in CRM whereas you can only see this in Dimensions currently.