Part UOM Conversion issue due to ContainerDetail records

One of our companies wants to convert the Inventory UOM for several parts. I’m running into an issue with some parts on the PartSvc.ValidateUOMConvTrans() method. This method validates that there are no active / pending transactions (open JobAsm, OrderDtl, PODetail, DemandDetail records). If it doesn’t find active transactions, it performs the requested conversion.

Unfortunately, another record it looks for is ContainerDetail. ContainerDetail doesn’t have an open / closed status, or even a PartNum field. It has shipped and received quantities, and links to PORel and RcvDtl records. Unfortunately, an existing DemandDetail record causes ValidateUOMConvTrans() to return an error. If the container is received and invoiced, you can’t make any meaningful changes to the DemandDetail Row.

I’m trying to figure out how to work around this issue. I found a sketchy way to get around it using a function to set the PORel field to 0 using a direct Db.SaveChanges() on the ContainerDetail Row, then calling PartSvc.ValidateUOMConvTrans(), then setting the PORel field back to its original value. I wouldn’t try this in prod without a lot of testing though. The only other option I can see would be to track down the Method code and setting up a Base-Processing BPM.

Any thoughts on other options for this?

What, just because it’s Saturday on a holiday weekend right after Insights, you guys aren’t working on Epicor? Slackers.

You can get a data fix from support . . .

Dum Dug question … is the po release/detail closed?

Yep, still rejects based on ContainerDetail even if there are no open PORels linked.