---
title: "Codeunit 8611 Config. Package Management"
author: "Jonas Paprotka"
url: https://jonas-paprotka.de/ref/codeunit/8611-config-package-management/
type: codeunit
id: 8611
name: "Config. Package Management"
app: "Base Application"
namespace: System.IO
versions: "17-28"
build: 28.5.54151.54365
source: "https://jonas-paprotka.de/ref/codeunit/8611-config-package-management/source/29/"
checked: 2026-09-20
subject: "Microsoft Dynamics 365 Business Central"
license: "Content © 2026 Jonas Paprotka. Quote freely with attribution and a link."
---

# Codeunit 8611 Config. Package Management

Jonas Paprotka, https://jonas-paprotka.de/ref/codeunit/8611-config-package-management/

| | |
| --- | --- |
| App | Base Application |
| Namespace | System.IO |
| Versions | 17-28 |
| Source file | System/RapidStart/ConfigPackageManagement.Codeunit.al |

## Procedures

| Name | Parameters | Returns | Access | Versions | Obsolete | Reason |
| --- | --- | --- | --- | --- | --- | --- |
| InsertPackage | (var Record Config. Package, Code[20], Text[50], Boolean) | - | public | 17-28 | - | - |
| InsertPackageTable | (var Record Config. Package Table, Code[20], Integer) | - | public | 17-28 | - | - |
| InsertPackageTableWithoutValidation | (var Record Config. Package Table, Code[20], Integer) | - | public | 17-28 | - | - |
| InsertPackageField | (var Record Config. Package Field, Code[20], Integer, Integer, Text[30], Text[250], Boolean, Boolean, Boolean, Boolean) | - | public | 17-28 | - | - |
| InsertPackageFilter | (var Record Config. Package Filter, Code[20], Integer, Integer, Integer, Text[250]) | - | public | 17-28 | - | - |
| InsertPackageRecord | (Record Config. Package Record) | - | public | 17-28 | - | - |
| InsertPackageData | (var Record Config. Package Data, Code[20], Integer, Integer, Integer, Text[250], Boolean) | - | public | 17-18 | - | - |
| InsertProcessingRule | (var Record Config. Table Processing Rule, Record Config. Package Table, Integer, Option) | - | public | 17-28 | - | - |
| InsertProcessingRuleCustom | (var Record Config. Table Processing Rule, Record Config. Package Table, Integer, Integer) | - | public | 17-28 | - | - |
| SetSkipTableTriggers | (var Record Config. Package Table, Code[20], Integer, Boolean) | - | public | 17-28 | - | - |
| GetNumberOfRecordsInserted | () | Integer | public | 17-28 | - | - |
| GetNumberOfRecordsModified | () | Integer | public | 17-28 | - | - |
| InitPackageRecord | (var Record Config. Package Record, Code[20], Integer) | - | public | 17-28 | - | - |
| RemoveRecordsWithObsoleteTableID | (Integer, Integer) | - | public | 17-28 | - | - |
| ValidatePackageRelations | (var Record Config. Package Table, var Record Config. Package Table, Boolean) | - | public | 17-28 | - | - |
| ValidateFieldRelationInRecord | (Record Config. Package Field, var Record Config. Package Table, Record Config. Package Record, RecordRef) | Boolean | public | 17-28 | - | - |
| ValidateFieldRelation | (Record Config. Package Field, var Record Config. Package Table) | Boolean | public | 17-19 | Pending 17.0 | Replaced by ValidateFieldRelationInRecord(). This function is correct for the validation of a single field without record context. Please use ValidateFieldRelationInRecord function in case of record or table wide validation. |
| ValidateSinglePackageDataRelation | (var Record Config. Package Data) | Boolean | public | 17-28 | - | - |
| ValidateException | (Integer, Integer) | Boolean | public | 17-28 | - | - |
| ShowWarningOnImportingBigConfPackageFromExcel | (Integer) | Action | internal | 17-28 | - | - |
| ShowWarningOnImportingBigConfPackageFromRapidStart | (Integer) | Action | internal | 17-28 | - | - |
| ShowWarningOnApplyingBigConfPackage | (Integer) | Action | internal | 17-28 | - | - |
| ShowRapidStartNotification | () | - | internal | 17-28 | - | - |
| LearnMoreNotificationAction | (var Notification) | - | internal | 17-28 | - | - |
| IsDimSetIDField | (Integer, Integer) | Boolean | public | 17-28 | - | - |
| RecordError | (var Record Config. Package Record, Integer, Text[250]) | - | public | 17-28 | - | - |
| FieldError | (var Record Config. Package Data, Text[250], Option) | - | public | 17-28 | - | - |
| CleanRecordError | (var Record Config. Package Record) | - | public | 17-28 | - | - |
| CleanFieldError | (var Record Config. Package Data) | - | public | 17-28 | - | - |
| CleanPackageErrors | (Code[20], Text) | - | public | 17-28 | - | - |
| GetValidationFieldID | () | Integer | public | 17-28 | - | - |
| ApplyConfigLines | (var Record Config. Line) | - | public | 17-28 | - | - |
| ApplyPackage | (Record Config. Package, var Record Config. Package Table, Boolean) | Integer | public | 17-28 | - | - |
| ApplySelectedPackageRecords | (var Record Config. Package Record, Code[20], Integer) | - | public | 17-28 | - | - |
| ApplyConfigTables | (Record Config. Package) | - | public | 17-28 | - | - |
| SetApplyMode | (Option) | - | public | 17-28 | - | - |
| SetFieldFilter | (var Record Field, Integer, Integer) | - | public | 17-28 | - | - |
| SelectAllPackageFields | (var Record Config. Package Field, Boolean) | - | public | 17-28 | - | - |
| SetupProcessingOrder | (var Record Config. Package Table) | - | public | 17-28 | - | - |
| GetDimSetIDForRecord | (Record Config. Package Record) | Integer | public | 17-28 | - | - |
| UpdateDefaultDimValues | (Record Config. Package Record, Code[20]) | - | public | 17-28 | - | - |
| SetHideDialog | (Boolean) | - | public | 17-28 | - | - |
| AddConfigTables | (Code[20]) | - | public | 17-28 | - | - |
| AssignPackage | (var Record Config. Line, Code[20]) | - | public | 17-28 | - | - |
| CheckConfigLinesToAssign | (var Record Config. Line) | - | public | 17-28 | - | - |
| GetRelatedTables | (var Record Config. Package Table) | - | public | 17-28 | - | - |
| GetFieldsOrder | (RecordRef, Code[20], var Record Config. Package Field) | - | public | 17-28 | - | - |
| UpdateConfigLinePackageData | (Code[20]) | - | public | 17-28 | - | - |
| HandlePackageDataDimSetIDForRecord | (Record Config. Package Record) | - | public | 17-28 | - | - |
| ShowFieldMapping | (Record Config. Package Field) | - | public | 17-28 | - | - |
| IsBLOBField | (Integer, Integer) | Boolean | public | 17-28 | - | - |
| IsMediaSetField | (Integer, Integer) | Boolean | public | 17-28 | - | - |
| IsMediaField | (Integer, Integer) | Boolean | public | 17-28 | - | - |
| IsFieldMultiRelation | (Integer, Integer) | Boolean | public | 17-28 | - | - |
| ValidateFieldRefRelationAgainstCompanyData | (FieldRef, var Record Config. Package Field) | Text[250] | public | 17-28 | - | - |
| InsertPackageData | (var Record Config. Package Data, Code[20], Integer, Integer, Integer, Text[2048], Boolean) | - | public | 19-28 | - | - |
| SentPackageImportedNotification | (Code[20]) | - | internal | 19-28 | - | - |
| ApplyPackageFromNotification | (var Notification) | - | internal | 19-28 | - | - |
| DisableNotification | (var Notification) | - | internal | 19-28 | - | - |
| ValidateFieldRelationAgainstPackageData | (Record Config. Package Data, var Record Config. Package Table, Integer, Integer) | Boolean | public | 21-28 | - | - |

