---
id: object/table/8613
type: object
title: Table 8613 "Config. Package Table"
summary: Table 8613 "Config. Package Table" in Base Application (System.IO). 30 fields, 17 public procedures, 7 events. Present since at least BC23, still in BC30, changed in BC24.
tier: official
language: en
tags:
  - table
  - base application
versions:
  introduced: null
  last_changed: "24"
  deprecated: null
review:
  state: derived
  by: null
  at: null
  flags: []
generated:
  at: "2026-10-11T00:31:51.816Z"
  pipeline: 0.2.0
  prompts: {}
  input_hash: c97c062e9b17e0f81ed1d2753f4c78fff15960566f36aad51646a20f22867aba
evidence:
  - kind: code
    url: https://github.com/microsoft/BCApps/blob/ea08af5ef2d6a9b5c5af4a029288abbe2c883220/src/Layers/W1/BaseApp/System/RapidStart/ConfigPackageTable.Table.al
    title: src/Layers/W1/BaseApp/System/RapidStart/ConfigPackageTable.Table.al (releases/29.x)
    date: null
    commit: ea08af5ef2d6a9b5c5af4a029288abbe2c883220
    t: null
    quote: null
links:
  learn: []
  objects: []
  features: []
  topics: []
  localizations: []
  videos: []
  posts: []
  guidelines: []
object_type: table
object_id: 8613
name: Config. Package Table
namespace: System.IO
app: Base Application
extends: null
first_version: "23"
last_version: "30"
present_in:
  - "23"
  - "24"
  - "25"
  - "26"
  - "27"
  - "28"
  - "29"
  - "30"
changed_in:
  - "24"
source_major: "29"
obsolete: null
countries: []
ms_search_form_ids: []
counts:
  fields: 30
  procedures: 34
  events: 7
  subscribers: 0
relations:
  out: 10
  referenced_by: 2
  pages: 3
  extended_by: 0
  event_subscribers: 2
  calls: 3
  called_by: 0
  implements: 0
---

# Table 8613 "Config. Package Table"

> Table 8613 "Config. Package Table" in Base Application (System.IO). 30 fields, 17 public procedures, 7 events. Present since at least BC23, still in BC30, changed in BC24.

