ECO — Engineering Change Order#
An ECO is the controlled path for changing a released design. It carries a set of proposed changes (component swaps, quantity edits, alternate additions, ref-designator changes, anti-AVL flags, routing / tool updates) through approval, then applies them to the live BOM and to affected work orders, sales orders, and tools.
Structure#
ECMAIN— ECO header (number, description, status, approvers).ECDETAIL— line-level changes.ECAlternateParts— alternate-part additions or removals.ECAntiAvl— anti-AVL flag changes.ECRefDesignator— reference-designator changes.ECDocuments— attached engineering documents.
Impact routing#
When an ECO is approved, its changes are propagated by helper:
| Helper | Where it applies the change |
|---|---|
ECMainHelper | Header lifecycle: draft → routed → approved → applied → closed. |
ECDetailHelper | Applies the component-level change to the live BOM. |
ECWOHelper | Affects open Work Orders — flags them for re-kitting, updates outstanding kit allocations. |
ECSOHelper | Affects open Sales Orders that reference the changed assembly. |
ECToolsHelper | Updates any tools / fixtures listed as required for the assembly. |
ECAntiAvlHelper | Adds / removes anti-AVL rules. |
ECAlternatePartsHelper | Adds / removes alternate AVL entries. |
ECRefDesignatorHelper | Renames / renumbers ref-designators. |
ECDocumentsHelper | Attaches supporting docs. |
EcMiscHelper covers small helper flows that don’t belong to any of the above.
Business rules#
- An ECO must be the only path that promotes an EBOM change into a live BOM. Direct BOM edits on a released revision are restricted.
- Approval is required before any of the
EC*Helperpropagation methods will run. - Open WOs affected by an ECO are marked so kitting picks up the new BOM on next allocation. In-process material already issued is not automatically reversed — it’s flagged for physical review.
- Anti-AVL changes take effect immediately across all future kitting decisions; existing reservations are not clawed back unless the ECO explicitly instructs it.
Where it lives#
| Layer | File |
|---|---|
| Controller | newSite/Controllers/ECOController.cs |
| Helper | MnxEFModel/Helper/ECO/ (ten EC*Helper.cs files listed above) |
| TSQL | TSQL/ECO Summary Default Grid Column update.sql, TSQL/ECO Summary Kendo Grid Defaults update.sql |
| Related | BOM & EBOM, Work Orders, Sales |