Manufacturing Essentials
Release: Manufacturing Essentials – 26.0.9679.51656
Description
This release of Manufacturing Essentials introduces a new Planning Flexibility Setup feature, allowing administrators to define default planning flexibility values (Unlimited, None, or empty) per production order status (Planned, Firm Planned, Released). The setting is automatically enforced when creating or changing production order status, whether done manually or through Planning Worksheet, Order Planning, or Requisition Worksheet. This release also includes two bug fixes: one correcting the default location assignment behavior during production order status changes, and another ensuring the process type is correctly inherited when splitting a production order with the Production Scenario integration. Additionally, event subscriber bindings for carry-out action processing have been corrected to target the proper publisher codeunit, and AL Enum type-safety improvements have been applied across integration codeunits.
User Stories
| Title | Description | Setup Instructions | Impact on previous version |
|---|---|---|---|
| [22819] – MES - Planning Flexibility Setup | Introduces configurable default planning flexibility per production order status. Administrators can now set the default planning flexibility (Unlimited, None, or no override) for Planned, Firm Planned, and Released Production Orders. The flexibility is automatically applied when creating production orders (manually or via Planning Worksheet/Order Planning/Requisition Worksheet) or when changing production order status. | New fields “Planned Orders Flexibility”, “Firm Planned Order Flexibility”, and “Released Orders Flexibility” have been added to the Manufacturing Essentials Setup page (Page 71926075). Navigate to Manufacturing Essentials Setup and configure the desired default planning flexibility for each production order status. Impacted objects: Table 71926075, Page 71926075, Enum 71926085, Codeunit 71926132, Codeunit 71926156, Codeunit 71926123. | No breaking changes for existing data. New fields default to “Unlimited” (standard BC behavior). The event subscriber bindings in Codeunit 71926123 (VMGCarryOutActionSubs) have been retargeted from Codeunit “Carry Out Action” to Codeunit “Mfg. Carry Out Action” — this is a high-impact correction that fixes previously inactive VMG field propagation during carry-out actions. Existing environments upgrading to this version will now have these subscribers active for the first time. |
Bugs
| Title | Description | Impact on previous version |
|---|---|---|
| [20622] – Default location assigned even when a location already exists on production order status change | Previously, when changing a production order status, the system would always assign the default warehouse employee location, overwriting any location code already set on the production order. The fix adds a guard condition in the OnAfterInsert trigger of the Production Order table extension (TableExt 71926096) that exits immediately if a Location Code is already present, preventing the default location from overriding an explicitly assigned value. | Low regression risk. The trigger has been renamed from OnInsert to OnAfterInsert to align with the correct AL lifecycle event. Existing production orders with pre-set locations will no longer have their location overwritten during status changes. |
| [23857] – Process type not inherited when splitting a production order with Production Scenario integration | When using the Production Scenario application integration and splitting a production order, the process type was not carried over to the new order. The fix applies explicit Enum type-safe conversion using "Production Order Status".FromInteger() in both MESIntegrationImpl (Codeunit 71926100) and PSCIntegrationSubscr (Codeunit 71926080), ensuring the correct production order status is resolved during the Get operations for Prod. Order Line and Prod. Order Component records. |
Low regression risk. The fix enforces proper AL Enum typing that was previously relying on implicit integer conversion. No behavioral change when valid status values are used. |
Events
No event added or updated in this release.