Base Application · System.IO · BC23-30 · [source at ea08af5e](https://github.com/microsoft/BCApps/blob/ea08af5ef2d6a9b5c5af4a029288abbe2c883220/src/Layers/W1/BaseApp/System/RapidStart/ConfigPackageTable.Table.al) · facts from BC29

## Properties

| Property | Value |
|---|---|
| Caption | Config. Package Table |
| DataClassification | CustomerContent |

## Fields

Explanation: the field's ToolTip in the code; without one, the ToolTip of a page control bound to the field (marked via the page); without that, its Caption (marked caption) when that differs from the name.

| No. | Name | Type | Explanation | Notes |
|---|---|---|---|---|
| 1 | Package Code | Code[20] | Specifies the code for the package that data will be imported to. <small>via [Page 8617 "Config. Package Import Preview"](../page/8617.md)</small> | TableRelation [Table 8623 "Config. Package"](../table/8623.md) (Config. Package) |
| 2 | Table ID | Integer | Specifies the table ID. <small>via [Page 8617 "Config. Package Import Preview"](../page/8617.md)</small> | TableRelation AllObj."Object ID" where("Object Type" = const(Table)); NotBlank |
| 3 | Table Name | Text[250] | Specifies the table name. <small>via [Page 8617 "Config. Package Import Preview"](../page/8617.md)</small> | FlowField: lookup(AllObjWithCaption."Object Name" where("Object Type" = const(Table), "Object ID" = field("Table ID"))); not editable |
| 4 | No. of Package Records | Integer | Specifies the count of the number of configuration package records. <small>via [Page 8625 "Config. Package Subform"](../page/8625.md)</small> | FlowField: count("Config. Package Record" where("Package Code" = field("Package Code"), "Table ID" = field("Table ID"))); not editable |
| 5 | No. of Package Errors | Integer | Specifies the count of the number of package errors. <small>via [Page 8625 "Config. Package Subform"](../page/8625.md)</small> | FlowField: count("Config. Package Error" where("Package Code" = field("Package Code"), "Table ID" = field("Table ID"))); not editable |
| 7 | Imported Date and Time | DateTime | Specifies the date and time that migration records were imported from Excel or from an .xml file. <small>via [Page 8625 "Config. Package Subform"](../page/8625.md)</small> | not editable |
| 8 | Exported Date and Time | DateTime | — | not editable |
| 9 | Comments | Text[250] | Specifies a comment in which you can provide a description <small>via [Page 8625 "Config. Package Subform"](../page/8625.md)</small> |  |
| 10 | Created Date and Time | DateTime | Specifies the date and time that the configuration package was created. The field is updated each time you save the package. <small>via [Page 8625 "Config. Package Subform"](../page/8625.md)</small> |  |
| 11 | Company Filter (Source Table) | Text[30] | — | TableRelation Company; FlowFilter |
| 12 | Table Caption | Text[250] | Specifies the caption of the table that is part of the migration process. The name comes from the Caption property of the table. <small>via [Page 8625 "Config. Package Subform"](../page/8625.md)</small> | FlowField: lookup(AllObjWithCaption."Object Caption" where("Object Type" = const(Table), "Object ID" = field("Table ID"))); not editable |
| 13 | Data Template | Code[10] | Specifies the name of the data template that is being used as part of the migration process. <small>via [Page 8625 "Config. Package Subform"](../page/8625.md)</small> | TableRelation [Table 8618 "Config. Template Header"](../table/8618.md) (Config. Template Header) |
| 14 | Package Processing Order | Integer | — | not editable |
| 15 | Page ID | Integer | Specifies the number of the page that is used to show the journal or worksheet that uses the template. <small>via [Page 8625 "Config. Package Subform"](../page/8625.md)</small> | TableRelation AllObjWithCaption."Object ID" where("Object Type" = const(Page)) |
| 16 | Processing Order | Integer | Specifies the number of the processing order. This is used to track the migration process. <small>via [Page 8625 "Config. Package Subform"](../page/8625.md)</small> |  |
| 17 | No. of Fields Included | Integer | Specifies the count of the number of fields that are included in the migration table. <small>via [Page 8625 "Config. Package Subform"](../page/8625.md)</small> | FlowField: count("Config. Package Field" where("Package Code" = field("Package Code"), "Table ID" = field("Table ID"), "Include Field" = const(true))); not editable |
| 18 | No. of Fields Available | Integer | Specifies the count of the number of fields that are available in the migration table. <small>via [Page 8625 "Config. Package Subform"](../page/8625.md)</small> | FlowField: count("Config. Package Field" where("Package Code" = field("Package Code"), "Table ID" = field("Table ID"))); not editable |
| 19 | No. of Fields to Validate | Integer | Specifies the number of fields to validate. The count of the number of fields to validate is based on how many fields in the table have the Validate Field check box selected. <small>via [Page 8625 "Config. Package Subform"](../page/8625.md)</small> | FlowField: count("Config. Package Field" where("Package Code" = field("Package Code"), "Table ID" = field("Table ID"), "Validate Field" = const(true))); not editable |
| 20 | Package Caption | Text[50] | Specifies a name for the configuration package. <small>via [Page 8634 "Config. Package Table FactBox"](../page/8634.md)</small> | FlowField: lookup("Config. Package"."Package Name" where(Code = field("Package Code"))); not editable |
| 21 | Imported by User ID | Code[50] | Specifies the ID of the user who has imported the package. <small>via [Page 8625 "Config. Package Subform"](../page/8625.md)</small> | TableRelation User."User Name"; not editable; DataClassification EndUserIdentifiableInformation |
| 22 | Created by User ID | Code[50] | Specifies the ID of the user who created the configuration package. <small>via [Page 8625 "Config. Package Subform"](../page/8625.md)</small> | TableRelation User."User Name"; not editable; DataClassification EndUserIdentifiableInformation |
| 24 | Dimensions as Columns | Boolean | Specifies whether dimensions should be displayed in columns. If you select No, then the dimensions are not displayed in any format. <small>via [Page 8625 "Config. Package Subform"](../page/8625.md)</small> |  |
| 25 | Filtered | Boolean | Specifies whether the package is filtered. This field is set depending on filter settings you have specified. <small>via [Page 8625 "Config. Package Subform"](../page/8625.md)</small> | FlowField: exist("Config. Package Filter" where("Package Code" = field("Package Code"), "Table ID" = field("Table ID"))); not editable |
| 26 | Skip Table Triggers | Boolean | Specifies whether codeunit triggers related to tables should be skipped during the configuration process. <small>via [Page 8625 "Config. Package Subform"](../page/8625.md)</small> |  |
| 27 | Delete Recs Before Processing | Boolean | Specifies whether table records should be deleted before the migration process is begun. <small>via [Page 8625 "Config. Package Subform"](../page/8625.md)</small> |  |
| 28 | Processing Report ID | Integer | Specifies the codeunit that has been set up to process data before you apply it to a Business Central database. By default, Business Central uses codeunit 8621. <small>via [Page 8625 "Config. Package Subform"](../page/8625.md)</small> | TableRelation AllObjWithCaption."Object ID" where("Object Type" = const(Report)) |
| 29 | Parent Table ID | Integer | Specifies the table that holds the configuration data. <small>via [Page 8625 "Config. Package Subform"](../page/8625.md)</small> | TableRelation [Table 8613 "Config. Package Table"](../table/8613.md) ("Config. Package Table"."Table ID" where("Package Code" = field("Package Code"))) |
| 30 | Validated | Boolean | Specifies if the package does not include data for this table. <small>via [Page 8617 "Config. Package Import Preview"](../page/8617.md)</small> |  |
| 31 | Delayed Insert | Boolean | Specifies if a package with this code does not exist already. <small>via [Page 8617 "Config. Package Import Preview"](../page/8617.md)</small> |  |
| 32 | Cross-Column Filter | Boolean | — |  |

## Keys

- Key1: Package Code, Table ID (clustered)
- Key2: Package Processing Order, Processing Order

## Events published

- `OnBeforeFillMatrixColumnCaptions(var MatrixColumnCaptions: array[1000] of Text[100]; var ConfigPackageField: Record "Config. Package Field"; var IsHandled: Boolean)` (integration)
- `OnBeforeSetFiltersAndRunConfigPackageFields(var ConfigPackageTable: Record "Config. Package Table")` (integration)
- `OnBeforeShowDatabaseRecords(var ConfigPackageTable: Record "Config. Package Table"; var IsHandled: Boolean)` (integration)
- `OnDeleteRelatedTablesOnBeforeModifyAllConfigLineWithEmptyPackageCode(var ConfigLine: Record "Config. Line"; PackageCode: Code[20]; TableID: Integer)` (integration)
- `OnInitPackageFieldsOnAfterCalcShouldAddField(var ConfigPackageTable: Record "Config. Package Table"; Field: Record "Field"; var ShouldAddField: Boolean)` (integration)
- `OnShowPackageRecordsOnBeforeShowRecords(var ConfigPackageRecords: Page "Config. Package Records"; var IsHandled: Boolean)` (integration)
- `OnInitPackageFieldsOnAfterSelectAllPackageFields(var ConfigPackageField: Record "Config. Package Field")` (integration)

## Trigger event subscribers

- OnBeforeInsertEvent: [Codeunit 8617 "Config. Validate Management"](../codeunit/8617.md) ThrowErrorForTablesAddedThatAreNotNormalBeforeInsert
- OnBeforeRenameEvent: [Codeunit 8617 "Config. Validate Management"](../codeunit/8617.md) ThrowErrorForTablesAddedThatAreNotNormalBeforeRename

## Procedures

- `DeleteRelatedTables(PackageCode: Code[20]; TableID: Integer)`
- `InitDimensionFields()`
- `DeletePackageData()`
- `DeletePackageDataForPackage(PackageCode: Code[20]; TableId: Integer)`
- `DimensionFieldsCount(): Integer`
- `DimensionPackageDataExist(): Boolean`
- `ShowPackageRecords(Show: Option Records,Errors,All; ShowDim: Boolean)`
- `ShowDatabaseRecords()`
- `ShowPackageFields()`
- `ShowFilteredPackageFields(FilterValue: Text)`
- `ShowPackageCard(PackageCode: Code[20])`
- `SetFieldStyle(FieldNumber: Integer): Text`
- `ShowFilters()`
- `ShowProcessingRules()`
- `SetHideValidationDialog(NewHideValidationDialog: Boolean)`
- `GetNoOfDatabaseRecords(): Integer`
- `GetNoOfDatabaseRecordsText(): Text`

Plus 10 local procedures.

## Triggers

OnDelete, OnInsert, OnRename

## Relations

- Parent Table ID: TableRelation [Table 8613 "Config. Package Table"](../table/8613.md)
- No. of Package Records: CalcFormula [Table 8614 "Config. Package Record"](../table/8614.md)
- No. of Fields Available: CalcFormula [Table 8616 "Config. Package Field"](../table/8616.md)
- No. of Fields Included: CalcFormula [Table 8616 "Config. Package Field"](../table/8616.md)
- No. of Fields to Validate: CalcFormula [Table 8616 "Config. Package Field"](../table/8616.md)
- No. of Package Errors: CalcFormula [Table 8617 "Config. Package Error"](../table/8617.md)
- Data Template: TableRelation [Table 8618 "Config. Template Header"](../table/8618.md)
- Package Caption: CalcFormula [Table 8623 "Config. Package"](../table/8623.md)
- Package Code: TableRelation [Table 8623 "Config. Package"](../table/8623.md)
- Filtered: CalcFormula [Table 8626 "Config. Package Filter"](../table/8626.md)

## Referenced by

2 fields in 2 objects relate to this table (TableRelation or CalcFormula).

- [Table 8613 "Config. Package Table"](../table/8613.md): Parent Table ID
- [Table 8623 "Config. Package"](../table/8623.md): No. of Tables

## Pages and codeunits on this table

- [Page 8617 "Config. Package Import Preview"](../page/8617.md) (source table)
- [Page 8625 "Config. Package Subform"](../page/8625.md) (source table)
- [Page 8634 "Config. Package Table FactBox"](../page/8634.md) (source table)
- [Codeunit 1181 "Prvacy Data Mgmt Excel"](../codeunit/1181.md) (codeunit runs on it)
- [Codeunit 8621 "Config. Validate Package"](../codeunit/8621.md) (codeunit runs on it)

## Calls

From the extracted call graph of BC29 (graphify-al on the snapshot checkout): calls whose target is known from a declared type or an `Object::"Name"` argument. Interface dispatch and calls through events are not counted, so the list is not complete.

- [Codeunit 8611 "Config. Package Management"](../codeunit/8611.md) (7 calls: `InitDimensionFields → InsertPackageField`, `InitDimensionFields → InsertPackageTable`, `InitPackageFields → InsertPackageField`, …)
- [Codeunit 8616 "Config. Management"](../codeunit/8616.md) (6 calls: `DeleteDimensionFields → DimensionFieldID`, `DimensionFieldsNotExist → DimensionFieldID`, `DimensionPackageDataExist → DimensionFieldID`, …)
- [Codeunit 8614 "Config. XML Exchange"](../codeunit/8614.md) (2 calls: `GetNoOfDatabaseRecords → TableObjectExists`, `GetNoOfDatabaseRecordsText → TableObjectExists`)

## Across versions

- Present in: BC23-30
- Changed (declaration) in: BC24

Source: AL metadata extracted from the code (names, ids, signatures, properties); no code bodies (D10).

## Ask your agent

Procedure bodies are not stored here (D10). The call sections above are our own, per object, from the BC29 call graph. For a procedure body or the calls of one procedure, ask bc-code-atlas (external, by Stefan Maron, MIT; default corpus w1-28), which the bc-observatory plugin connects: `bcatlas_resolve_node(object_type: "table", object_name: "Config. Package Table")`, then `bcatlas_get_procedure_body` or `bcatlas_get_neighbors` on the returned id.
