Forecasts Duplicated in Time Phase / MLP

I have a UI customization which creates Forecasts records for purchased parts. I am using the Forecast Adapter to create them, matching the calls used in forecast entry. The forecasts are generated correctly but some of them appear two, three or more times in time phase even though there is only one record for each date. I am pulling my hair out here, manually entered forecasts don’t seem to be duplicated. I was using the demandreference field and the enddate field but have since moved them into UD fields.

Epicor is blaming my customization but the the forecast records are identical to manually entered ones.

Does any one have any ideas?

Mercer Sisson

Hi Mercer,

I don’t know if this information will be helpful, but here goes. The behavior you are seeing reminds me of when we have wrong Import parameters in Forecast Entry. We import a couple times a week based on data from a run dashboard. Not automated… but not awful. I have seen duplicate forecast records when the import spec wasn’t done correctly, particularly when a user did not click “clear and reload”. Could there be a parameter that is not doing the clear and reload?

Hi Nancy

Thanks for the reply. We are not using the import function at all just yet (we may end up doing that, except I can’t import the UD fields I need). I think in your case without the clear and reload you could easily end up with duplicate forecast records. That is not the case here as I have confirmed that there is only one record per part per date.


This turned out to have nothing to do with the forecast records, rather it was caused by orphaned PartDtl records which are maintained by the Forecast BO and used by Time Phase (and others) instead of the Forecast records. I had a BPM which was using Db calls to delete the Forecast as needed but left the PartDtl in place which was then duplicated when the Forecast was recreated hence the duplicate entry in TimePhase. I have fixed the BPM to use the Forecast BO to delete the records and automatically clean up any orphaned PartDtls. Which corrected the problem.


1 Like

I was about to come back and say just that, Time Phase uses PartDtl :+1: