---
title: "Codeunit 396 NoSeriesManagement"
author: "Jonas Paprotka"
url: https://jonas-paprotka.de/ref/codeunit/396-noseriesmanagement/
type: codeunit
id: 396
name: "NoSeriesManagement"
app: "Business Foundation"
namespace: Microsoft.Foundation.NoSeries
versions: "17-26"
build: 26.5.38752.40541
obsolete: "Pending 24.0"
source: "https://jonas-paprotka.de/ref/codeunit/396-noseriesmanagement/source/24/ https://jonas-paprotka.de/ref/codeunit/396-noseriesmanagement/source/25/ https://jonas-paprotka.de/ref/codeunit/396-noseriesmanagement/source/26/"
checked: 2026-09-20
subject: "Microsoft Dynamics 365 Business Central"
license: "Content © 2026 Jonas Paprotka. Quote freely with attribution and a link."
---

# Codeunit 396 NoSeriesManagement

Jonas Paprotka, https://jonas-paprotka.de/ref/codeunit/396-noseriesmanagement/

| | |
| --- | --- |
| App | Business Foundation |
| Namespace | Microsoft.Foundation.NoSeries |
| Versions | 17-26 |
| Obsolete | Pending 24.0, seen from 24. Please use the "No. Series" and "No. Series - Batch" codeunits instead |
| App by version | Base Application from 17, Business Foundation from 24 |
| Source file | NoSeries/src/Legacy/NoSeriesManagement.Codeunit.al |

## Procedures

