---
id: object/codeunit/1750
type: object
title: Codeunit 1750 "Data Classification Mgt."
summary: Codeunit 1750 "Data Classification Mgt." in System Application (System.Privacy). 18 public procedures, 3 events. Present since at least BC23, still in BC30, changed in BC24.
tier: official
language: en
tags:
  - codeunit
  - system 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: a18955ee18ffb64ac82e5938e4c61ac8c04b49f10bd5bcbc68e6bb353c610f31
evidence:
  - kind: code
    url: https://github.com/microsoft/BCApps/blob/ea08af5ef2d6a9b5c5af4a029288abbe2c883220/src/System%20Application/App/Data%20Classification/src/DataClassificationMgt.Codeunit.al
    title: src/System Application/App/Data Classification/src/DataClassificationMgt.Codeunit.al (releases/29.x)
    date: null
    commit: ea08af5ef2d6a9b5c5af4a029288abbe2c883220
    t: null
    quote: null
links:
  learn: []
  objects: []
  features: []
  topics: []
  localizations: []
  videos: []
  posts: []
  guidelines: []
object_type: codeunit
object_id: 1750
name: Data Classification Mgt.
namespace: System.Privacy
app: System 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: 0
  procedures: 21
  events: 3
  subscribers: 0
relations:
  out: 0
  referenced_by: 0
  pages: 0
  extended_by: 0
  event_subscribers: 3
  calls: 3
  called_by: 39
  implements: 0
---

# Codeunit 1750 "Data Classification Mgt."

> Codeunit 1750 "Data Classification Mgt." in System Application (System.Privacy). 18 public procedures, 3 events. Present since at least BC23, still in BC30, changed in BC24.

