[SOLVED]Invalid format of GUID string. Dynamics CRM Integration of Products

TomigsTomigs Posts: 48Member
edited 2017-10-25 in NAV Three Tier
Hi all,

Since some time now, our automatic integration between NAV (2016) and CRM (native integration) is not working properly. It syncs the CRM Products with the NAV Items.

We have it automated through a job queue, and we get the following error after around 40 hours of processing:

Invalid format of GUID string. The correct format of the GUID string is:
CDEF7890-ABCD-0123-1234-567890ABCDEF
where 0-9, A-F symbolizes hexadecimal digits.

It does not leave any clue on what product/item no is erroring, and the debugger does not stop either.

My guess is that there is a GUID field in some of the tables related to the CRM Products (could be in the CRM UOM, CRM Productpricelevel, in the CRM Products itself...) that has wrong data on it.

Any clue on how can I identify what is the product causing the error?

I have tried transferring all the GUID fields from the CRM Product table to table, just to test it, but all seem to be transferred ok.

Thanks,
Tomas

Comments

  • TomigsTomigs Posts: 48Member
    Hi all,

    Finally, we identified through the job synch error log that there were other problems underneath. After resolving those and restarting the Service, the automatic sync of ítems is working fne again.

    The errors were:

    • "The length of the string is 22, but it must be less than or equal to 20 characters. Value: 90visgv12 + nut 17 m12"

    • "The specified product ID conflicts with the product ID of an existing record. Specify a differe"

    Fort he first error, we had what we believe is a bug with a mod from our side that made it worse.

    So we modified the “Vendor Item No.” Field in the table 27 Item to be Text40 instead of Text20. And all the related tables.

    But this originated a size conflict in Codeunit 5342 “CRM Synch. Helper” - function UpdateCRMProductVendorName:

    It compares the Vendor Code (code20) with the Vendor Item No (text40 now) (note it is vendorPartNumber in CRM). So we created a conflict when the Vendor Item No. Is longer than 20 characters. Anyway, I think that the comparison is not correct, although we can be wrong of course.

    Codeunit 5342 “CRM Synch. Helper” - function UpdateCRMProductVendorName:
    //+++++
    //I believe this is a bug
    //IF NOT Vendor.GET(CRMProduct.VendorPartNumber) THEN
    IF NOT Vendor.GET(CRMProduct.VendorID) THEN
    //------
      EXIT(FALSE);
    
    IF CRMProduct.VendorName <> Vendor.Name THEN BEGIN
      CRMProduct.VendorName := Vendor.Name;
      EXIT(TRUE);
    END;
    
    EXIT(FALSE);
    
    Fort he second error, not sure what happened. We identified the product that was causing it, synchronized it manually and worked fine. Maybe we resolved the issue in another way during this time.

Sign In or Register to comment.