| Name | Parameters | Returns | Access | Versions | Obsolete | Reason |
| --- | --- | --- | --- | --- | --- | --- |
| TestManual | (Code[20]) | - | public | 17-26 | Pending 24.0 | Please use method TestManual(NoSeriesCode: Code[20]) in codeunit "No. Series" instead. |
| ManualNoAllowed | (Code[20]) | Boolean | public | 17-26 | Pending 24.0 | Please use method IsManual(NoSeriesCode: Code[20]) in codeunit "No. Series" instead. |
| TestManualWithDocumentNo | (Code[20], Code[20]) | - | public | 17-26 | Pending 24.0 | Please use method TestManual(NoSeriesCode: Code[20]; DocumentNo: Code[20]) in codeunit "No. Series" instead. |
| RaiseObsoleteOnBeforeInitSeries | (var Code[20], Code[20], Date, var Code[20], var Code[20], var Boolean) | - | public | 24-26 | Pending 24.0 | This method is used for compatibility with extension usages of the old OnBeforeInitSeries event. Now the new No. Series is used. InitSeries no longer exist, instead a No. Series is selected and the next number is retrieved. |
| RaiseObsoleteOnAfterInitSeries | (Code[20], Code[20], Date, var Code[20]) | - | public | 24-26 | Pending 24.0 | This method is used for compatibility with extension usages of the old OnAfterInitSeries event. Now the new No. Series is used. InitSeries no longer exist, instead a No. Series is selected and the next number is retrieved. |
| InitSeries | (Code[20], Code[20], Date, var Code[20], var Code[20]) | - | public | 17-26 | Pending 24.0 | Please use AreRelated in the "No. Series" codeunit instead |
| SetDefaultSeries | (var Code[20], Code[20]) | - | public | 17-26 | Pending 24.0 | Please use the "No. Series" codeunit instead |
| SelectSeries | (Code[20], Code[20], var Code[20]) | Boolean | public | 17-26 | Pending 24.0 | Use method LookupRelatedNoSeries in codeunit "No. Series instead. |
| RaiseObsoleteOnBeforeSelectSeries | (var Code[20], Code[20], var Code[20], var Boolean, var Boolean) | - | internal | 24-26 | Pending 24.0 | This is a temporary method for compatibility only. |
| RaiseObsoleteOnSelectSeriesOnBeforePageRunModal | (var Code[20], var Record No. Series) | - | internal | 24-26 | Pending 24.0 | This is a temporary method for compatibility only. |
| LookupSeries | (Code[20], var Code[20]) | Boolean | public | 17-26 | Pending 24.0 | Use method LookupRelatedNoSeries in codeunit "No. Series" instead. |
| TestSeries | (Code[20], Code[20]) | - | public | 17-26 | Pending 24.0 | Use method TestAreRelated in codeunit "No. Series" instead. |
| SetSeries | (var Code[20]) | - | public | 17-26 | Pending 24.0 | Use method GetNextNo in codeunit "No. Series" instead. |
| FilterSeries | () | - | public | 21-26 | Pending 24.0 | This method will be removed. There is no replacement. |
| RaiseObsoleteOnBeforeFilterSeries | (var Record No. Series, Code[20], Boolean) | - | internal | 24-26 | Pending 24.0 | This is a temporary method for compatibility only. |
| GetNextNo | (Code[20], Date, Boolean) | Code[20] | public | 17-26 | Pending 24.0 | Please use method GetNextNo(Code[20]; Date) or PeekNextNo(Code[20]; UsageDate) in the codeunit "No. Series" or "No. Series - Batch" instead. GetNextNo(Code[20]; Date; Boolean) does not have the same behavior. Make sure to use the correct parameters. |
| RaiseObsoleteOnBeforeGetNextNo | (var Record No. Series Line, Date, Boolean, var Code[20], var Boolean) | - | internal | 24-26 | Pending 24.0 | This is a temporary method for compatibility only. Please use the "No. Series" codeunit instead |
| GetNextNo3 | (Code[20], Date, Boolean, Boolean) | Code[20] | public | 17-26 | Pending 21.0 | Use DoGetNextNo() instead |
| DoGetNextNo | (Code[20], Date, Boolean, Boolean) | Code[20] | public | 17-26 | - | - |
| FindNoSeriesLine | (var Record No. Series Line, Code[20], Date) | Boolean | public | 19-26 | - | - |
| IsCurrentNoSeriesLine | (Record No. Series Line) | Boolean | public | 19-26 | - | - |
| ModifyNoSeriesLine | (var Record No. Series Line) | - | internal | 24-26 | - | - |
| TryGetNextNo | (Code[20], Date) | Code[20] | public | 17-26 | Pending 24.0 | Use PeekNextNo from codeunit "No. Series" instead. |
| GetNextNo1 | (Code[20], Date) | - | public | 17-26 | Pending 21.0 | Use SetParametersBeforeRun() instead |
| SetParametersBeforeRun | (Code[20], Date) | - | public | 17-26 | - | - |
| GetNextNo2 | () | Code[20] | public | 17-26 | Pending 21.0 | Use GetNextNoAfterRun() instead |
| GetNextNoAfterRun | () | Code[20] | public | 17-26 | - | - |
| SaveNoSeries | () | - | public | 17-26 | Pending 24.0 | Use the SaveState method in the No. Series - Batch codeunit instead. |
| RestartSequence | (var Record No. Series Line, BigInteger) | - | internal | 24-26 | - | - |
| ClearNoSeriesLine | () | - | public | 17-26 | - | - |
| SetAllowGaps | (var Record No. Series, Boolean) | - | internal | 24-26 | - | - |
| FindNoSeriesLineToShow | (var Record No. Series, var Record No. Series Line) | - | internal | 24-26 | - | - |
| SetNoSeriesLineFilter | (var Record No. Series Line, Code[20], Date) | - | public | 17-26 | Pending 24.0 | Please use the method GetNoSeriesLine on the "No. Series" and "No. Series - Batch" codeunits instead |
| RaiseObsoleteOnNoSeriesLineFilterOnBeforeFindLast | (var Record No. Series Line) | - | internal | 24-26 | - | - |
| IncrementNoText | (var Code[20], Decimal) | - | public | 17-26 | - | - |
| UpdateNoSeriesLine | (var Record No. Series Line, Code[20], Text[100]) | - | public | 17-26 | Pending 24.0 | Please use the method from "No. Series - Setup" instead. |
| SetNoSeriesLineSalesFilter | (var Record No. Series Line Sales, Code[20], Date) | - | public | 24-26 | Pending 24.0 | The No. Series Line Sales table is obsolete. Please use the No. Series Line table instead. |
| SetNoSeriesLinePurchaseFilter | (var Record No. Series Line Purchase, Code[20], Date) | - | public | 24-26 | Pending 24.0 | The No. Series Line Purchase table is obsolete. Please use the No. Series Line table instead. |
| UpdateNoSeriesLineSales | (var Record No. Series Line Sales, Code[20], Text[30]) | - | public | 24-26 | Pending 24.0 | The No. Series Line Sales table is obsolete. Please use the No. Series Line table instead. |
| UpdateNoSeriesLinePurchase | (var Record No. Series Line Purchase, Code[20], Text[30]) | - | public | 24-26 | Pending 24.0 | The No. Series Line Purchase table is obsolete. Please use the No. Series Line table instead. |
| TestDateOrder | (Code[20]) | - | public | 24-26 | Pending 24.0 | Call TestField on the "No. Series" record, "Date Order" field directly. |
| CheckSalesDocNoGaps | (Date) | - | public | 24-26 | Pending 24.0 | The No. Series module cannot have dependencies to Sales. Please use the method in codeunit "IT - Report Management" instead |
| CheckPurchDocNoGaps | (Date) | - | public | 24-26 | Pending 24.0 | The No. Series module cannot have dependencies to Purchases. Please use the method in codeunit "IT - Report Management" instead |
| GetNoSeriesWithCheck | (Code[20], Boolean, Code[20]) | Code[20] | public | 17-26 | Pending 24.0 | Use method LookupRelatedNoSeries in codeunit "No. Series" instead. |
| SeriesHasRelations | (Code[20]) | Boolean | public | 17-26 | Pending 24.0 | Use method HasRelatedSeries in codeunit "No. Series" instead. |
| ReverseGetNextNo | (Code[20], Date, Boolean) | Code[20] | public | 24-26 | - | - |
| RaiseObsoleteOnAfterGetNextNo3 | (var Record No. Series Line, Boolean) | - | internal | 24-26 | Pending 24.0 | This is a temporary method for compatibility only. Please use the "No. Series" codeunit instead |
| RaiseObsoleteOnBeforeDoGetNextNo | (var Code[20], var Date, Boolean, var Boolean) | - | internal | 24-26 | Pending 24.0 | This is a temporary method for compatibility only. Please use the "No. Series" codeunit instead |
| RaiseObsoleteOnBeforeModifyNoSeriesLine | (var Record No. Series Line, var Boolean) | - | internal | 24-26 | Pending 24.0 | This is a temporary method for compatibility only. Please use the "No. Series" codeunit instead |
| RaiseObsoleteOnBeforeUpdateNoSeriesLine | (var Record No. Series Line, Code[20], Text[100], var Boolean) | - | internal | 24-26 | Pending 24.0 | This is a temporary method for compatibility only. Please use the "No. Series" codeunit instead |
| ClearStateAndGetNextNo | (Code[20]) | Code[20] | public | 17-26 | - | - |

