CRM Adapter to GP - Given key was not present in dictionary RRS feed

  • Question

  • Hi,

    I have a very basic implementation of GP 2010 that is integrating to CRM 4.0 using the CRM adapter.  I have setup the adapter with the default mappings and have succesfully integrated over the Price Level Header and the Products.

    I'm trying to get the Price Level to Price List mapping working.  I only have one Price List in GP and all items use it.  Very simple.

    However, I'm getting the error:

    [Price Level to Price List] has encountered an error while processing key [RETAIL]. The given key was not present in the dictionary.

    Any ideas?



    Wednesday, October 20, 2010 5:49 PM


All replies

  • Have you checked out this KB:


    Jeff Loucks | Available Technology | 888-474-2237 | http://msmvps.com/blogs/jeffloucks
    • Proposed as answer by Jeff Loucks Tuesday, October 26, 2010 11:30 AM
    • Marked as answer by Jim Glass Jr Tuesday, October 26, 2010 4:19 PM
    Tuesday, October 26, 2010 11:30 AM
  • I'm having the same error message on the "Pricing to Item Price List" map (brand new as of June/July 2012).

    Note that the KB article referenced by Jeff Loucks doesn't apply here -- it gives a method of stripping off the parenthetical portion of a price level, presumably the active dates for the price level that the connector stamps when pushing over new data.  For example, if the connector has renamed your price level to "RETAIL (8/9/2010 11:12:13 PM - 9/10/2011) 123", that KB article shows you how to strip off everything from the open paren onward.  This is a different error.

    In my case, the key that's listed is of the form "ItemNumber;CurrencyISO;PriceLevel;UofM".  The ItemNumber, PriceLevel, and UofM are all exactly as they appear in GP.  The Currency code is USD, which is the only currency used by my client.  They are using the Z-US$ functional currency for the sake of eConnect.

    I noticed that the price levels that were brought into CRM are a cartesian product of GP Price Level + GP Currency, separated with a dash (eg "RETAIL - USD", "RETAIL - CAD", etc).  I also noticed that in the mapping, the Price Level Integration Key is given by
        =Concatenate(Price\Price Level\Price Level, " - ", Price\Currency\ISO Code)
    In GP, none of the inventory pricing records (IV0010[578]) have a currency ID stamped in them.  I tried setting them via a SQL script, but the integration behaved the same way.  Also, when I later tried to look at the pricing records in GP, a message box popped up telling me that the multicurrency status had changed and that I needed to run check links.  Doing so cleared the currency fields my SQL script had just populated.

    I also tried changing the mapping so that the Currency integration key was hardcoded to "USD" and that the price level integration key was hardcoded to use "USD" rather than pulling from the (blank) data coming from GP.

    Thursday, August 9, 2012 2:06 PM
  • Hi Bill,

    Did you solve this?  Im having the same issue.


    Thursday, December 6, 2012 6:12 PM
  • Did you ever get this connector object to work?  I am having the same issue.  Has there been a fix?
    Wednesday, January 30, 2013 1:37 PM
  • After many days of several hours on the phone with Microsoft Tech Support, it still wasn't working.  I got pulled off to work on other projects.  Eventually, (several weeks later), Microsoft Tech Support was able to get the data to flow back and forth.  I don't know how it was resolved.  I'm not sure they know for sure either.
    Thursday, March 7, 2013 4:21 PM
  • Did anyone else ever get this sorted? Having the same issue (KB article not relevant) as well and trying to sort it. Upgrading an old deployment of the Connector on CRM 2011 to CU3. It used to be using the CRM 4 template maps.
    Monday, March 2, 2015 2:18 PM