<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Advanced Planning Releases Notes | BRICKLEAD - Online Docs</title>
    <link>/en-us/apps/apl/release/</link>
      <atom:link href="/en-us/apps/apl/release/index.xml" rel="self" type="application/rss+xml" />
    <description>Advanced Planning Releases Notes</description>
    <generator>Source Themes Academic (https://sourcethemes.com/academic/)</generator><language>en-us</language><lastBuildDate>Fri, 14 Feb 2020 00:00:00 +0000</lastBuildDate>
    <image>
      <url>/images/logo_hu742b13eb6b2dadc917c452c2f561d5ef_14727_300x300_fit_lanczos_2.png</url>
      <title>Advanced Planning Releases Notes</title>
      <link>/en-us/apps/apl/release/</link>
    </image>
    
    <item>
      <title>Advanced Planning</title>
      <link>/en-us/apps/apl/release/apl-28.0.9694.37961/</link>
      <pubDate>Fri, 17 Jul 2026 10:54:26 +0000</pubDate>
      <guid>/en-us/apps/apl/release/apl-28.0.9694.37961/</guid>
      <description>&lt;h2 id=&#34;release-advanced-planning--280969437961&#34;&gt;Release: Advanced Planning – 28.0.9694.37961&lt;/h2&gt;
&lt;h2 id=&#34;description&#34;&gt;Description&lt;/h2&gt;
&lt;p&gt;This is the &lt;strong&gt;initial release&lt;/strong&gt; of the &lt;strong&gt;Advanced Planning&lt;/strong&gt; application for Microsoft Dynamics 365 Business Central. This extension enhances the standard regenerative planning engine with advanced inventory exclusion logic (blocked lots, expired tracking, inspection status, QRS shelf-life), automated planning calculation scheduling via Job Queue, demand forecast import/export capabilities, and comprehensive planning log information for audit and troubleshooting. Particularly relevant for &lt;strong&gt;Food &amp;amp; Beverage&lt;/strong&gt; industries where lot tracking, expiration management, and quality-based supply exclusion are critical for accurate MRP/MPS calculations.&lt;/p&gt;
&lt;h2 id=&#34;user-stories&#34;&gt;User Stories&lt;/h2&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Title&lt;/th&gt;
&lt;th&gt;Description&lt;/th&gt;
&lt;th&gt;Setup Instructions&lt;/th&gt;
&lt;th&gt;Impact on previous version&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;[22570] – Advanced Regenerative Plan&lt;/td&gt;
&lt;td&gt;Extends the standard Calculate Regenerative Plan to exclude blocked, expired, and quality-rejected inventory from supply evaluation. Implements an interface-based architecture (AdvancedPlanning Interface) with pluggable tracking codeunits (BlockedTracking, ExpiredTracking, QRSTracking, INSTracking). Items excluded from planning are logged with detailed exclusion reasons.&lt;/td&gt;
&lt;td&gt;Configure exclusion options in Advanced Planning Setup (Page 8121100). Assign briAPL_Basic or briAPL_Admin permission set to users.&lt;/td&gt;
&lt;td&gt;First release — no impact on previous versions.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;[22572] – Planning Worksheet Enhancement&lt;/td&gt;
&lt;td&gt;Extends the Planning Worksheet page with a Log Planning Information factbox and action, allowing users to view detailed planning evaluation results directly from the worksheet.&lt;/td&gt;
&lt;td&gt;No additional setup. Feature activates automatically once APL is installed.&lt;/td&gt;
&lt;td&gt;First release — no impact on previous versions.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;[22574] – Automated Planning Calculation&lt;/td&gt;
&lt;td&gt;Enables users to save planning calculation profiles (item filters, MPS/MRP flags, date formulas, forecast options) and schedule them as recurring Job Queue entries. Profiles can be created from the Calculate Plan report via a &amp;ldquo;Save to Job Queue&amp;rdquo; option.&lt;/td&gt;
&lt;td&gt;Use the Save to Job Queue action from Calculate Plan – Planning Worksheet report. Manage profiles via Req. Wksh. Names page (Run Now / Edit actions). Requires briAPL_Admin permission set for Job Queue administration.&lt;/td&gt;
&lt;td&gt;First release — no impact on previous versions.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;[22576] – Demand Forecast Export&lt;/td&gt;
&lt;td&gt;Allows exporting demand forecast entries to Excel with configurable filters (date range, forecast type, item/location/variant), multiple view-by periods, and optional conversion to Sales Unit of Measure.&lt;/td&gt;
&lt;td&gt;Access Export action from Demand Forecast Card or Demand Forecast Names page.&lt;/td&gt;
&lt;td&gt;First release — no impact on previous versions.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;[22599] – Demand Forecast Import&lt;/td&gt;
&lt;td&gt;Provides a wizard-based import of demand forecast entries from Excel files. Supports row-by-row validation (item existence, variant, location, UoM, period date, duplicates, negative quantities), inline error correction, Update Mode (replace) and Add Mode (accumulate).&lt;/td&gt;
&lt;td&gt;Access Import action from Demand Forecast Card or Demand Forecast Names page.&lt;/td&gt;
&lt;td&gt;First release — no impact on previous versions.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;[22600] – Log Planning Information&lt;/td&gt;
&lt;td&gt;Introduces a dedicated table and pages to log supply and demand entries evaluated during planning calculations, including lot/serial/package tracking, expiration dates, sell-by dates, and planning outcome (Included/Excluded). Provides a hierarchical view and an Unplanned Items page.&lt;/td&gt;
&lt;td&gt;Automatically populated during planning calculations when APL is active.&lt;/td&gt;
&lt;td&gt;First release — no impact on previous versions.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;[22601] – QRS Integration&lt;/td&gt;
&lt;td&gt;Integrates with the Bricklead QRS (Quality &amp;amp; Regulatory Standards) module to evaluate lot sell-by dates and minimum shelf-life requirements during planning. Uses SellByEvaluationMethod enum for flexible evaluation.&lt;/td&gt;
&lt;td&gt;Requires QRS module to be installed. Configuration in Advanced Planning Setup.&lt;/td&gt;
&lt;td&gt;First release — no impact on previous versions.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;[22602] – INS Integration&lt;/td&gt;
&lt;td&gt;Integrates with the Bricklead INS (Inspection Status) module to evaluate inspection statuses and exclude-from-planning flags during supply evaluation.&lt;/td&gt;
&lt;td&gt;Requires INS module to be installed. Configuration in Advanced Planning Setup.&lt;/td&gt;
&lt;td&gt;First release — no impact on previous versions.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;[22604] – Assisted Setup Wizard&lt;/td&gt;
&lt;td&gt;Provides a guided setup wizard registered in Business Central&amp;rsquo;s Guided Experience for first-time configuration of Advanced Planning options (inventory exclusion toggles).&lt;/td&gt;
&lt;td&gt;Access from Assisted Setup in Business Central.&lt;/td&gt;
&lt;td&gt;First release — no impact on previous versions.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;[22974] – Notification Management&lt;/td&gt;
&lt;td&gt;After planning calculation, notifies the user if items were left unplanned. Notification includes a drill-down link to Log Planning Information and can be permanently dismissed via My Notifications.&lt;/td&gt;
&lt;td&gt;No additional setup required.&lt;/td&gt;
&lt;td&gt;First release — no impact on previous versions.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;[23170] – Permission Sets&lt;/td&gt;
&lt;td&gt;Introduces a three-tier permission model: Admin (full access + Job Queue Admin), Basic (full RIMD on all APL objects), and Read (read-only access).&lt;/td&gt;
&lt;td&gt;Assign appropriate permission set (briAPL_Admin, briAPL_Basic, or briAPL_Read) to users.&lt;/td&gt;
&lt;td&gt;First release — no impact on previous versions.&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h2 id=&#34;bugs&#34;&gt;Bugs&lt;/h2&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Title&lt;/th&gt;
&lt;th&gt;Description&lt;/th&gt;
&lt;th&gt;Impact on previous version&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;[22609] – FIX StrLen to MaxStrLen&lt;/td&gt;
&lt;td&gt;Corrected usage of StrLen to MaxStrLen in string length evaluations to prevent potential runtime errors when handling text fields at maximum capacity. Verified in RequisitionLineSubscr.Codeunit.al.&lt;/td&gt;
&lt;td&gt;First release — no regression risk.&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h2 id=&#34;events&#34;&gt;Events&lt;/h2&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Status&lt;/th&gt;
&lt;th&gt;Type&lt;/th&gt;
&lt;th&gt;Object Name&lt;/th&gt;
&lt;th&gt;Event Name&lt;/th&gt;
&lt;th&gt;Description&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;New&lt;/td&gt;
&lt;td&gt;IntegrationEvent&lt;/td&gt;
&lt;td&gt;briAPL_AutomatedPlanCalc (Codeunit 8121113)&lt;/td&gt;
&lt;td&gt;OnBeforeRun&lt;/td&gt;
&lt;td&gt;Raised before the automated regenerative plan calculation executes.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;New&lt;/td&gt;
&lt;td&gt;IntegrationEvent&lt;/td&gt;
&lt;td&gt;briAPL_AutomatedPlanCalc (Codeunit 8121113)&lt;/td&gt;
&lt;td&gt;OnAfterRun&lt;/td&gt;
&lt;td&gt;Raised after the automated regenerative plan calculation completes.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;New&lt;/td&gt;
&lt;td&gt;IntegrationEvent&lt;/td&gt;
&lt;td&gt;briAPL_AutomaticPlanCalcMgmt (Codeunit 8121109)&lt;/td&gt;
&lt;td&gt;OnBeforeSaveCalculateRegenerativePlanProfile&lt;/td&gt;
&lt;td&gt;Allows skipping or overriding the save profile procedure.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;New&lt;/td&gt;
&lt;td&gt;IntegrationEvent&lt;/td&gt;
&lt;td&gt;briAPL_AutomaticPlanCalcMgmt (Codeunit 8121109)&lt;/td&gt;
&lt;td&gt;OnAfterSaveCalculateRegenerativePlanProfile&lt;/td&gt;
&lt;td&gt;Raised after saving the planning calculation profile.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;New&lt;/td&gt;
&lt;td&gt;IntegrationEvent&lt;/td&gt;
&lt;td&gt;briAPL_AutomaticPlanCalcMgmt (Codeunit 8121109)&lt;/td&gt;
&lt;td&gt;OnAfterSetAutomatedPlanningCalculationDates&lt;/td&gt;
&lt;td&gt;Raised after setting planning dates on the profile.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;New&lt;/td&gt;
&lt;td&gt;IntegrationEvent&lt;/td&gt;
&lt;td&gt;briAPL_AutomaticPlanCalcMgmt (Codeunit 8121109)&lt;/td&gt;
&lt;td&gt;OnAfterCreateAutomatedPlanningCalculationOnBeforeInsert&lt;/td&gt;
&lt;td&gt;Raised before inserting the planning profile record.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;New&lt;/td&gt;
&lt;td&gt;IntegrationEvent&lt;/td&gt;
&lt;td&gt;briAPL_AutomaticPlanCalcMgmt (Codeunit 8121109)&lt;/td&gt;
&lt;td&gt;OnAfterCreateJobQueueEntryOnBeforeInsert&lt;/td&gt;
&lt;td&gt;Raised before inserting the Job Queue entry for the profile.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;New&lt;/td&gt;
&lt;td&gt;IntegrationEvent&lt;/td&gt;
&lt;td&gt;briAPL_AutomaticPlanCalcMgmt (Codeunit 8121109)&lt;/td&gt;
&lt;td&gt;OnBeforeRunAutomatedPlanningCalculation&lt;/td&gt;
&lt;td&gt;Allows skipping or overriding the automated calculation execution.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;New&lt;/td&gt;
&lt;td&gt;IntegrationEvent&lt;/td&gt;
&lt;td&gt;briAPL_AutomaticPlanCalcMgmt (Codeunit 8121109)&lt;/td&gt;
&lt;td&gt;OnRunAutomatedPlanningCalculationOnBeforeCalculatePlanPlanWkshRun&lt;/td&gt;
&lt;td&gt;Raised before running the Calculate Plan report in automated mode.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;New&lt;/td&gt;
&lt;td&gt;IntegrationEvent&lt;/td&gt;
&lt;td&gt;briAPL_AutomaticPlanCalcMgmt (Codeunit 8121109)&lt;/td&gt;
&lt;td&gt;OnAfterRunAutomatedPlanningCalculation&lt;/td&gt;
&lt;td&gt;Raised after the automated calculation completes.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;New&lt;/td&gt;
&lt;td&gt;IntegrationEvent&lt;/td&gt;
&lt;td&gt;briAPL_LogPlanningInformation (Table 8121101)&lt;/td&gt;
&lt;td&gt;OnCreateSupplyEntryOnBeforeInsert&lt;/td&gt;
&lt;td&gt;Allows modification of supply log entries before insertion.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;New&lt;/td&gt;
&lt;td&gt;IntegrationEvent&lt;/td&gt;
&lt;td&gt;briAPL_LogPlanningInformation (Table 8121101)&lt;/td&gt;
&lt;td&gt;OnCreateDemandEntryOnBeforeInsert&lt;/td&gt;
&lt;td&gt;Allows modification of demand log entries before insertion.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;New&lt;/td&gt;
&lt;td&gt;IntegrationEvent&lt;/td&gt;
&lt;td&gt;briAPL_LogPlanningInformation (Table 8121101)&lt;/td&gt;
&lt;td&gt;OnCreateSummaryEntryOnBeforeInsert&lt;/td&gt;
&lt;td&gt;Allows modification of summary log entries before insertion.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;New&lt;/td&gt;
&lt;td&gt;IntegrationEvent&lt;/td&gt;
&lt;td&gt;briAPL_LogPlanningInformation (Table 8121101)&lt;/td&gt;
&lt;td&gt;OnBeforeRecalculateSummaryEntryQuantities&lt;/td&gt;
&lt;td&gt;Allows overriding summary quantity recalculation.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;New&lt;/td&gt;
&lt;td&gt;IntegrationEvent&lt;/td&gt;
&lt;td&gt;briAPL_LogPlanningInformation (Table 8121101)&lt;/td&gt;
&lt;td&gt;OnCalculateSummaryEntryQuantitiesOnBeforeModify&lt;/td&gt;
&lt;td&gt;Allows modification of summary quantities before record modification.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;New&lt;/td&gt;
&lt;td&gt;IntegrationEvent&lt;/td&gt;
&lt;td&gt;briAPL_LogPlanningInformation (Table 8121101)&lt;/td&gt;
&lt;td&gt;OnAfterApplyRelatedFilters&lt;/td&gt;
&lt;td&gt;Allows applying additional filters after standard filters.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;New&lt;/td&gt;
&lt;td&gt;IntegrationEvent&lt;/td&gt;
&lt;td&gt;briAPL_LogPlanningInformation (Table 8121101)&lt;/td&gt;
&lt;td&gt;OnAfterGetDescriptionFromInventoryProfile&lt;/td&gt;
&lt;td&gt;Allows overriding description generation from inventory profile.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;New&lt;/td&gt;
&lt;td&gt;IntegrationEvent&lt;/td&gt;
&lt;td&gt;briAPL_LogPlanningInformation (Table 8121101)&lt;/td&gt;
&lt;td&gt;OnCreateReorderingPointDemandEntryOnBeforeInsert&lt;/td&gt;
&lt;td&gt;Allows modification of reordering point demand entries before insertion.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;New&lt;/td&gt;
&lt;td&gt;IntegrationEvent&lt;/td&gt;
&lt;td&gt;briAPL_LogPlanningInformation (Page 8121101)&lt;/td&gt;
&lt;td&gt;OnAfterSetUIAvailability&lt;/td&gt;
&lt;td&gt;Allows modification of UI availability variables on the Log Planning Information page.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;New&lt;/td&gt;
&lt;td&gt;IntegrationEvent&lt;/td&gt;
&lt;td&gt;briAPL_UnplannedItemSubform (Page 8121104)&lt;/td&gt;
&lt;td&gt;OnAfterSetUIAvailability&lt;/td&gt;
&lt;td&gt;Allows modification of UI availability variables on the Unplanned Item Subform page.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;New&lt;/td&gt;
&lt;td&gt;IntegrationEvent&lt;/td&gt;
&lt;td&gt;briAPL_QRSIntegrationHandler (Codeunit 8121119)&lt;/td&gt;
&lt;td&gt;OnBeforeQRSInstalled&lt;/td&gt;
&lt;td&gt;Allows overriding the QRS installed check.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;New&lt;/td&gt;
&lt;td&gt;IntegrationEvent&lt;/td&gt;
&lt;td&gt;briAPL_INSIntegrationHandler (Codeunit 8121115)&lt;/td&gt;
&lt;td&gt;OnBeforeInspectionStatusInstalled&lt;/td&gt;
&lt;td&gt;Allows overriding the INS installed check.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;New&lt;/td&gt;
&lt;td&gt;IntegrationEvent&lt;/td&gt;
&lt;td&gt;briAPL_ExtensionMgt (Codeunit 8121100)&lt;/td&gt;
&lt;td&gt;OnBeforeIsBasic&lt;/td&gt;
&lt;td&gt;Allows overriding the license/basic permission check.&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
</description>
    </item>
    
  </channel>
</rss>