## Events

| Kind | Name | Parameters | Versions | Obsolete | Reason |
| --- | --- | --- | --- | --- | --- |
| Integration event | OnObsoleteCheckSalesDocNoGaps | (Date) | 24-26 | Pending 24.0 | The No. Series module cannot have dependencies to Sales. Please use the method in codeunit "IT - Report Management" instead |
| Integration event | OnObsoleteCheckPurchDocNoGaps | (Date) | 24-26 | Pending 24.0 | The No. Series module cannot have dependencies to Purchases. Please use the method in codeunit "IT - Report Management" instead |
| Integration event | OnBeforeCheckPurchDocNoGaps | (Date, var Boolean) | 24-26 | Pending 24.0 | The No. Series module cannot have dependencies to Sales. Please use the event in codeunit "IT - Report Management" instead |
| Integration event | OnBeforeCheckSalesDocNoGaps | (Date, var Boolean) | 24-26 | Pending 24.0 | The No. Series module cannot have dependencies to Purchases. Please use the event in codeunit "IT - Report Management" instead |
| Integration event | OnAfterGetNextNo3 | (var Record No. Series Line, Boolean) | 17-26 | Pending 24.0 | This event is obsolete. Please use the extensibility options provided by the No. Series module. |
| Integration event | OnAfterSaveNoSeries | (var Record No. Series Line) | 17-26 | Pending 24.0 | This event is no longer used. Please use the No. Series Batch codeunit instead. |
| Integration event | OnAfterSaveNoSeriesSales | (var Record No. Series Line Sales) | 24-26 | Pending 24.0 | The No. Series Line Sales table is obsolete. Please use the No. Series Line table instead. |
| Integration event | OnAfterSetParametersBeforeRun | (var Code[20], var Date, var Code[20]) | 20-26 | - | - |
| Integration event | OnAfterSaveNoSeriesPurchase | (var Record No. Series Line Purchase) | 24-26 | Pending 24.0 | The No. Series Line Purchase table is obsolete. Please use the No. Series Line table instead. |
| Integration event | OnAfterTestManual | (Code[20]) | 19-26 | Pending 24.0 | This event will be removed. There is no replacement. Please use the extensibility options provided by the No. Series module. |
| Integration event | OnBeforeGetNextNo | (var Code[20], var Date, var Boolean, var Code[20], var Boolean, var Record No. Series Line) | 21-26 | Pending 24.0 | This event is obsolete. Please use the extensibility options provided by the No. Series module. |
| Integration event | OnBeforeDoGetNextNo | (var Code[20], var Date, var Boolean, var Boolean) | 17-26 | Pending 24.0 | This event is obsolete. Please use the extensibility options provided by the No. Series module. |
| Integration event | OnBeforeModifyNoSeriesLine | (var Record No. Series Line, var Boolean) | 17-26 | - | - |
| Integration event | OnBeforeUpdateNoSeriesLine | (var Record No. Series Line, Code[20], Text[100], var Boolean) | 22-26 | Pending 24.0 | This event is obsolete. Please use the extensibility options provided by the No. Series module. |
| Integration event | OnNoSeriesLineFilterOnBeforeFindLast | (var Record No. Series Line) | 17-26 | Pending 24.0 | Please use OnAfterSetNoSeriesCurrentLineFilters in the No. Series module instead. |
| Integration event | OnAfterInitSeries | (var Record No. Series, Code[20], Date, var Code[20]) | 17-26 | Pending 24.0 | This event will be removed. There is no replacement. Please use the No. Series module instead. |
| Integration event | OnBeforeFilterSeries | (var Record No. Series, Code[20], var Boolean) | 20-26 | Pending 24.0 | This event will be removed. There is no replacement. Please use the No. Series module instead. |
| Integration event | OnBeforeInitSeries | (var Code[20], Code[20], Date, var Code[20], var Code[20], var Record No. Series, var Boolean, var Code[20]) | 23-26 | Pending 24.0 | This event will be removed. There is no replacement. Please use the No. Series module instead. |
| Integration event | OnBeforeSelectSeries | (var Code[20], Code[20], var Code[20], var Boolean, var Boolean) | 23-26 | Pending 24.0 | This event will be removed. Please use the Page trigger events instead. |
| Integration event | OnSelectSeriesOnBeforePageRunModal | (Code[20], var Record No. Series) | 21-26 | Pending 24.0 | This event will be removed. Please use the Page trigger events instead. |
| Integration event | OnBeforeSaveNoSeries | (var Record No. Series Line, var Boolean) | 22-26 | Pending 24.0 | This event is no longer used. Please use the No. Series Batch codeunit instead. |
| Integration event | OnBeforeTestManual | (var Code[20], var Boolean) | 23-26 | Pending 24.0 | This event will be removed. There is no replacement. Please use the No. Series module instead. |
| Integration event | OnBeforeSetDefaultSeries | (var Code[20], var Code[20], var Boolean) | 23-26 | Pending 24.0 | This event will be removed. There is no replacement. Please use the No. Series module instead. |
| Integration event | OnObsoleteSetNoSeriesLineSalesFilter | (var Record No. Series Line Sales, Code[20], Date) | 24-26 | Pending 24.0 | The No. Series module cannot have a dependency on Sales. Do not use this event. |
| Integration event | OnObsoleteSetNoSeriesLinePurchaseFilter | (var Record No. Series Line Purchase, Code[20], Date) | 24-26 | Pending 24.0 | The No. Series module cannot have a dependency on Purchase. Do not use this event. |
| Integration event | OnBeforeUpdateLine | (var Record No. Series, var Date, var Code[20], var Code[20], var Code[20], var Code[20], var Integer, var Date, var Enum No. Series Implementation, var Boolean) | 24-26 | Pending 24.0 | Temporary event for backwards compatibility. Do not use this event. |
| Integration event | OnBeforeGetNextNo | (var Code[20], var Date, var Boolean, Code[20], var Boolean) | 17 | - | - |
| Integration event | OnBeforeGetNextNo | (var Code[20], var Date, var Boolean, var Code[20], var Boolean) | 18-20 | - | - |
| Integration event | OnBeforeInitSeries | (Code[20], Code[20], Date, var Code[20], var Code[20], var Record No. Series, var Boolean) | 18-20 | - | - |
| Integration event | OnBeforeSelectSeries | (Code[20], Code[20], var Code[20], var Boolean, var Boolean) | 20-22 | - | - |
| Integration event | OnBeforeInitSeries | (Code[20], Code[20], Date, var Code[20], var Code[20], var Record No. Series, var Boolean, var Code[20]) | 21-22 | - | - |

## Source

Symbols: Microsoft.BusinessFoundation.symbols.f3552374-a1f2-4356-848e-196002525837, https://dynamicssmb2.pkgs.visualstudio.com/DynamicsBCPublicFeeds/_packaging/MSSymbols/nuget/v3/index.json, highest build per major on 2026-09-20.
AL source 24: https://github.com/microsoft/BCApps, MIT, releases/24.x at fe14d3e6db00d28df3a69c7bba830813d70794e2.
AL source 25: https://github.com/microsoft/BCApps, MIT, releases/25.x at 68d52c129129c83b2e396a473aaa5b2ce61d2eed.
AL source 26: https://github.com/microsoft/BCApps, MIT, releases/26.x at 78c4acf0d64a8eee157ea80164fa8fc2acffc9eb.

Jonas Paprotka, 2026-09-20.
