- Home
- Blog
- Troubleshooting
- The Anomaly Report Still Lists a Problem I Fixed:…
The Anomaly Report Still Lists a Problem I Fixed: Causes and Fixes
When an anomaly row survives a fix, it is almost always because the schedule was never regenerated: the report audits the bookings that currently exist, and correcting a setting does not rewrite bookings that were already placed. EDGEBIC by User Solutions reads the current stored state every time the anomaly report loads, so the clearing sequence is always the same three moves: fix the cause, re-run scheduling, re-open the report.
Skipping the middle move is the single most common reason a planner believes a check is broken. This post covers the four reasons a row persists and how to tell them apart, and it belongs with the other diagnostic entries in the EDGEBIC troubleshooting guide. For the report screen itself see how to run the scheduler anomalies report, and for the findings that are meant to stay see the anomaly report flags a job I think is fine.
What You Are Seeing
You corrected the thing the anomaly row named: you added the missing shift, restored the machine unit, fixed the instance count, or entered the holiday. You re-open the report and the same row is still there, with the same job, the same date, and the same description.
Why It Happens
Cause 1: The Schedule Was Not Regenerated
Most checks describe a schedule row that already exists. Over-utilization, instance collisions, off-calendar bookings, plan inversion, and consistency drift are all statements about placed work. Changing a setting changes what the engine will produce next time. It does not move a booking that is already stored.
How to tell: the fix was to master data (a calendar, a shift, an instance count, a machine unit) and you have not scheduled since.
Cause 2: The Report Pane Is Holding an Older Result
The report loads its data when it opens and keeps that result on screen. If you leave it open across a scheduling run, you are reading the state from before the run. There is no live refresh behind the pane.
How to tell: the report has been open since before your last run.
Cause 3: The Finding Is About a Routing, Not a Schedule
The routing-level checks, covering overlap gates, transit mode, and fields the scheduler does not read, evaluate the routing record itself. Rescheduling will not clear them because the engine is not what is wrong. Only correcting the routing clears them, and they clear immediately on the next report load without a scheduling run.
How to tell: the row names a routing step and a configuration field rather than a date and a machine.
Cause 4: The Finding Is a Warning That Is Meant to Persist
Some warning-level checks reflect normal variance. An idle gap between two consecutive jobs on a machine unit is a throughput observation, not an error. Drift between the hours a routing predicts and the hours actually booked has legitimate causes, including a routing edited after the schedule was built and work that ran on an alternate machine.
How to tell: the row is a warning, the description reads as an observation, and the number is small.
How to Fix It
- Re-run scheduling after any master-data fix, then re-open the report. This clears the large majority of persistent rows.
- Close and re-open the report rather than trusting a pane that has been open across runs.
- For routing-level rows, correct the routing and reload the report. No scheduling run is required for those to clear.
- For warnings, decide rather than chase. Accept the ones that describe reality and act on the ones that repeat on the same work center.
How to Diagnose It, in Order
- Check whether you have scheduled since the fix. If not, that is the answer.
- Reload the report so you know you are reading current state.
- Read the severity. Critical rows are the gate. Warnings need a judgment, not a reflex.
- Read the detail column, which carries the specific values behind the row: the machine, the date, the hours booked against the cap, and the jobs involved.
- If the row survives a clean re-run, the cause you fixed was not the cause of this row. Re-read the description and work the check on its own terms.
How to Prevent It
- Adopt the three-move habit: fix, re-run, re-open. Written on a sticky note it removes most of this class of confusion.
- Run the report after the last scheduling run of the session, not before it. A report run mid-session audits a plan you are about to replace.
- Remember that calendar edits are not retroactive. A holiday, a downtime window, or a shift change governs future runs; existing bookings move only when the job is rescheduled, as covered in a job was booked on a holiday.
- Track which checks you have cleared so a reappearance on the next run reads as a regression rather than as noise, and treat critical checks as the ones that must reach zero before you publish.
Most anomaly rows describe a schedule that already exists, not a setting. Fixing the setting changes what the next run will produce, but it does not rewrite the bookings the last run already made, so the row survives until you re-run scheduling. The sequence that clears a row is fix the cause, re-run scheduling, then re-open the report. Skipping the middle step is the usual reason a corrected problem keeps reappearing.
Re-open it. The report reads current stored state at the moment it loads and then holds that result while the pane is open. If you re-run scheduling with the report still on screen, you are looking at the previous state. Close the report and open it again after the run completes, and the rows reflect the new schedule. This also means a report you left open during a long working session can be several runs out of date.
Not necessarily. Some warning-level checks reflect normal schedule variance rather than defects: idle gaps between consecutive jobs and drift between routing-expected hours and booked hours both have legitimate causes. Treat critical rows as the gate that must reach zero and review warnings for acceptability instead of chasing them. A warning that appears on every run on the same work center is still worth investigating as a configuration signal.
Expert Q&A: Deep Dive
Q: I entered a holiday, re-opened the report, and the booking on that day is still flagged. What am I missing?
A: Calendar edits are not retroactive. The holiday changes what the engine can book from the next run onward, but the existing booking was placed when the day was open and it stays where it is until the job is rescheduled. Re-run scheduling for the affected job, then re-open the report. If the row survives a clean re-run, the calendar entry itself is the thing to check: confirm it is active, covers the right date, and is attached to the plant, the work center, or the shift the job actually uses.
Q: The row cleared on the job I fixed but the same check now fires on a different job. Did my fix cause that?
A: Usually not. The report is a plant-wide audit of current state, so a re-run that moves work around can expose the same configuration weakness on another job that now lands on the same machine or day. Read the new row on its own terms: the check identifier tells you the category, and the detail names the work center, date, and jobs involved. If the same check keeps surfacing on different jobs, the root cause is the shared configuration, not the individual job.
Frequently Asked Questions
Ready to Transform Your Production Scheduling?
User Solutions has been helping manufacturers optimize their production schedules for over 35 years. One-time license, 5-day implementation.

User Solutions Team
Manufacturing Software Experts
User Solutions has been developing production planning and scheduling software for manufacturers since 1991. Our team combines 35+ years of manufacturing software expertise with deep industry knowledge to help factories optimize their operations.
Share this article
Related Articles
An Operation Moved and the Machine Was Free: Finding the Hidden Cause
A job slid and every machine shows open hours. Tooling is the cause the Gantt cannot draw. How to rule it in or out in two minutes before you chase calendars.
An Operation Shows Running Forever Though All Hours Are Logged
A step stays in progress after every hour is logged because completion is an explicit stamp, not an hours threshold. How to close it and stop it recurring.
Another User Changed This Record: Causes and Fixes
EDGEBIC refuses a save when the record moved after you loaded it. The usual cause is a colleague, but the message also appears when you are alone. How to read it and what to do.
