I have 2 tables lets call TableHeader and TableLine. In TableHeader, one field had TableRelation define. When i try to do POST request with deep insert, i notice additional OnInsertRecord is trigger in TableLine. This cause additional row being insert. If i remove the table relation in TableHeader, then it work as expected. Does anyone know why tablerelation cause additional trigger to the OnInsertRecord?
table 1 "TableHeader"
{
DataClassification = CustomerContent;
fields
{
field(1; "Entry No."; Integer)
{
AutoIncrement = true;
}
field(10; "Message No."; Text)
{
TableRelation = "TableMessage"."Message No";
}
}
table 2 "TableLine"
{
DataClassification = CustomerContent;
fields
{
field(1; "Entry No."; Integer)
{
AutoIncrement = true;
}
field(10; "Message No."; Text)
{
TableRelation = "TableMessage"."Message No";
}
field(11; "Description"; Text)
{
}
}
page 1 "Header"
{
PageType = API;
Extensible = false;
APIPublisher = 'publisher';
APIGroup = 'group';
APIVersion = 'v1.0';
EntityName = 'header';
EntitySetName = 'headers';
SourceTable = "TableHeader";
DelayedInsert = true;
DeleteAllowed = false;
ModifyAllowed = false;
ODataKeyFields = SystemId;
layout
{
area(Content)
{
repeater(GroupName)
{
field(id; Rec.SystemId)
{
Caption = 'Id';
Editable = false;
}
field("messageNumber"; Rec."Message No.")
{
}
part(lines; "Line")
{
EntityName = 'line';
EntitySetName = 'lines';
SubPageLink = "Message No." = field("Message No.");
}
}
}
}
}
page 2 "Line"
{
PageType = API;
Extensible = false;
APIPublisher = 'publisher';
APIGroup = 'group';
APIVersion = 'v1.0';
EntityName = 'line';
EntitySetName = 'lines';
SourceTable = "TableLine";
DelayedInsert = true;
DeleteAllowed = false;
ModifyAllowed = false;
ODataKeyFields = SystemId;
layout
{
area(Content)
{
repeater(GroupName)
{
field(id; Rec.SystemId)
{
Caption = 'Id';
Editable = false;
}
field("messageNumber"; Rec."Message No.")
{
}
field("description"; Rec."Description")
{
}
}
}
}
}
JSON
{
"messageNumber": "Message 1",
"lines": [{
"Description": "Description 1"
},
{
"Description": "Description 2"
}]
}