Hi,
I'm looking for some technical information regarding CRM Integration for
Great Plains. The mappings are served by BizTalk, messages come through MSMQ
service. Insert/updates are delivered by triggers and post-callouts (?).
However, I want more information.
1. The first question is: How the integration knows which corresponding
record is going to be updated. Say: I'm changing one of the customer fields
in Great Plains. The primary key is CUSTNMBR (char(15)). The integration may
find appropiate record in CRM based on accountnumber. However this CRM field
is changeable (and 20-char length), so someone may change it and the update
fails! Is the INTEGRATIONID (char(31)) field used for correlation? It seems
to be too small for uniqueidentifier used as PK in CRM (which is 32 char
length). How the CUSTNMBR field is generated in GP when record is created in
CRM?
2. The second problem is what happens when the Integration/MSMQ is stopped
for some reason. How the integration knows which records are synced and
which are out-of-sync?
3. Third problem. When entering sales document Great Plains first inserts
almost empty line in header table - actually document id, type, number and
master number are entered only. The record is filled up after user saves it.
This is not a problem for GP user as the record is locked and noone else can
view it. However, it may be replicated to CRM. Such a record may lead to
confusion for CRM user. What is more: during creating the record is saved in
Great Plains _without_ customer information. This is unacceptable in CRM -
customer must be provided. So the question is: when the Integration knows if
the record is "ready"?
Regards.