Codeunit 1758 Data Privacy Entities Mgt. in 25
- App
- System Application
- Namespace
- System.Privacy
Versions171819202122232425262728latest
Source in 25
src/System Application/App/Data Classification/src/DataPrivacyEntitiesMgt.Codeunit.al85 lines, Copyright (c) Microsoft Corporation. MIT
// ------------------------------------------------------------------------------------------------
// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License. See License.txt in the project root for license information.
// ------------------------------------------------------------------------------------------------
namespace System.Privacy;
using System.Security.AccessControl;
codeunit 1758 "Data Privacy Entities Mgt."
{
Access = Internal;
InherentEntitlements = X;
InherentPermissions = X;
Permissions = tabledata "Data Privacy Entities" = r;
var
SimilarFieldsLbl: Label 'Classify Similar Fields for %1', Comment = '%1=Table Caption';
procedure DataPrivacyEntitiesExist(): Boolean
var
TempDataPrivacyEntities: Record "Data Privacy Entities" temporary;
RecordRef: RecordRef;
begin
RaiseOnGetDataPrivacyEntities(TempDataPrivacyEntities);
if TempDataPrivacyEntities.FindSet() then
repeat
RecordRef.Open(TempDataPrivacyEntities."Table No.");
if (not RecordRef.IsEmpty()) and (TempDataPrivacyEntities."Table No." <> Database::User) then
exit(true);
RecordRef.Close();
until TempDataPrivacyEntities.Next() = 0;
end;
procedure RaiseOnGetDataPrivacyEntities(var DataPrivacyEntities: Record "Data Privacy Entities")
var
DataClassificationMgt: Codeunit "Data Classification Mgt.";
begin
if not DataPrivacyEntities.IsTemporary() then
Error('Please call this function with a temporary record.');
DataClassificationMgt.OnGetDataPrivacyEntities(DataPrivacyEntities);
end;
procedure SetDefaultDataSensitivity(var DataPrivacyEntities: Record "Data Privacy Entities")
var
DataSensitivity: Record "Data Sensitivity";
DataClassificationMgtImpl: Codeunit "Data Classification Mgt. Impl.";
begin
DataPrivacyEntities.SetRange(Include, true);
if DataPrivacyEntities.FindSet() then
repeat
DataSensitivity.SetRange("Company Name", CompanyName());
DataSensitivity.SetRange("Table No", DataPrivacyEntities."Table No.");
DataClassificationMgtImpl.SetSensitivities(DataSensitivity, DataPrivacyEntities."Default Data Sensitivity");
until DataPrivacyEntities.Next() = 0;
end;
procedure InsertDataPrivacyEntitity(var DataPrivacyEntities: Record "Data Privacy Entities" temporary; TableNo: Integer; PageNo: Integer; KeyFieldNo: Integer; EntityFilter: Text; PrivacyBlockedFieldNo: Integer)
var
OutStream: OutStream;
begin
if DataPrivacyEntities.Get(TableNo) then
exit;
DataPrivacyEntities.Init();
DataPrivacyEntities.Include := true;
DataPrivacyEntities."Table No." := TableNo;
DataPrivacyEntities."Key Field No." := KeyFieldNo;
DataPrivacyEntities."Privacy Blocked Field No." := PrivacyBlockedFieldNo;
if EntityFilter <> '' then begin
DataPrivacyEntities."Entity Filter".CreateOutStream(OutStream);
OutStream.WriteText(EntityFilter);
end;
DataPrivacyEntities."Default Data Sensitivity" := DataPrivacyEntities."Default Data Sensitivity"::Personal;
DataPrivacyEntities.CalcFields("Table Caption");
DataPrivacyEntities."Similar Fields Label" := StrSubstNo(SimilarFieldsLbl, DataPrivacyEntities."Table Caption");
DataPrivacyEntities."Page No." := PageNo;
DataPrivacyEntities.Insert();
end;
}Procedures, 4
| Name | Parameters | Returns | Access | Obsolete |
|---|---|---|---|---|
| DataPrivacyEntitiesExist | () | Boolean | public | - |
| RaiseOnGetDataPrivacyEntities | (var Record Data Privacy Entities) | public | - | |
| SetDefaultDataSensitivity | (var Record Data Privacy Entities) | public | - | |
| InsertDataPrivacyEntitity | (var Record Data Privacy Entities, Integer, Integer, Integer, Text, Integer) | public | - |