-
Notifications
You must be signed in to change notification settings - Fork 33
LC0078
Arthur van de Vondervoort edited this page Dec 14, 2024
·
1 revision
This rule raises a diagnostic when triggers (Insert
, Modify
, Delete
, DeleteAll
, ModifyAll
) or the Validate
method are executed on temporary record variables. Executing these triggers on temporary records causes the temporary scope to no longer apply, which can result in unintended database changes.
procedure TempSalesHeader(CustomerNo: Code[20])
var
SalesHeader: Record "Sales Header" temporary;
begin
SalesHeader.Init();
SalesHeader.Validate("Sell-to Customer No.", CustomerNo); // Temporary records should not trigger the table triggers.
SalesHeader.Insert(true); // Temporary records should not trigger the table triggers.
end;
The rule does not raise a diagnostic if the table object itself is defined as temporary, as triggers in such tables are expected to be implemented safely.
procedure CreateDimensionSetEntryBuffer(DimensionCode: Code[20]; DimensionValueCode: Code[20])
var
DimensionSetEntryBuffer: Record "Dimension Set Entry Buffer";
begin
DimensionSetEntryBuffer.Init();
DimensionSetEntryBuffer.Validate("Dimension Code", DimensionCode);
DimensionSetEntryBuffer.Validate("Dimension Value Code", DimensionValueCode);
DimensionSetEntryBuffer.Insert(true);
end;
table 5489 "Dimension Set Entry Buffer"
{
Caption = 'Dimension Set Entry Buffer';
TableType = Temporary;
fields
{