Column does not belong to table

In our conversion from E9 to 10 an Engineering Workbench customization is giving the runtime error listed below.

I’ve confirmed that the Number01 field has been brought over into the Company_UD table during converison. Does my syntax need to change to point to the UD table? I didn’t see any obvious clues in the object explorer.

Here are the bits leading to failure. Thanks for any ideas!

Bad code

	CompanyAdapter adapterCompany = new CompanyAdapter(oTrans);
	string company = ((Ice.Core.Session)oTrans.Session).CompanyID;
	bool result = adapterCompany.GetByID(company);
	string nextECO = string.Empty;
	if ((result))
		nextECO = adapterCompany.CompanyData.Company.Rows[0]["Number01"].ToString();


Application Error

Exception caught in: System.Data

Error Detail

Message: Column ‘Number01’ does not belong to table Company.
Program: System.Data.dll
Method: GetDataColumn

Is the Number01 column also on ice.syscompany_UD table as well?

It doesn’t look like the syscompany_UD table exists in our system. I’m not familiar with the the SysCompany table. How does it relate to the Company table? The Data Dictionary describes them identically - “Active company file.”

all Company_UD columns in E905 should be recreated in both Erp.Company and Ice.Syscompany tables (at least as of 10.1.400.x).

What version of Epicor 10 are you on?

We are on 10.1.600.11

I would open a new Support case regarding the missing ice.syscompany_ud columns. After that issue is addressed, the customization issue may be addressed as well.

Okay, I’ll do that. Thanks a lot for looking it over.

Hi Nathan, This response from support seems to conflict with your expectations. What do you think?


Support says:
Thanks for the update and I believe it’s the same issue. Let me explain.

In Epicor9, there was only 1 Table system and all tables began with Epicor. With Epicor10, Development split the systems into 2 sections - the Application (and those tables begin with Erp) and those related to the ICE Tools (and those tables begin with Ice).

For the Issue I submitted to Development, they created Investigational SCR 154134, which has the following Short Description:

Database Migration - E9 to E10 Company UD migration Erp.Company_UD table contains the E9.05.702a UD data while Ice.Company does not.

Development researched the issue and determined that having both Erp.Company and Ice.SysCompany Extended with the same fields will cause upgrade issues, so they decided that only Erp.Company should be Extended.

So the Conversion program was modified to migrate all E9 UD Data to the Erp.Company_UD table. The Conversion program was also modified to Drop the Ice.SysCompany_UD table, which would explain why you do not see that Table with the Data Dictionary Viewer.

Development also decided to Open Enhancement SCR 168118, which has the following Short Description:

EPIC - UD Table Entry - Create a standard pattern for the split tables that are common between ICE and ERP, eg. user, plant and company.

Since ENH SCR 168118 is still Open, I will link this Support Case to Development’s Enhancement Problem Case PRB0099904.

Please let me know if you have any questions.

Joe says:

Hi Daniel,
It sounds similar, but if looking at the data dictionary is a proper diagnostic tool then our case is slightly different – We have a Company_UD table, but we don’t have a sysCompany_UD table at all.

Support says:
I reported a similar issue some time ago. The CR is 21903ESC and has the following Description:

PROBLEM DESCRIPTION: If the E9.05.702a Company table contains UD data (for example, in Character01, in Number01, in Date01, and in CheckBox01), the E9 to E10 Conversion program creates 2 sets of _UD tables for the Company table - one set for Erp.Company and another set for Ice.SysCompany. However, only the Erp.Company_UD table contains the E9.05.702a UD data. The Ice.SysCompany_UD table contains all zeroes (0).

PROGRAM ID: Customization/E9 to E10 Conversion Program.

EXPECTED BEHAVIOR: Development needs to decide what the correct Behavior should be. For example, should both E10 _UD tables be populated with E9.05.702a Company UD data? Or should only 1 set of E10 _UD table have been created?

I have reviewed the SCRs and there is much information to disgust, however, before I explain what I found, I would like to first know if the Problem described above is the same issue (or similar) that you are reporting.


A lot of internal discussion on what correct should be, and I know where we landed in 10.2.100–coming from E905 to E10.2.100 there should be a erp.company_ud and ice.syscompany_ud with the same columns that were used in E905 on company_ud OR any of the standard user defined fields on company. SCR 202606

Let’s ignore what the correct/intended state is in 10.1.600.x, and just create a Number01 extended UD column on Ice.SysCompany via Extended UD table maintenance, then regen data model. Does that address the issue with the customer? If so, I think we are a little closer to know what correct should be in 10.1.600.x as well.

How do I go about adding fields? The sysCompany_UD table doesn’t exist in our version and sysCompany is not available in the Extended UD Table Maintenance.

Hi, any update? I’m also struggling at getting the old Number01 of Company_UD
Getting the same error column does not belong to table with code: adaCompany.CompanyData.Company.Rows(0)(“Number01”)

Created another Number01 on SysCompany table, no luck

Did you look up the column in a BAQ and see what the actual column header is? I believe an added UD field always has _c attached to the end of it.

I thought that the added fields always ended with “_c” too. But that is incorrect. If the field existed as a UD Filed in E9 (like Number01), it will come in with the same name (i.e. no “_c” suffix).

right, but the poster said he added the field after the upgrade to try to get it to work. Either way, he should look at it and see what the actual column header is.

1 Like

The poster didn’t mention if they did the Data Regen …

1 Like

Checked in BAQ, it is just Number01 in table Erp.Company, it doesn’t have “_c” as it was brought up from Epicor9.
Tried both Number01 and Number01_c, no luck (several Data Model Regen, of course :wink:)

Interesting that it works with UDField in table Part, but not in Company

Dim adaPart As PartAdapter = New PartAdapter(oTrans)
i = adaPart.PartData.Part.Rows(0)(“Number01”)

1 Like

oh wait, in code, you have to use company1. I forgot about that oddity. If this is in a BPM use the Ctrl+space to get the code to autocomplete like intellisense. This will help with some of those errors.

For what it’s worth …

The “_c” suffix won’t be added to fields that “look like” old UD fields. For example, I can add “Number12345” and it takes that name. But “Number_12345” becomes “Number_12345_c”


1 Like

It looks like you’re referencing the object as opposed to the value. You might try .ToString(); at the end of your i assignment.