Factory Planning

Factory Planning is the central visual tool introduced by the Bricklead Production Optimization extension. It enables planners to view, organize, and optimize production orders across defined time blocks (called subperiods) and production lines. It uses Planning Characteristics, Changeover Times, and other configurable attributes to minimize downtime, balance workload, and meet production due dates.

Factory Planning is a worksheet-based buffer page designed to streamline scheduling. Actual production orders are only updated after executing the Adjust action.

Factory Planning Concepts

Factory Planning introduces the following core scheduling concepts:

  • Blocks: Logical groupings of production lines within a time subperiod.
  • Subperiods: Divisions of the planning window (Day, Week, Month, Quarter, or Year).
  • Changeover Matrix: Determines downtime between items or planning characteristics.
  • Planning Flexibility: Determines if a production line can be rescheduled automatically.
  • Manual Adjustments: Users can override system suggestions by setting manual dates/times.

Setup

Factory Planning is worksheet-based, and each worksheet includes:

Filter Description
Production Line No Filter Select the specific Production Line.
Starting Date From / To Defines the date range for planned production orders.
Optimization Period / Subperiod Determines how production is divided into planning blocks.
Produce From Time Starting time for daily production.
Location Code Optional filter by location.
The Optimization Period and Subperiod are inherited from the Factory Planning Setup or the selected Production Line.

Each production order line in Factory Planning contains key information for scheduling:

Field Description
Block / New Block Current and target block number for grouping.
Item No / Variant Code / Description Identifies the item being produced.
Planning Characteristics 1–10 Inherited from the item or SKU.
Production Order No / Line No Identifies the source production document.
Status Status of the production order (Planned, Firm Planned, Released).
Original Starting / Ending Date-Time Source values from the production order line.
New Starting / Ending Date-Time Proposed values after scheduling.
Changeover Time / UoM Downtime assigned by matrix between operations.
Manual Date / Time Optional override by user input.
Planning Flexibility Whether the order can be rescheduled.
Sales Order No / Family No Link to sales documents and family grouping.
Flags Scheduled Downtime, Maintenance Time, Overtime, Invalid Combination.

Key Actions

Factory Planning provides a suite of actions to enable dynamic production scheduling:

Action Description
Retrieve Collects production order lines using current filters.
Schedule Sorts orders by planning characteristics within each block.
Assign Calculates proposed dates/times using sequencing and changeover logic.
Adjust Applies the proposed plan to actual production orders.
Move Line Up / Down Reorders lines within a block.
Move Block Up / Down Reorders entire blocks.
Move Lines to Block Moves selected lines to a new block.
Insert Scheduled Downtime Adds downtime between two production orders.
Insert Maintenance Time Adds a maintenance activity to the routing.
Split Production Order Splits a production order into two parts.
Plan Overtime Adds overtime hours beyond standard working hours.
Add Maintenance Order Create a released Maintenance Order to block planning time for a Production Line. The line is treated as a fixed schedule within its block.
Change Status Changes production order status.
Change Planning Flexibility Toggles flexibility between None and Unlimited.
Turn Off Invalid Combination Clears the invalid combination warning from selected lines.
Comments Opens standard comment sheet for the production order.

Retrieve Action

Purpose: Load production order lines into the Factory Planning page based on filters and setup rules.

Behavior:

  • Pulls orders based on:
    • Status defined in Factory Planning Setup (Planned, Firm Planned, Released).
    • Starting Date From / Optimization Period.
    • Location Code (optional).
    • Production Line and Subperiod filters.

Validations:

  • All filters must be filled (except Location).
  • Shows an error if:
    • Optimization Order Nos. is not defined.
    • Item is blocked.
    • Required filters are empty.

Schedule Action

Purpose: Organizes production lines within blocks by planning characteristics and item/family grouping.

Sorting Logic:

  1. Group by Block and filters.
  2. Group by Item No. (or Family No. if family order).
  3. Sort by Planning Characteristic Priority (1–10).
  • From Prod. Line Planning Characteristics if exist and have priorities defined.
  • If not, from Planning Characteristics page.
  1. Released → Firm Planned → Planned.
  2. For equal priority: sort by Production Order No.

Special Case – Family Orders:

  • Keeps all lines for a family order grouped.
  • Family orders appear after non-family items of the same priority.

Assign Action

Purpose: Assigns new start and end dates to each production order line using block sequencing and changeover time.

Calculation Logic:

  • First line: New Starting Date-Time = Produce From Time + Preparation Time New Ending Date-Time = New Starting Date-Time + Duration
  • Next lines: New Starting Date-Time = Previous New Ending Date-Time + Changeover Time New Ending Date-Time = New Starting Date-Time + Duration

Handles:

  • Changeover Time from matrix (Item and Planning Characteristic).
  • Automatic split into two orders if end time exceeds default working hours (if enabled).
  • Manual override using Manual Date + Manual Time.

Validations:

  • Manual fields must be both populated.
  • Family orders must have consistent manual values.
  • Flexibility = None means that it is not possible to assign new information.
  • Missing changeover = marks as Invalid Combination.
  • Late schedule = highlights Due Date in red.

Adjust Action

Purpose: Applies new proposed start/end times to actual production orders.

Behavior:

  • Checks current data against original production order:
    • Item, Variant, Routing, Due Date, Quantity.
  • Applies the new schedule only if everything matches.
  • Updates Production Order Lines and clears buffer fields.
  • Updates Planning Flexibility to post-optimization setting.

