Error trying to check part out in Engineering Workbench

We are working on migrating to E10, and I am running into some issues with the Engineering Workbench. In Test, whenever I try to check out a part, I get the error:

This property cannot be set to a null value

When I look at the details it looks like the issue is with ECOMtl.Character01, which is a user defined field.

I do not see this issue in Pilot, which is vanilla without any of our customizations and so forth. So I assume the issue is in something that didn’t convert over properly. I have looked at all the method directives which were defined on the EngWorkBench business object. There were three post-processing directives in the CheckIn method, two of which were marked as “enabled”. I disabled both of these, but still get this error.

Is there something else I am missing that could be causing this error? Both Pilot and Live are using the same dataset, so I’m thinking it’s not a problem with the data.

If you run engineering workbench as base, do you still get the problem? I’m wondering if the error is in a customization.

Thank you for the suggestion. I tried running the Engineering Workbench as base (and as as base when I go to check out a part via Erp.UI.PartRevCheckoutEntry) but I still get the error when I try to check the part out.

Do you have anything in the UD column mapping?

Yes, there’s a Character01 -> Character01 mapping to ECOMtl from PartMtl and some others.

Is it the same in both Live and Pilot?

I looked for Erp.PartMtl to Erp.ECOMtl and there is the same Character01 -> Character01 mapping in Pilot. (We don’t have Live as we are still doing the migration).

Yeah, whatever you want to call it. Live, test, chocolate, customized etc. You called is live in your first post, so that’s what I thought you were calling it.

That’s the only places that I can think that would mess you up. BPM’s, Customizations. UD Column mappings…

Check in your extended UD field properties and see if those are the same for both. See if that’s set to allow for null (not required) in both.

That last thing I would check/try is to regenerate your database to see if it syncs something up.

That’s about all I can think of.

Ok, thanks for your help Brandon.

The “Required” checkbox is not checked in both environments. I regenerated the data model (although column maintenance claimed both the table and data model were already in sync).

Guess I’ll scratch my head some more… :thinking:

Have you checked lots of different part numbers? You’re sure it’s all parts?

Also, did you run a BAQ to look at the column and make sure the data matches between systems?

What if you remove the mapping? Does it work then?

I checked 16 part numbers which I found had this issue. I found one part number which did not have this issue, but it had no materials or operations associated with it, which made it useless for what I was trying to do.

I ran a BAQ on Pilot and Test to look for materials which have values in the EcoMtl.Character01 field. Most of them are empty (’’) but I did find the same one record in both environments which had a non-empty value.

I will try removing the mapping and see what happens. How do I do that? I’ve got the User Defined Column Map Maintenance screen up - if I select the row containing the Character01 -> Character01 mapping and “Clear” it only clears the source column.

Oh… never mind, if I save it in this state and refresh, the row is completely gone.

Removing the mapping doesn’t get rid of the error.