System Application · System.Privacy · BC23-30 · [source at ea08af5e](https://github.com/microsoft/BCApps/blob/ea08af5ef2d6a9b5c5af4a029288abbe2c883220/src/System%20Application/App/Data%20Classification/src/DataClassificationMgt.Codeunit.al) · facts from BC29

## Properties

| Property | Value |
|---|---|
| Access | Public |

## Events published

- `OnGetDataPrivacyEntities(var DataPrivacyEntities: Record "Data Privacy Entities")` (integration): Publishes an event that allows subscribers to insert Data Privacy Entities in the DataPrivacyEntities record.
  - subscribers: [Codeunit 1755 "Privacy Subscribers"](../codeunit/1755.md) OnGetDataPrivacyEntitiesSubscriber
- `OnCreateEvaluationData()` (integration): Publishes an event that allows subscribers to create evaluation data.
  - subscribers: [Codeunit 1755 "Privacy Subscribers"](../codeunit/1755.md) CreateEvaluationData
- `OnShowSyncFieldsNotification()` (integration): Publishes an event that allows subscribers to show a notification that calls for users to synchronize their Data Sensitivity and Field tables.
  - subscribers: [Codeunit 1756 "Data Class. Notification Mgt."](../codeunit/1756.md) OnShowSyncFieldsNotificationSubscriber

## Procedures

- `PopulateDataSensitivityTable()`: Creates an entry in the Data Sensitivity table for every field in the database that is classified as Customer Content, End User Identifiable Information (EUII), or End User Pseudonymous Identifiers (EUPI).
- `SetDefaultDataSensitivity(var DataPrivacyEntities: Record "Data Privacy Entities")`: Updates the Data Sensitivity table with the default data sensitivities for all the fields of all the tables in the DataPrivacyEntities record.
- `SetSensitivities(var DataSensitivity: Record "Data Sensitivity"; Sensitivity: Option)`: For each Data Sensitivity entry, it sets the value of the "Data Sensitivity" field to the Sensitivity option.
- `SyncAllFields()`: Synchronizes the Data Sensitivity table with the Field table. It inserts new values in the Data Sensitivity table for the fields that the Field table contains and the Data Sensitivity table does not and it deletes the unclassified fields from the Data Sensitivity table that the Field table does not ...
- `GetDataSensitivityOptionString(): Text`: Gets the values that the "Data Sensitivity" field of the Data Sensitivity table can contain.
- `SetTableFieldsToNormal(TableNumber: Integer)`: Sets the data sensitivity to normal for all fields in the table with the ID TableNumber.
- `SetFieldToPersonal(TableNo: Integer; FieldNo: Integer)`: Sets the data sensitivity to personal for the field with the ID FieldNo from the table with the ID TableNo.
- `SetFieldToSensitive(TableNo: Integer; FieldNo: Integer)`: Sets the data sensitivity to sensitive for the field with the ID FieldNo from the table with the ID TableNo.
- `SetFieldToCompanyConfidential(TableNo: Integer; FieldNo: Integer)`: Sets the data sensitivity to company confidential for the field with the ID FieldNo from the table with the ID TableNo.
- `SetFieldToNormal(TableNo: Integer; FieldNo: Integer)`: Sets the data sensitivity to normal for the field with the ID FieldNo from the table with the ID TableNo.
- `DataPrivacyEntitiesExist(): Boolean`: Checks whether any of the data privacy entity tables (Customer, Vendor, Employee, and so on) contain entries.
- `AreAllFieldsClassified(): Boolean`: Checks whether the Data Sensitivity table contains any unclassified entries.
- `IsDataSensitivityEmptyForCurrentCompany(): Boolean`: Checks whether the Data Sensitivity table contains any entries for the current company.
- `InsertDataSensitivityForField(TableNo: Integer; FieldNo: Integer; DataSensitivityOption: Option)`: Inserts a new entry in the Data Sensitivity table for the specified table ID, field ID and with the given data sensitivity option (some of the values that the option can have are normal, sensitive and personal).
- `InsertDataPrivacyEntity(var DataPrivacyEntities: Record "Data Privacy Entities"; TableNo: Integer; PageNo: Integer; KeyFieldNo: Integer; EntityFilter: Text; PrivacyBlockedFieldNo: Integer)`: Inserts a new Data Privacy Entity entry in a record.
- `GetLastSyncStatusDate(): DateTime`: Gets the last date when the Data Sensitivity and Field tables where synchronized.
- `IsSupportedTable(TableNo: Integer): Boolean`: Check if the table is supported in the Data Privacy Utilities and Data Classification Worksheet.
- `RaiseOnGetDataPrivacyEntities(var DataPrivacyEntities: Record "Data Privacy Entities")`: Raises an event that allows subscribers to insert Data Privacy Entities in the DataPrivacyEntities record. Throws an error when it is not called with a temporary record.

## 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 1753 "Data Classification Mgt. Impl."](../codeunit/1753.md) (13 calls: `AreAllFieldsClassified → AreAllFieldsClassified`, `GetDataSensitivityOptionString → GetDataSensitivityOptionString`, `InsertDataSensitivityForField → InsertDataSensitivityForField`, …)
- [Codeunit 1758 "Data Privacy Entities Mgt."](../codeunit/1758.md) (4 calls: `DataPrivacyEntitiesExist → DataPrivacyEntitiesExist`, `InsertDataPrivacyEntity → InsertDataPrivacyEntitity`, `RaiseOnGetDataPrivacyEntities → RaiseOnGetDataPrivacyEntities`, …)
- [Codeunit 1757 "Fields Sync Status Management"](../codeunit/1757.md) (1 call: `GetLastSyncStatusDate → GetLastSyncStatusDate`)

## Called by

- [Codeunit 1762 "Sales-Data Classification"](../codeunit/1762.md) (51 calls: `ClassifyCustLedgerEntry → SetFieldToCompanyConfidential`, `ClassifyCustLedgerEntry → SetFieldToPersonal`, `ClassifyCustLedgerEntry → SetTableFieldsToNormal`, …)
- [Codeunit 1764 "Inventory-Data Classification"](../codeunit/1764.md) (50 calls: `ClassifyAnalysisSelectedDimension → SetFieldToPersonal`, `ClassifyAnalysisSelectedDimension → SetTableFieldsToNormal`, `ClassifyCapacityLedgerEntry → SetFieldToCompanyConfidential`, …)
- [Codeunit 1763 "Purchases-Data Classification"](../codeunit/1763.md) (45 calls: `ClassifyDetailedVendorLedgEntry → SetFieldToCompanyConfidential`, `ClassifyDetailedVendorLedgEntry → SetFieldToPersonal`, `ClassifyDetailedVendorLedgEntry → SetTableFieldsToNormal`, …)
- [Codeunit 1767 "Service-Data Classification"](../codeunit/1767.md) (45 calls: `ClassifyContractChangeLog → SetFieldToPersonal`, `ClassifyContractChangeLog → SetTableFieldsToNormal`, `ClassifyContractGainLossEntry → SetFieldToCompanyConfidential`, …)
- [Codeunit 1766 "CRM-Data Classification"](../codeunit/1766.md) (43 calls: `ClassifyAttendee → SetFieldToPersonal`, `ClassifyAttendee → SetTableFieldsToNormal`, `ClassifyCampaignEntry → SetFieldToCompanyConfidential`, …)
- [Codeunit 1765 "Projects-Data Classification"](../codeunit/1765.md) (40 calls: `ClassifyJob → SetFieldToPersonal`, `ClassifyJob → SetTableFieldsToNormal`, `ClassifyJobArchive → SetFieldToPersonal`, …)
- [Codeunit 1769 "Warehouse-Data Classification"](../codeunit/1769.md) (20 calls: `ClassifyBinCreationWorksheetLine → SetFieldToPersonal`, `ClassifyBinCreationWorksheetLine → SetTableFieldsToNormal`, `ClassifyPostedInvtPickHeader → SetFieldToPersonal`, …)
- [Codeunit 1752 "Data Class. Eval. Data Country"](../codeunit/1752.md) (18 calls: `ClassifyDetailedEmployeeLedgerEntry → SetFieldToCompanyConfidential`, `ClassifyDetailedEmployeeLedgerEntry → SetFieldToPersonal`, `ClassifyDetailedEmployeeLedgerEntry → SetTableFieldsToNormal`, …)
- [Codeunit 1768 "Manuf.-Data Classification"](../codeunit/1768.md) (5 calls: `ClassifyCapacityLedgerEntry → SetFieldToCompanyConfidential`, `ClassifyCapacityLedgerEntry → SetTableFieldsToNormal`, `ClassifyTables → SetTableFieldsToNormal`, …)
- [Page 1751 "Data Classification Worksheet"](../page/1751.md) (5 calls: `ConfirmEditDataSensitivity → GetDataSensitivityOptionString`, `CreateEvalDataOrShowUnclassifiedDataIfTableIsEmpty → OnCreateEvaluationData`, `CreateEvalDataOrShowUnclassifiedDataIfTableIsEmpty → PopulateDataSensitivityTable`, …)
- [Codeunit 1751 "Data Classification Eval. Data"](../codeunit/1751.md) (4 calls: `SetFieldToCompanyConfidential → SetFieldToCompanyConfidential`, `SetFieldToPersonal → SetFieldToPersonal`, `SetFieldToSensitive → SetFieldToSensitive`, …)
- [Codeunit 1755 "Privacy Subscribers"](../codeunit/1755.md) (4 calls: `AfterExtensionIsInstalled → InsertDataSensitivityForField`, `AfterExtensionIsInstalled → IsDataSensitivityEmptyForCurrentCompany`, `AfterExtensionIsUninstalled → IsDataSensitivityEmptyForCurrentCompany`, …)
- [Codeunit 1756 "Data Class. Notification Mgt."](../codeunit/1756.md) (4 calls: `ShowNotificationIfThereAreUnclassifiedFields → AreAllFieldsClassified`, `ShowNotifications → DataPrivacyEntitiesExist`, `ShowSyncFieldsNotificationIfThereAreUnsynchedFields → GetLastSyncStatusDate`, …)
- [Codeunit 1180 "Data Privacy Mgmt"](../codeunit/1180.md) (3 calls: `CreateRelatedDataFields → IsSupportedTable`, `GetPrivacyEntityKeyFieldAndTableNo → RaiseOnGetDataPrivacyEntities`, `GetRecRefForPrivacyMasterTable → RaiseOnGetDataPrivacyEntities`)
- [Codeunit 1754 "Data Classif. Import/Export"](../codeunit/1754.md) (3 calls: `ExportToExcelSheet → PopulateDataSensitivityTable`, `ImportExcelSheet → PopulateDataSensitivityTable`, `UpdateDataSensitivity → GetDataSensitivityOptionString`)
- [Codeunit 1761 "Assembly-Data Classification"](../codeunit/1761.md) (3 calls: `ClassifyPostedAssemblyHeader → SetFieldToPersonal`, `ClassifyPostedAssemblyHeader → SetTableFieldsToNormal`, `ClassifyTables → SetTableFieldsToNormal`)
- [Page extension 1758 "Data Classification Wiz. Ext."](../pageextension/1758.md) (3 calls: `ApplyStep → SetDefaultDataSensitivity`, `ChooseModeStep → PopulateDataSensitivityTable`, `SetRulesStep → SetSensitivities`)
- [Codeunit 1072 "MS - PayPal Create Demo Data"](../codeunit/1072.md) (2 calls: `ApplyEvaluationClassificationsForPrivacy → SetFieldToPersonal`, `ApplyEvaluationClassificationsForPrivacy → SetTableFieldsToNormal`)
- [Codeunit 1160 "COHUB Install"](../codeunit/1160.md) (2 calls: `ApplyEvaluationClassificationsForPrivacy → SetFieldToPersonal`, `ApplyEvaluationClassificationsForPrivacy → SetTableFieldsToNormal`)
- [Codeunit 1855 "Sales Forecast Install"](../codeunit/1855.md) (2 calls: `ApplyEvaluationClassificationsForPrivacy → SetFieldToNormal`, `ApplyEvaluationClassificationsForPrivacy → SetTableFieldsToNormal`)
- [Codeunit 1921 "QB Migration Install"](../codeunit/1921.md) (2 calls: `ApplyEvaluationClassificationsForPrivacy → SetFieldToPersonal`, `ApplyEvaluationClassificationsForPrivacy → SetTableFieldsToNormal`)
- [Codeunit 20135 "Symbol Data Senstivity Mgmt."](../codeunit/20135.md) (2 calls: `ClassifyCompanyConfidentialFields → SetFieldToCompanyConfidential`, `SetTableFieldsToNormal → SetTableFieldsToNormal`)
- [Codeunit 20239 "Tax Type Data Senstivity Mgmt."](../codeunit/20239.md) (2 calls: `ClassifyCompanyConfidentialFields → SetFieldToCompanyConfidential`, `SetTableFieldsToNormal → SetTableFieldsToNormal`)
- [Codeunit 2029 "Image Analysis Install"](../codeunit/2029.md) (2 calls: `ApplyEvaluationClassificationsForPrivacy → SetFieldToNormal`, `ApplyEvaluationClassificationsForPrivacy → SetTableFieldsToNormal`)
- [Codeunit 20348 "Posting Data Senstivity Mgmt."](../codeunit/20348.md) (2 calls: `ClassifyCompanyConfidentialFields → SetFieldToCompanyConfidential`, `SetTableFieldsToNormal → SetTableFieldsToNormal`)
- [Codeunit 4510 "Email - Outlook API Install"](../codeunit/4510.md) (2 calls: `ApplyEvaluationClassificationsForPrivacy → SetFieldToNormal`, `ApplyEvaluationClassificationsForPrivacy → SetFieldToPersonal`)
- [Codeunit 4515 "SMTP Connector Install"](../codeunit/4515.md) (2 calls: `ApplyEvaluationClassificationsForPrivacy → SetFieldToNormal`, `ApplyEvaluationClassificationsForPrivacy → SetFieldToPersonal`)
- [Codeunit 1758 "Data Privacy Entities Mgt."](../codeunit/1758.md) (1 call: `RaiseOnGetDataPrivacyEntities → OnGetDataPrivacyEntities`)
- [Codeunit 1955 "Late Payment Install"](../codeunit/1955.md) (1 call: `ApplyEvaluationClassificationsForPrivacy → SetTableFieldsToNormal`)
- [Codeunit 20169 "Script Data Senstivity Mgmt."](../codeunit/20169.md) (1 call: `SetTableFieldsToNormal → SetTableFieldsToNormal`)
- [Codeunit 20285 "Use Case Data Senstivity Mgmt."](../codeunit/20285.md) (1 call: `SetTableFieldsToNormal → SetTableFieldsToNormal`)
- [Codeunit 5193 "Contoso Demo Tool"](../codeunit/5193.md) (1 call: `ClassifyTables → SetTableFieldsToNormal`)
- [Codeunit 5264 "Install Audit File Export"](../codeunit/5264.md) (1 call: `ApplyEvaluationClassificationsForPrivacy → SetTableFieldsToNormal`)
- [Codeunit 5288 "Install SAF-T"](../codeunit/5288.md) (1 call: `ApplyEvaluationClassificationsForPrivacy → SetTableFieldsToNormal`)
- [Codeunit 6614 "FS Data Classification"](../codeunit/6614.md) (1 call: `ClassifyTables → SetTableFieldsToNormal`)
- [Codeunit 6950 "Expense Agent Privacy Subs."](../codeunit/6950.md) (1 call: `ClassifyExpenseAgent → SetFieldToPersonal`)
- [Page 1180 "Data Privacy Wizard"](../page/1180.md) (1 call: `OnOpenPage → RaiseOnGetDataPrivacyEntities`)
- [Page 1752 "Data Classification Wizard"](../page/1752.md) (1 call: `ResetControls → RaiseOnGetDataPrivacyEntities`)
- [Page 1754 "Data Subject"](../page/1754.md) (1 call: `OnInit → RaiseOnGetDataPrivacyEntities`)

## 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: "codeunit", object_name: "Data Classification Mgt.")`, then `bcatlas_get_procedure_body` or `bcatlas_get_neighbors` on the returned id.
