Hi,
I’m hoping to get some help or guidance on this. We are currently upgrading from Epicor 9.07 to Epicor 10.2.7, and I’m working on migrating our existing product configurator over from our 9 environment to 10. I’ve got everything cleaned up from some coding issues, but have been struggling with one particular configurator.
We have one operation that is set if there is some value in Small Inserts, Medium Inserts, Large Inserts, Reactors, Small Lifters or Large Lifters, so if these values are all 0, the operation should not be created and the configurator should move on to the next.
The issue that I’m having is that even if the values for those are set to 0, the configurator will still move on to the configurators for the small inserts, medium inserts, etc. On the plus side, it does not create the operation or the parts for the configurator. I’m struggling to figure out why this is, though.
We have another configurator that does a similar thing, but with different inserts and lifters and if those values are set to 0, then it doesn’t run the insert or lifter configurators.
In the rules, I have for Operation 240:
keep if return (Inputs.SmlSubIns.Value * 2) + (Inputs.MedSubIns.Value * 5) + (Inputs.LrgSubIns.Value * 12) + (Inputs.CustomSubIns.Value * 25) + (Inputs.CvrRetractors.Value * 15) + (Inputs.SmallCavLifters.Value * 2) + (Inputs.MediumCavLifters.Value * 5) > 0;
And rule actions of:
if(Context.Entity.Equals(“QuoteOpr”, StringComparison.OrdinalIgnoreCase)) QuoteOpr.ProdStandard = (Inputs.SmlSubIns.Value * 2) + (Inputs.MedSubIns.Value * 5) + (Inputs.LrgSubIns.Value * 12) + (Inputs.CustomSubIns.Value * 25) + (Inputs.CvrRetractors.Value * 15) + (Inputs.SmallCavLifters.Value * 2) + (Inputs.MediumCavLifters.Value * 5);
if(Context.Entity.Equals(“JobOper”, StringComparison.OrdinalIgnoreCase)) JobOper.ProdStandard = (Inputs.SmlSubIns.Value * 2) + (Inputs.MedSubIns.Value * 5) + (Inputs.LrgSubIns.Value * 12) + (Inputs.CustomSubIns.Value * 25) + (Inputs.CvrRetractors.Value * 15) + (Inputs.SmallCavLifters.Value * 2) + (Inputs.MediumCavLifters.Value * 5);
Then each material I have in there is set to:
keep if return Inputs.SmlSubIns.Value > 0;
and a rule action of
if(Context.Entity.Equals(“QuoteAsm”, StringComparison.OrdinalIgnoreCase)) QuoteAsm.QtyPer = Inputs.SmlSubIns.Value;