I’m trying to do a very simple thing, but it just won’t work.
My goal is to force people building BOMs to use our Part.IUM when specifying Qty / Parent. Otherwise, we get errors when processing Material Queues.
So I’ve put a pre-processing BPM on EngWorkBench.Update, to check whether the ttECOMtl.UOMCode field is equal to Part.IUM for the corresponding part.
This screenshot shows pretty much the whole story: A straight-forward BPM with two conditions. The second condition is a query to check the selected UOMCode. This should return one row if it matches Part.IUM and no rows if it’s different.
But it doesn’t work. If I delete the third clause in the JOIN, I get one row every time, but with the third clause as shown in the screen shot, I get zero rows every time. I feel like this may be a string format problem, but they’re both nvarchar, x(6), or System.string, depending where I look. When I display ttECOMtl.UOMCode for one particular material, it’s “LB”, and the Part.IUM is also “LB”, but somehow they’re not equal.
FWIW, I’m on 10.2.700. Anybody know what I’m doing wrong here?