Create relationship between UD fields on tables

I am wondering what would be the best way to maintain a “relationship” between UD fields in different tables. How my organization wants to accomplish this is by adding a UD Field on the part level that is then used as the basis for when a new order, release, and job are created. This UD field would be exposed at the part, order line, release, and job level through a customization. The expectation is that at any point within order entry or job entry a user could set this flag to be either true or false and this would in the end set a field on the job head level.

Does this seem to be something that would be possible or is this opening up a huge can of worms? I do see how this could cause orphaned records in which an order may not have the UD flag as true but the job and part do.

UD Column Map is the go-to for flowing custom fields through to other tables. Unfortunately, it doesn’t cover everything. In those cases, I’ll make sure to populate the “Like” settings when setting up the UD column. Then I have to create BPM’s that will lookup and set fields downstream of the master record.

What you’re doing sounds like it would be a little annoying in that it might require 3 or 4 BPM’s. However, it should only take about an hour of setup and testing.

Thanks John for the reassurance, I really appreciate that. What I was wondering was if for example a UD field is set on the Part level to be true and the order level to be true, but if someone changes it on the job level to be false, could I go back and update the order level again? Is it possible to go “backwards” in a method directive?

When you’re flowing down, so to speak, it’s easier because (say) you have a pre-existing part record and a brand new order row right at hand in your BPM. So when you add a new order row or change the part# you just have to look up the Part.UdField associated with the part (using, say, the Update by Query widget) and set the order UD field already sitting right there in your BPM.

When you’re flowing up, it means writing a value to another module. That’s not that hard either (its like 3 more widgets, tops, or a dozen lines of code), but is a extra few steps.

Thank you for talking me off the ledge and realizing that something like this isn’t too complicated to set up.