Validations:

  • No updates if ledger entries exist.
  • Rollback on any mismatch between buffer and source data.

Move Line Up / Down Action

Purpose: Manually reorder lines within the same block.

Limitations:

  • Cannot move across blocks.
  • One line at a time.
  • Has no functional impact on scheduling until Assign is used again.

Move Block Up / Down Action

Purpose: Reorder entire blocks (subperiod groupings).

Limitations:

  • Family orders cannot be moved.

Move Lines to Block Action

Purpose: Moves selected lines to a new block.

Steps:

  1. Populate the New Block field.
  2. Click Move Lines to Block.
  3. The line is reassigned, and New Block is cleared.

Validations:

  • New Block must exist.
  • Family orders: All lines of the same Family and Order must be selected and consistent.

Insert Scheduled Downtime Action

Purpose: Adds buffer time to the end of a production order line.

Steps:

  • Opens a request page to input Downtime.
  • Downtime is added to the last operation of the routing.

Validations:

  • Manual/New Date-Time fields must be empty.
  • Routing must exist and have at least one operation.

Insert Maintenance Time Action

Purpose: Adds a new operation to the routing for maintenance.

Steps:

  • Opens request page to input Setup and Run time, start date/time.
  • Adds a new operation before the last in routing.
  • Uses Work Center from Factory Planning Setup.

Validations:

  • Manual/New fields must be empty.
  • Shifts to next working day if time exceeds day limit.

Split Production Order

Purpose: Splits a production order line into two based on quantity.

Behavior:

  • Opens a request page to define split quantity.
  • Copies components, routings, tracking to new order.
  • Updates Factory Planning view.

Limitations:

  • Not available for Family Orders.
  • Blocked if ledger entries or item tracking exist.

Plan Overtime

Purpose: Adds time outside regular hours for a production order.

Behavior:

  • User selects time and amount.
  • User can choose in which operation of the routing the overtime should be added.
  • Ignores Ending Date-Time from Production Line.
  • System does not ignore standard shop calendar for each work center. Meaning that the overtime will be set outside regular Production Line work hours, if the respective Work Center has a shop calendar that works later than the Production Line.

Validations:

  • Time must be outside standard hours.
  • Manual/New Date-Time must be empty.

Add Maintenance Order

Purpose: Create a released Maintenance Order to block planning time for a Production Line. The line is treated as a fixed schedule within its block.

Behavior:

  • Pick a Maintenance Routing for the line.
  • Enter Starting DateTime and Run Time (Location optional).
  • Confirm to create the Released Production Order; a Factory Planning line is added and flagged as Maintenance Order.

Validations:

  • Maintenance Item and Maintenance Work Center must exist.
  • Manual/New date/time must be empty.
  • Only one Maintenance Order can be created in the same period.
  • Incompatible with Insert Scheduled Downtime, Insert Maintenance Time, Split, and Plan Overtime.
  • Maintenance Orders keep original start/end during the Assign function. The system positions them and reassigns subsequent lines in the block.

Change Status Action

Purpose: Updates the production order’s status.

Behavior:

  • Uses standard status change logic.
  • Cannot change from Released to Finished via this page.
  • Applies to full order, not just line.

Validation:

  • Ensures buffer and source values match.

Change Planning Flexibility Action

Purpose: Toggles Planning Flexibility (None ↔ Unlimited).

Limitations:

  • All selected lines must have same flexibility.
  • Blocked if capacity ledger entries exist

Turn Off Invalid Combination Action

Purpose: Clears the Invalid Combination flag for selected lines.

Usage:

  • Helpful after manually correcting planning errors.
  • Can be applied to multiple lines at once.

Comments Action

Purpose: Opens the standard Production Order Comment Sheet.

Details:

  • Lets users view/add comments from Factory Planning page.
  • Syncs directly with the Production Order record.

Business Rules

Factory Planning enforces the following core business logic:

  • Mandatory Filters: Users must define values for Production Line, Starting Date From, and Optimization Period before using the Retrieve action.
  • Planning Characteristic Inheritance: The number and values of Planning Characteristics per order line match the definitions from Factory Planning Setup and the Item Card or SKU.
  • Changeover Logic:
    • When the Assign action is used, the system calculates downtime between production orders using the Changeover Time Matrix.
    • If Allow Invalid Combinations is disabled and if a valid changeover record is not found or if the New Ending Date exceeds the Due Date, the line is flagged as Invalid Combination.
  • Manual Date/Time Restrictions:
    • Manual values must be fully entered (both date and time) to take effect.
    • If only one is populated, the system returns an error.
  • Family Orders:
    • All lines from a Family Production Order must receive identical manual date/time values for Assign to proceed.
    • Splitting or moving individual lines in a family group is not permitted unless the entire group is selected.
  • Adjust Restrictions:
    • Adjust validates that the current Factory Planning data matches the source production order. If discrepancies are found, the process is aborted with an error.
  • Planning Flexibility Enforcement:
    • Orders with Planning Flexibility = None cannot be rescheduled. Attempting to assign a manual date/time results in an error.
  • Ledger Entry Locks:
    • Orders with capacity or item ledger entries cannot be adjusted, split, or modified for planning flexibility. The system provides appropriate error messages and halts the process.
Previous
Next