Is this error meaning I have to delete the quotes? They are all closed, and won, so not sure why it is giving me this issue.
Business Layer Exception
Cannot convert to UOM Class Count. QuoteAsm records already exist for this part.
Exception caught in: Epicor.ServiceModel
Error Detail
Description: Cannot convert to UOM Class Count. QuoteAsm records already exist for this part.
Program: Erp.Services.BO.Part.dll
Method: ValidateUOMConvTrans
Line Number: 17107
Column Number: 17
Table: Part
Field: UOMClassID
Client Stack Trace
at Epicor.ServiceModel.Channels.ImplBase`1.ShouldRethrowNonRetryableException(Exception ex, DataSet[] dataSets)
at Erp.Proxy.BO.PartImpl.ValidateUOMConvTrans(String ipPartNum, String ipConvUOMClassID, String ipConvUOMIUM)
at Erp.Adapters.PartAdapter.ValidateUOMConvTrans(String ipPartNum, String ipConvUOMClassID, String ipConvUOMIUM)
There are so many things that prevent UOM conversions from succeeding. And very few of them are fixable.
If those Quotes were not converted to orders or used as templates to make a job, you may be able to change the MOM to not reference the part whose BOM you’re trying to change.
I’d try temporarily changing the Part in those MOM’s to another part, running the conversion, then restore the original part in the MOM’s (double check the UOM after changing it back).
We’ve had issues where a On The Fly Part (OTFP) was used in an order or job. Then we decided to make a Part master entry for it, only to find out the new part entry will be based off of the details of the parts use when it was a OTFP. Like if the OTFP part in a job was spec’d as (1) 10’ Length, with UOM of EA. But then we want to stock it in FT, the conversion from COUNT to LENGTH doesn’t fly.
So we have Quotes that were won, an order created, a job created, shipped, and invoiced. Now I am being asked why they can’t change the Inventory UOM. “What about if we change how we sell it so we need to change how we stock it?” I still do not understand why we can’t change it if all the quotes associated with it have been closed.
UOM conversion is very tricky, and if done wrong (meaning the Epicor process that runs) can really cause problems.
Are you trying to change the UOM Class, or just the default IUM?
Changing the UOM Class is exponentially harder.
We’ve had to scrap a part number because it was created with the wrong Class, and then transactioned happened. There’s almost no recovering from that (short of the VERY UN-RECOMMENDED change via SQL - in fact, disregard that I even mentioned a change via SQL).
Yep, same class. The issue was we had some quotes that didn’t have the engineered checkbox checked, the the quote box checked n the header tab, and then Actions–>Quote–>Close. Once I did this and took care of the revision, it worked.
Been reading a number of these UOM conversion threads. This one seems pretty fresh, so I thought I’d ask some questions…
If we’re not trying to change UOM class, and we can clear the errors by doing things like adjusting inventory, deleting PO suggestions (removing from methods?)… then it’s fine? The verbage in the help file still scares me - but the guys really don’t want to make new parts.
What about “track multiple UOMs”? Any use here?
Basically we’ve got a bunch of adhesives we want to track in OZ instead of GL.
We “successfully” converted one in the test environment… now they want me to run wild with it in Live and I’m skeered.
Don’t be ehskeered
The UOM conversion program won’t let you do something that would mess you up. Its very conservative. So much that it won’t do things that wouldn’t cause a problem.
If you can get past all the error messages about why the conversion can’t proceed, you should be good to go.
One thing I’d suggest, is do a where used on the part and verify that the BOM’s and MOM’s have correct Qty’s for the selected UOM.
I’m pretty sure it won’t change any BOM’s, so if GLUE-01 was originally stocked in GA, and one BOM had a Mtl line of 64 OZ (i.e. 0.5 GA), and another had a MTL line of 0.25 GA (32 OZ). Neither should change.
But if you make a new BOM and select that material, the UOM would default to the new IUM. So if someone isn’t careful, they might enter (or copy and paste) a value that used to assume the old IUM
To find all the quotes, look for the part number, and search for it under the QuoteMtl table. You can join that to QuoteHed to cross check for open quotes.