## Events

| Kind | Name | Parameters | Versions | Obsolete | Reason |
| --- | --- | --- | --- | --- | --- |
| Integration event | OnAfterValidatePackageDataRelation | (Record Config. Package Data, Record Config. Package Field, var Record Config. Package Table, var Integer, var Integer, var Boolean) | 17-28 | - | - |
| Integration event | OnBeforeGetFieldRelationTableNo | (Record Config. Package Table, var Record Field, var Record Config. Package Table, var Boolean) | 17-28 | - | - |
| Integration event | OnBeforeSetFieldFilter | (var Record Field, Integer, Integer, var Boolean) | 17-28 | - | - |
| Integration event | OnModifyRecordDataFieldsOnBeforeFindConfigPackageField | (var Record Config. Package Field, Record Config. Package Record, RecordRef, Boolean, Boolean) | 17-28 | - | - |
| Integration event | OnPreProcessPackage | (var Record Config. Record For Processing, var Variant) | 17-28 | - | - |
| Integration event | OnPostProcessPackage | () | 17-28 | - | - |
| Integration event | OnModifyRecordDataFieldsOnAfterRecRefModify | (var RecordRef) | 17-28 | - | - |
| Integration event | OnBeforeValidateException | (Integer, Integer, var Boolean, var Boolean) | 18-28 | - | - |
| Integration event | OnInsertPackageFieldOnAfterCalcSkipRelationTableID | (var Record Config. Package Field, var Boolean) | 18-28 | - | - |
| Integration event | OnInsertPackageFieldOnBeforeInsert | (var Record Config. Package Field) | 18-28 | - | - |
| Integration event | OnInsertPackageFieldOnBeforeValidateFieldID | (var Record Config. Package Field) | 18-28 | - | - |
| Integration event | OnBeforeApplyPackageRecords | (var Record Config. Package Record, var Code[20], var Integer, var Option, var Codeunit Config. Package Management, var Record Config. Package Record, var Boolean, var Record Config. Record For Processing, var Record Config. Table Processing Rule, var Integer, var Integer, var Boolean, var Boolean) | 19-28 | - | - |
| Integration event | OnInsertRecordOnBeforeInsertRecRef | (var RecordRef, Record Config. Package Record, var Boolean) | 19-28 | - | - |
| Integration event | OnModifyRecordDataFieldsOnBeforeRecRefInsert | (var RecordRef, Record Config. Package Table, var Boolean) | 19 | - | - |
| Integration event | OnModifyRecordDataFieldsOnBeforeRecRefModify | (var RecordRef, Record Config. Package Table, var Integer, var Boolean) | 19 | - | - |
| Integration event | OnAfterApplyPackageRecords | (var Record Config. Package Record, Code[20], Integer) | 20-28 | - | - |
| Integration event | OnBeforeModifyRecordDataFields | (var RecordRef, Record Config. Package Record, Boolean, Boolean) | 20-28 | - | - |
| Integration event | OnBeforeSetupProcessingOrder | (var Record Config. Package Table, var Boolean) | 20-28 | - | - |
| Integration event | OnModifyRecordDataFieldOnBeforeUpdateValueUsingMapping | (var Record Config. Package Data, var Record Config. Package Field) | 20-22 | - | - |
| Integration event | OnModifyRecordDataFieldsOnAfterRecRefUpdated | (var RecordRef) | 20-28 | - | - |
| Integration event | OnModifyRecordDataFieldsOnBeforeRecRefInsert | (var RecordRef, Record Config. Package Table, var Boolean, Record Config. Package Record) | 20-28 | - | - |
| Integration event | OnModifyRecordDataFieldsOnBeforeRecRefModify | (var RecordRef, Record Config. Package Table, var Integer, var Boolean, Record Config. Package Record) | 20-28 | - | - |
| Integration event | OnAfterGetKeyFieldsOrder | (RecordRef, Code[20], var Record Config. Package Field, var Integer) | 21-28 | - | - |
| Integration event | OnModifyRecordDataFieldOnBeforeEvaluateTextToFieldRef | (var Record Config. Package Field, var Record Config. Package Data, var Record Config. Package Table, Boolean, Option, FieldRef, var Boolean) | 21-28 | - | - |
| Integration event | OnModifyRecordDataFieldOnAfterGetCachedConfigPackageField | (var RecordRef, var FieldRef, var Record Config. Package Field, var Record Config. Package Data, var Boolean) | 22-28 | - | - |
| Integration event | OnApplyPackageOnBeforeCleanPackageErrors | (var Record Config. Package, var Boolean) | 22-28 | - | - |
| Integration event | OnApplyPackageTablesOnFilterConfigPackageRecord | (var Record Config. Package, var Record Config. Package Record) | 22-28 | - | - |
| Integration event | OnModifyRecordDataFieldOnBeforeUpdateValueUsingMapping | (var Record Config. Package Data, var Record Config. Package Field, Record Config. Package Record, var RecordRef, var Boolean) | 23-28 | - | - |
| Integration event | OnInsertPackageRecordOnAfterDelayedInsert | (var RecordRef, Record Config. Package Record, Record Config. Package Table, var Option, Boolean, var Boolean) | 23-28 | - | - |
| Integration event | OnInsertPrimaryKeyFieldsOnBeforeUpdateValueUsingMapping | (var RecordRef, Record Config. Package Data, var Record Config. Package Field, Record Config. Package Record, var Boolean) | 23-28 | - | - |
| Integration event | OnApplyPackageOnAfterCommit | (var Record Config. Package Table) | 23-28 | - | - |
| Integration event | OnAddConfigTablesOnBeforeSetSkipTableTriggers | (var Record Config. Package Table, var Code[20]) | 23-28 | - | - |

## Source

Symbols: Microsoft.BaseApplication.symbols.437dbf0e-84ff-417a-965d-ed2bb9650972, https://dynamicssmb2.pkgs.visualstudio.com/DynamicsBCPublicFeeds/_packaging/MSSymbols/nuget/v3/index.json, highest build per major on 2026-09-20.
AL source 29: https://github.com/microsoft/BCApps, MIT, releases/29.x at a66254c3b8b5bb1cea290dc8f9d097aec4381153.

Jonas Paprotka, 2026-09-20.
