Upgrade do not include warehouse on sku

Member since: 2007

Upgrade from CM 5.2 to 8.7.1

When i upgrade the warehouseid on SKUs is set to id 1 on all SKUs. I know the logic has been rewriten to add the posibilities to have multiple warehouse per SKUs. Thats probably not handled by Episerver update script. Do anyone has any good process to automaticly update all SKUS to the right warehouse? Any other ideas?

Probably the easyest is a databasescript that compare the old database value with the new one, and changes...

#119975 Apr 08, 2015 11:43
  • Member since: 2011


    The WarehouseId of Variation is obsoleted and no new code will care about that. The data should be migrated into InventoryService table. 

    I don't think any other process to "automaticly update all SKUS to the right warehouse" is necessary.



    #119977 Apr 08, 2015 12:40
  • Member since: 2007

    In the table [InventoryService] all WarehouseCode is "1", it should vary.

    It's confusing. All below tables are containing stock data for variations:

    [WarehouseInventory] countains stockdata and warehousecode (Legacy?)
    [InventoryService] countains stockdata (col PurchaseAvailableQuantity) and warehousecode
    [Inventory] countains stockdata (legacy?)
    [CatalogEntry] contains variations
    [Variations] contains variations and warehouseid (Legacy?)

    But it seems that i can from [Variations] i have the legacy WarehouseCode, when i update it into [InventoryService], it works in the new Catalog UI.

    #119984 Edited, Apr 08, 2015 14:20
  • Member since: 2011


    I'm not sure what was missing during the upgrade, but IIRC then when you upgrade from R2SP2 to R3, you need to export your catalog before the upgrade and then re-import after upgrade completes. This will make sure price and inventory information will be upgraded properly - I'm looking for the official document.

    Right now the information was stored as following:

    - CatalogEntry : basic entry information

    - Variations: Information specific for SKU 

    - Warehouse: warehouses information

    - InventoryService: inventory data

    All other data, such as WarehouseId in Variations table, are legacy and have been keep to avoid breaking changes, but are not being used by any of our code.

    Any also note that we do not guarantee about database backward compatibility, so other than the documentation don't confuse your self with the code columns.



    #119994 Apr 08, 2015 15:45
  • Member since: 2007

    Thanks for clearifying!

    Yes, i have missed the part of exporting and importing. thats why we miss out prices and inventory warehouse!

    Anyhow, the legacy table comes to use now. this worked for us:

     update ISE set ISE.[WarehouseCode] = convert(nvarchar(50), v.[WarehouseId])
        from [InventoryService] ISE  
        INNER JOIN [dbo].[CatalogEntry] c ON ISE.CatalogEntryCode = c.Code
        INNER JOIN [dbo].[Variation] v ON c.[CatalogEntryId] = v.CatalogEntryId

    NOTE: our WarehouseCode is the same as the WarehouseId, eg an integer.

    Regarding the Prices, we handle that manualy.

    #119996 Apr 08, 2015 15:53