Skip to content

KVSPSADistributionMatrix#

Procedures#

MatrixLoad() :#

Summary: Use this function to load the matrix cells

procedure MatrixLoad(): 

Events#

KVSPSAOnAfterInsertTempPSPLines(Record KVSPSAJobPSPLine, Record KVSPSAJobDistribWPMapping) :#

Summary: Use this function to add lines to the matrix. Use the line no for positioning and the ActualExpansionStatus Field to identify your line.

[IntegrationEvent(false, false)]
local procedure KVSPSAOnAfterInsertTempPSPLines(var TempJobPSPLine: Record "KVSPSAJobPSPLine" temporary; JobDistribWPMapping: Record "KVSPSAJobDistribWPMapping"): 
[EventSubscriber(ObjectType::Page, Page::"KVSPSADistributionMatrix", 'KVSPSAOnAfterInsertTempPSPLines', '', false, false)]
local procedure DoSomethingKVSPSAOnAfterInsertTempPSPLines(var TempJobPSPLine: Record "KVSPSAJobPSPLine" temporary; JobDistribWPMapping: Record "KVSPSAJobDistribWPMapping")
begin
end;

Parameters:

  • TempJobPSPLine: Instance to add your line
  • JobDistribWPMapping: Mapping in which is defined which lines should be visible

KVSPSAOnGetOriginalJobPSPLineLineNoElse(Integer, Record KVSPSAJobPSPLine) :#

Summary: Use this function to calc the Line No. of the original Job PSP Line.

[IntegrationEvent(false, false)]
local procedure KVSPSAOnGetOriginalJobPSPLineLineNoElse(var LineNo: Integer; CurrentTempJobPSPLine: Record "KVSPSAJobPSPLine" temporary): 
[EventSubscriber(ObjectType::Page, Page::"KVSPSADistributionMatrix", 'KVSPSAOnGetOriginalJobPSPLineLineNoElse', '', false, false)]
local procedure DoSomethingKVSPSAOnGetOriginalJobPSPLineLineNoElse(var LineNo: Integer; CurrentTempJobPSPLine: Record "KVSPSAJobPSPLine" temporary)
begin
end;

Parameters:

  • LineNo: Line No. of the original Job PSP Line
  • CurrentTempJobPSPLine: Current Matrix Line

KVSPSAOnCalcSumsForAggregationElse(Record KVSPSADistributionEntry) :#

Summary: Use this function to calc the Aggregation from the Budget Lines

[IntegrationEvent(false, false)]
local procedure KVSPSAOnCalcSumsForAggregationElse(var DistributionEntry: Record "KVSPSADistributionEntry"): 
[EventSubscriber(ObjectType::Page, Page::"KVSPSADistributionMatrix", 'KVSPSAOnCalcSumsForAggregationElse', '', false, false)]
local procedure DoSomethingKVSPSAOnCalcSumsForAggregationElse(var DistributionEntry: Record "KVSPSADistributionEntry")
begin
end;

Parameters:

  • DistributionEntry: Filterred Job Budget Line Distributuon Entries

KVSPSAOnCalcMatrixCellDataValueElse(Text, Integer, Record KVSPSADistributionEntry, Record KVSPSAJobPSPLine, Boolean) :#

Summary: Use this function to calc the CellDataValue for added lines

[IntegrationEvent(false, false)]
local procedure KVSPSAOnCalcMatrixCellDataValueElse(var GlobalMatrixCellData: Text; ColumnID: Integer; var DistributionEntry: Record "KVSPSADistributionEntry"; CurrentTempJobPSPLine: Record "KVSPSAJobPSPLine" temporary; var IsHandled: Boolean): 
[EventSubscriber(ObjectType::Page, Page::"KVSPSADistributionMatrix", 'KVSPSAOnCalcMatrixCellDataValueElse', '', false, false)]
local procedure DoSomethingKVSPSAOnCalcMatrixCellDataValueElse(var GlobalMatrixCellData: Text; ColumnID: Integer; var DistributionEntry: Record "KVSPSADistributionEntry"; CurrentTempJobPSPLine: Record "KVSPSAJobPSPLine" temporary; var IsHandled: Boolean)
begin
end;

