Person Contact Links with DMT

I want to create a Person Contact and link it to a Buyer and Work Force record using DMT. Is this possible? I am trying to do it by using the same PerConId in each record, but the value seems to get ignored and overwritten by a system assigned PerConId.

I think the system sometimes tries to link using the Name field, but this isn’t a viable solution for me because we have employees with the same name.

Not sure about the perconlnk table in E10, in E9 at least the foreign key for the linked record is the sysrowid of that record,

I.e. for customer contact the custcnt.sysrowid = perconlnk.linksysrowid.

I have had a look at our DMT order or import process from our implementation from Epicor efront Office, Epicor Enterprise, and eProject to E9 from back in 2013. I can’t actually see any reference to importing percon records, and it appears we imported employees and customer contacts separately. We only have a handful of buyers and as far as workforce goes I recall Epicor created an updatable dashboard and named it the workforce populator. I have looked at that and it just allowed you to perform an uptake from Excel but it only has the company id, repid and the userid, no perconid I am sure you could just use the paste insert on the grid.

So it may well be you are correct and it does use the name, that would explain in quote entry in our system if you add in a new ship to contact and populate the name field with the name of a contact that already exists for that customer it creates a new custcnt record against that customer and adds a new row into the perconlnk table with the same perconid, same contextlink, but differnt value for the linksysrowid. I wonder what the logic is if you have two legintimate person contact records with the same name?

I am pretty sure when we tested we made sure that the employee and customer contact records were imported in alphabetic order.

Time for some more testing I guess.

I hope that helps a little.

1 Like

You first import Person Contacts. You cannot force the system to use the PerConID that you have in the import file…the system insists on renumbering based on the last entry. Once the records have been imported, you then need to cross-reference (via BAQ or Excel using ODBC or from SQL query) to get the new PerConID. That can then be used to import CustCnt and VendCnt records as well as Workforce, Buyers, etc. It’s quite a painful and intricate process, especially if you encounter errors during the initial import because everything gets out of alignment.

1 Like

Thanks, guys. So it looks like there is no way to do it in one shot. I am trying to automatically sync the contact records with our other personnel systems and I was hoping not to have to query for the PerConId after the first import, but it seems like that’s the only way to go. It’s also difficult to find a field to query on, though. The email field is probably the safest one to use.

Hey Matt,
We just bought Epicor Kinetic Saas and I learned the painful process of uploading the person contact table only to have the following results.
1/3 are ok, the name and ID are fine.
1/3 are missing, when I search by name.
1/3 uploaded the PerConID field changed its value.
I can live with the percodID being renumbered, but when 1/3 of the recs are missing, and 1/3 being changed, thats a broken system. The question we have to ask ourselves is what else is broken?
Have you found doing the DMT’s from a terminal session on the cloud yields better results?

1 Like

I did the upload on a saturday night and 99.99% of the records uploaded and what I did was put our ID# in the initials field so when the person/contacts get renumbered, I can download the Epicor table and create a xref table that converts ourID to the new PerConID. This is ugly, I’ve never worked on any kind of software that one skips records, without errors and 2, arbitrarlity renumbers fields. I understand systemID fields, but the perconID is not a system ID field, there is another field for that.

I am in the exact same situation, preparing to move from dev to a pilot database, esp for our employees many of whom I have Globally linked between two companies, and workforce entries for them in both companies also, as well as employee and buyer links.

I’m thinking I could add a UD column to person contact, “DevPerConID_c”, being the perconID in my current dev database. then I import the person contacts, they get new perconIDs in the pilot database, but I can BAQ them out with the unique DevPerConID_c from my current database, and use XLOOKUP in excel to replace perconID’s in workforce, global linking, employee buyer etc imports with the new pilot perconID looked up from the DevPerconId_c.

Not pretty… am I overthinking this?

Why the global linking and workforce IDs in both companies?

We are importing a whole bunch of CRM data from a company-agnostic sugarCRM database- all our customers were together there. Our support staff dealt with cases in both countries.
Now we are combining CRM with finance, the customers, and thus cases, will be divided between US and NZ companies. I need a “double up” of our customer service and tech support workforce, current and historical, so that case assigmnment/ownership is more or less preserved.
Hence we have workforce (actually salesRepID) in NZ company linked to Global percons there, linked to percons in the US company, and a US workforce linked to that! All tied together so a person in one company can be associated (by CaseOwner) with cases in either company.