I lost an evening that I’ll never get back over something so stupid I wish I had just stopped to think about this issue a little more.
The situation was this: I just upgraded a client from GP 2010 to GP 2015. I didn’t upgrade the test companies, because it’s a waste of time right? So I finish the upgrade and proceed to create new test companies and take fresh backups of the new production companies and restore to the test companies.
Pretty simple right? I’ve done it millions of times it feels like…
So I get an error when logging into the newly refreshed companies that is new: “The selected company is not configured as a company of the current Microsoft Dynamics GP system database. You must resolve the database configuration to log in to the company.”.
Google the error. Get TONS of hits. Awesome! Everyone has the same info, in slightly different wording. There’s a new table starting with GP 2013 because of the named system database feature, and it’s called SY00100.
The issue for me was everyone seemed to have a slightly different “new” post-refresh script and none of the blogs that I read resolved my issue. If I had stopped to *read* the error, and clued in to the “system database” phrase it might have been more obvious…
Every post seemed to say “go find the company ID from the SY01500 table in DYNAMICS and update the SY00100 table on each restored company db with it.” Sure, I did that, and it still didn’t work. What the heck?
I was looking at the companies that I *could* log into at their SY00100 table but I just was tired and completely missed it: they all said “DYNAMICS” in the dbname field. All the restored companies had their own dbname in that field. So when looking quickly, I am looking at database “XYZ” and I see database “XYZ” in the table, with the proper Company ID number, and I think, yeah, looks good, what the heck am I missing?
What I was missing
The new table is all about telling GP what system database name that company uses. DUH… *smacking my head*. Here’s what the table *should* look like, if your system database is DYNAMICS, and your company ID is “12”.
So, in summary… what you *need* to do with this table if you are getting this error is this:
- CMPANYID must be the CMPANYID value from that company db in DYNAMICS.dbo.SY01500. After refreshing a test company, this will likely have the CMPANYID of the “copied” company, so it needs updating.
- DBNAME must be the SYSTEM database for this Dynamics instance. So, that means DYNAMICS for most customers, but if you are using the named system db feature, that means it will be whatever the appropriate named system db is!
- There should only be 1 record in each company in this table.
Ideally you find or create a proper new post-refresh script as this isn’t the only place there the company ID or dbname fields need updating. I’m not posting one of those here, and I’m still sorting out what the best one is, as the ones I used to use, don’t update this table properly!
I hope this helps someone else banging their head against a wall!