MRP cannot copy BOM

I have a configured part that is manufactured in site A. The MoM contains a configurable subassembly manufactured in site B. In the parent MoM, the subassembly is marked “Plan as Assembly.” The documentation for this option says:

Indicates if the sub-assemby [sic] can be spawned off to a different job.

There are PartPlant records for site B identifying the subassembly as manufactured, and for site A identifying the subassembly as a transfer from site B.

As expected, MRP creates the job in site A for the parent part, then tries to create a job in site B for the subassembly. The job number prefix identifies the correct site. The part number and revision it’s trying to use are correct. Then it just fails without saying why.

12:56:28 ProcessJobJobs
12:56:28 Get Destination
12:56:28 Created new unfirm job:UF102000000001 Quantity:K20-Sub.
12:56:28 Create Intersite Supply
12:56:28 Created new unfirm job:UF102000000001 Quantity:1.00000000.
12:56:28 Adding to job:UF102000000001 Quantity:1.00000000.
12:56:28 Copying BOM from Part:K20-Sub Rev:X to Job:UF102000000001.
12:56:28 Cannot copy BOM from Part:K20-Sub Rev:X to Job:UF102000000001.
12:56:28 Error copying BOM, deleting Job:UF102000000001.

Why wouldn’t it be able to copy the BoM?

On a related note, when and why did the relationship between Pull as Assembly and Plan as Assembly change? The documentation for Plan says:

Can be true only if PullAsAsm = true.

This is incorrect. You can only select one or the other. They’re represented as checkboxes but behave like radio buttons.

What I really want is the behavior of both: the full MoM on the quote for accurate pricing like you get with Pull, and spawning jobs in other sites for subassemblies like you get with Plan. Is that how it worked in the old days?

1 Like

I got an explanation from support. Although the subassembly being marked “Plan As Assembly” causes the subassembly configurator inputs to appear as a page of the parent configurator, those inputs are either not saved, or they’re saved but not carried over to the subassembly job. And by design, MRP refuses to create a job for a configurable part for which there is no configuration. So the error message is misleading. MRP is perfectly able to copy the BOM. It’s actually bailing out because it cannot configure the BOM.

Not sure yet how I’m going to work around this. Upvote and pray, I guess: Allow configurator values to flow to the child configurator for a job to job in a secondary plant.

3 Likes

We put our heads together and came up with a workaround that’s so crazy it might work.

The configurable subassembly that’s causing strife is usually part of a product made in the same site. Only a small percentage are parts of a product made in another site, and the configurations used in that other site are limited. So for that small percentage, we consider it acceptable to fudge things a bit.

On the cross-site MoM, we’re replacing the configurable sub with a non-configurable part. With this part set to Plan as Assembly, MRP does the right thing and creates a job in the other site. To price the quote, we can make a good enough estimate of material cost based on dimensions calculated in the parent.

The hack is how to configure the subassembly job. If QuoteAsm.Description is set by the parent configurator on a non-configurable material, it carries over to JobProd.MtlPartDesc. We’re going to stuff some data in there and basically write a crude configurator that runs when the job is firmed or released.

Edit: MRP will create a job in another site for a Plan as Assembly part with a no-inputs configurator, just not one with a product configurator. So I’ll still pass my “inputs” via JobProd.MtlPartDesc or some other hack, and the sub can have a normal no-inputs configurator, not some hack that I have to write. The tricky part may be how to access my pseudo-inputs from a configurator rule…

1 Like