Parameters:

  • GlobalMatrixCellData: Matrix Cell Values
  • ColumnID: Current Column
  • DistributionEntry: Related Distribution Entry/Entries
  • CurrentTempJobPSPLine: Current Matrix Line
  • IsHandled: use this to skip default code

KVSPSAOnAfterValidateQuantityOnBeforeFunction(Record KVSPSADistributionEntry, Text, Integer, Record KVSPSAJobPSPLine, Boolean, Boolean, Text, Text, Boolean) :#

Summary: Use this function to react on User Input on your added lines.

[IntegrationEvent(false, false)]
local procedure KVSPSAOnAfterValidateQuantityOnBeforeFunction(var MatrixRecords: Record "KVSPSADistributionEntry"; var GlobalMatrixCellData: Text; ColumnID: Integer; CurrentTempJobPSPLine: Record "KVSPSAJobPSPLine" temporary; var IsHandled: Boolean; IsAggregation: Boolean; var CurrColumn: Text; var CurrRow: Text; var ActivatePage: Boolean): 
[EventSubscriber(ObjectType::Page, Page::"KVSPSADistributionMatrix", 'KVSPSAOnAfterValidateQuantityOnBeforeFunction', '', false, false)]
local procedure DoSomethingKVSPSAOnAfterValidateQuantityOnBeforeFunction(var MatrixRecords: Record "KVSPSADistributionEntry"; var GlobalMatrixCellData: Text; ColumnID: Integer; CurrentTempJobPSPLine: Record "KVSPSAJobPSPLine" temporary; var IsHandled: Boolean; IsAggregation: Boolean; var CurrColumn: Text; var CurrRow: Text; var ActivatePage: Boolean)
begin
end;

Parameters:

  • MatrixRecords: Matrix Records
  • GlobalMatrixCellData: Matrix Cell Values
  • ColumnID: Current Column
  • CurrentTempJobPSPLine: Current Matrix Line
  • IsHandled: use this to skip default code
  • IsAggregation: Information if it is only aggregation of budgetline
  • CurrColumn: Current Column
  • CurrRow: Current Row
  • ActivatePage: Set this to Activate Page after your code

KVSPSAOnDrillDownField(Record KVSPSADistributionEntry, Integer, Record KVSPSAJobPSPLine, Boolean) :#

Summary: use this function to react on drilldown of a field in your line

[IntegrationEvent(false, false)]
local procedure KVSPSAOnDrillDownField(var MatrixRecords: Record "KVSPSADistributionEntry"; ColumnID: Integer; CurrentTempJobPSPLine: Record "KVSPSAJobPSPLine" temporary; var IsHandled: Boolean): 
[EventSubscriber(ObjectType::Page, Page::"KVSPSADistributionMatrix", 'KVSPSAOnDrillDownField', '', false, false)]
local procedure DoSomethingKVSPSAOnDrillDownField(var MatrixRecords: Record "KVSPSADistributionEntry"; ColumnID: Integer; CurrentTempJobPSPLine: Record "KVSPSAJobPSPLine" temporary; var IsHandled: Boolean)
begin
end;

Parameters:

  • MatrixRecords: Current Matrix Records
  • ColumnID: Current Column
  • CurrentTempJobPSPLine: Current Matrix Line
  • IsHandled: Use this function to skip default code

KVSPSAOnAfterSetStyleExpr(Record KVSPSAJobPSPLine, Boolean, Boolean) :#

Summary: Use this function to overwrite GlobalIsPlaning and GlobalIsNotActual for your line.

[IntegrationEvent(false, false)]
local procedure KVSPSAOnAfterSetStyleExpr(CurrentTempJobPSPLine: Record "KVSPSAJobPSPLine" temporary; var IsNotActual: Boolean; var IsPlanningLine: Boolean): 
[EventSubscriber(ObjectType::Page, Page::"KVSPSADistributionMatrix", 'KVSPSAOnAfterSetStyleExpr', '', false, false)]
local procedure DoSomethingKVSPSAOnAfterSetStyleExpr(CurrentTempJobPSPLine: Record "KVSPSAJobPSPLine" temporary; var IsNotActual: Boolean; var IsPlanningLine: Boolean)
begin
end;

Parameters:

  • CurrentTempJobPSPLine: Current Matrix Line
  • IsNotActual: Is Not Actual Indicator
  • IsPlanningLine: Is Planning Line

Protected Variables#

GlobalCurrColumn#

Type: Text