`trigger OnAfterGetRecord()
begin
IsEditable := CurrPage.Editable;
ItemFilter := Rec.GetItemFilterAsDisplayText();
LocationFilter := Rec.GetLocationFilterBlobAsText();
VariantFilter := Rec.GetVariantFilterBlobAsText();
VariantFilterIsEnabled := Rec."Forecast By Variants";
LocationFilterIsEnabled := Rec."Forecast By Locations";
if RefreshMatrixOnNextRec then begin
SetMatrix();
CurrPage.Matrix.Page.Update(false);
end;
RefreshMatrixOnNextRec := false;
//New `Event` ++
OnAfterOnAfterGetRecord(Rec);
//New Event --
end;
//New Event ++
[IntegrationEvent(true, false)]
local procedure OnAfterOnAfterGetRecord(var ProductionForecastName: Record "Production Forecast Name")
begin
end;
//New Event --
```
protected procedure SetMatrix()
begin
//New Event++
OnBeforeSetMatrixLoad(Rec, MatrixColumnCaptions, MatrixRecords, CurrentSetLength);
//New Event--
CurrPage.Matrix.PAGE.Load(MatrixColumnCaptions, MatrixRecords, Rec.Name, Rec."Date Filter", Rec."Forecast Type", Rec."Quantity Type", CurrentSetLength, Rec.GetItemFilterBlobAsViewFilters(), Rec.GetLocationFilterBlobAsText(), Rec."Forecast By Locations", Rec."Forecast By Variants", Rec.GetVariantFilterBlobAsText());
end;
//New Event ++
[IntegrationEvent(true, false)]
local procedure OnBeforeSetMatrixLoad(var ProductionForecastName: Record "Production Forecast Name"; MatrixColumns1: array[32] of Text[1024]; var MatrixRecords1: array[32] of Record Date; NoOfMatrixColumns1: Integer);
begin
end;
//New Event--
```
### Describe the request
Page 2901 "Demand Forecast Card" page
1. Add a new event OnAfterOnAfterGetRecord in the trigger OnAfterGetRecord(),
2. Add a new event OnBeforeSetMatrixLoad in the procedure SetMatrix()