bcquality/microsoft/knowledge/data-modeling/owning-table-must-delete-dependents-in-ondelete.good.al
Jesper Schulz-Wedde 4f0a13a801
Promote knowledge for Microsoft review skills (#153)
Move canonical knowledge for Microsoft-owned review domains into the Microsoft layer and document the skill/knowledge co-location policy.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>

Co-authored-by: Jesper Schulz-Wedde <jesper.schulzwedde@microsoft.com>
Copilot-Session: 2a6ea875-d38e-4f30-aadb-0d606f9be231
2026-09-03 15:06:01 +02:00

55 lines
1.1 KiB
AL

table 50100 "Order Header"
{
// The owning table needs delete rights on what it owns. Granting D only on the
// header is a common miss and makes OnDelete fail for a non-SUPER user.
Permissions = tabledata "Order Line" = rd;
fields
{
field(1; "Entry No."; Integer)
{
DataClassification = CustomerContent;
}
}
keys
{
key(PK; "Entry No.")
{
Clustered = true;
}
}
trigger OnDelete()
var
OrderLine: Record "Order Line";
begin
OrderLine.SetRange("Header Entry No.", "Entry No.");
// Pass false only when Order Line has no OnDelete of its own.
OrderLine.DeleteAll(true);
end;
}
table 50101 "Order Line"
{
fields
{
field(1; "Line No."; Integer)
{
DataClassification = CustomerContent;
}
field(2; "Header Entry No."; Integer)
{
DataClassification = CustomerContent;
TableRelation = "Order Header"."Entry No.";
}
}
keys
{
key(PK; "Line No.")
{
Clustered = true;
}
}
}