Production Planning
This page covers everything the app adds around making things:
- Net Regenerative Production Plan — reuse production orders whose BOM has not changed, instead of deleting and recreating every order on every run.
- Planning Worksheet Scheduling — run standard Business Central planning worksheet calculations in the background, in a defined order.
Holding inventory back from everyday demand — inventory building and inventory at risk — is on Planning.
Net Regenerative Production Plan
Helpers for Lanham Demand Planner extends Lanham's production planning engine with a Net Regenerative Production Plan. Instead of deleting every production order and recreating them from scratch on each planning run, the system tracks the Bill of Materials (BOM) state that was used when each order was created. On subsequent runs it reuses orders whose BOM has not changed, only deleting and recreating orders where the BOM or version has been modified.
This approach has two key benefits:
- Faster planning runs — orders that have not changed are updated in place rather than deleted and recreated, saving processing time on large item sets.
- Manual adjustments are preserved — any changes made to a reusable production order between planning runs (such as routing or scheduling overrides) survive the next regeneration.
The Net Regenerative Production Plan requires the Lanham Demand Planning app to be installed and the Enable DP Production flag to be enabled on at least one location.
Running the Net Regenerative Production Plan
The feature adds a Calculate Net Regenerative Production Plan action to the Lanham Production Plan page (under Processing).
From the user interface
- Open the Production Plan page.
- Choose Calculate Net Regenerative Production Plan from the action bar.
- A filter page is displayed allowing you to restrict which procurement units are included in the run. You can filter on any field — for example, by Item No., Location Code, or Variant Code. Leave the filters blank to process all procurement units.
- Choose OK to start the planning run, or Cancel to abort.
From the job queue
When the plan is run via the job queue (by scheduling the CreProdPlanYes/No_HDP_TSL codeunit), the filter page is not shown and all procurement units are processed. This is the same behaviour as Lanham's standard production plan.
How BOM Change Tracking Works
Each time a production order is created or reused, the system records a snapshot of the BOM state in the Reusable Production Order BOM Log:
- The Production BOM No. assigned to the order (resolved from the SKU or Item card).
- The Production BOM Version Code — the certified version applicable to the planning date.
- The BOM Last Modified At timestamp — the
SystemModifiedAtvalue of the version (or the header if no versions exist).
On the next planning run, for each existing production order, the system compares the logged snapshot against the current BOM state:
| Scenario | Action |
|---|---|
| BOM No., Version Code, and Last Modified At are all unchanged | The order is reused: its quantity is zeroed, then incremented with the new planned quantities. The BOM routing is not refreshed. |
| Any of the three values have changed | The order is deleted and a new order is created with the current BOM, ensuring the latest routing and components are applied. |
| No log entry exists for the order | The order is treated as changed and deleted. This handles orders created before the feature was enabled or orders that were manually created outside the planning run. |
At the end of each item's planning cycle, any reused orders that still have a zero quantity (i.e. no demand was planned for them) are deleted along with their log entries.
Viewing the BOM Log
To inspect the BOM change tracking log, search for Reusable Production Order BOM Log in the Business Central search bar. The page shows all current log entries with the following columns:
| Column | Description |
|---|---|
| Entry No. | Auto-incrementing primary key. |
| Location Code | The location code of the production order. |
| Item No. | The item number. |
| Variant Code | The item variant code (blank if none). |
| Planning Date | The planning date from the demand planner. |
| Required Date | The required date (due date) of the production order. |
| Horizon Date | The planning horizon date. |
| Prod. Order Status | The status of the production order (e.g. Simulated, Planned). |
| Prod. Order No. | The production order number. |
| Production BOM No. | The BOM number that was active when the order was created. |
| Production BOM Version Code | The BOM version code that was active. |
| BOM Last Modified At | The timestamp when the BOM or version was last modified. |
| Created At | When this log entry was first created. |
| Last Updated At | When this log entry was last updated. |
| Run Session ID | The session ID of the planning run that last touched this entry. |
| Stale | Whether the entry has been marked as stale. |
This page is read-only and intended for auditing and troubleshooting.
Production Plan Setup
Get First Production Date From
This setting controls which production order statuses are considered when Lanham calculates the first available production date for an item.
Location: Inventory Management Setup → Production/Assembly section → Get First Production Date From
| Option | Behaviour |
|---|---|
| Planned + Firm Planned + Released | Considers production orders in any of these three statuses when looking for the earliest due date. This is the broadest option and the default. |
| Firm Planned + Released | Ignores planned orders and only considers firm planned and released orders. |
| Released | Only considers released production orders. |
| Location Setup Only | Ignores production orders entirely. The first production date is determined solely by the Production Plan Locked Through date on the location card. |
If your planning process creates simulated or planned orders that should not influence the production date calculation, select a more restrictive option such as Firm Planned + Released or Released.
Permissions
The User_HDP_TSL permission set includes the permissions required for this feature. Assign this permission set to users who need to run production plans or view the BOM log.
| Object | Permission |
|---|---|
| Table: Reusable Prod. Order BOM Log | Execute (X) |
| Table Data: Reusable Prod. Order BOM Log | Read, Insert, Modify, Delete (RIMD) |
Planning Worksheet Scheduling (Short-Term Planning)
For many teams, long-term and short-term planning are owned by different people. This feature adds a practical way to run standard Business Central planning worksheet calculations in the background, while still giving each team control over what gets planned.
It is especially useful when you want to:
- Separate responsibilities across teams or planners.
- Orchestrate multiple worksheet runs automatically.
- Use different planning settings for different scenarios.
Business Value
The Planning Worksheet Scheduling feature gives you:
- Background automation for planning worksheet runs.
- Multiple schedule lines, each with its own worksheet and parameters.
- Sequence control so runs happen in a defined business order.
- Forecast-specific planning by saving parameters per schedule line (including forecast choices).
- Run transparency with status, start/end time, and run duration.
- Error visibility with captured planning errors that can be reviewed after each run.
- Flexible job queue setup: one job queue can run a full sequence, or multiple job queues can run different schedules on different days/times.
How to Use It
- Open the Planning Worksheet Schedule list.
- Create one line per planning run you want to automate.
- For each line, set:
- Worksheet Template Name
- Worksheet Batch Name
- Sequence (run order)
- Enabled
- Use View/Edit Parameters to save the planning request settings for that line.
- This is where you define options such as forecast usage and date behavior.
- Repeat for all required worksheet variations.
- Run manually with Run Selected Now for testing or ad-hoc execution.
- When ready, schedule via job queue for unattended operation.
Monitoring and Follow-Up
After each run, users can review:
- Whether the run succeeded or failed.
- How long it took (run duration).
- How many planning errors were captured.
- The detailed error entries for investigation and correction.
This supports a clear operational cycle: run automatically, review outcomes, fix data/setup issues, and rerun.
Scheduling Model Options
You can choose the model that best matches your operations:
- Single job queue entry: one scheduled job runs the entire sequence of enabled schedule lines.
- Multiple job queue entries: separate jobs run different schedule groups at different times or on different days.
Use a single job when your planning cadence is uniform. Use multiple jobs when teams, regions, or planning windows differ.