Skip to content

KVSPSADimensionManagement#

Procedures#

CopyDimSetIDtoDefaultDim(Integer, Integer, Code[20]) :#

Summary: Copy Dimension Set ID to Default Dimension

procedure CopyDimSetIDtoDefaultDim(SourceDimensionSetID: Integer; TargetTableNo: Integer; TargetNo: Code[20]): 

Parameters:

  • SourceDimensionSetID: Source Dimension Set ID
  • TargetTableNo: Target Table No
  • TargetNo: Target No

DeleteSavedDimensions(RecordId) :#

Summary: Delete saved dimensions for a specific record ID. This procedure will delete the default dimensions for the specified record ID in the "KVSPSA Job Budget Line" and "KVSPSAJobPSPLine" tables if they exist. It uses the GlobalSingleInstance codeunit to retrieve the timestamp for the record ID, which is used to identify the dimensions to delete. If the timestamp is empty, the procedure exits without performing any deletion. The procedure also checks if the dimensions are to be updated from the "KVSPSAJobPSPLine" or "KVSPSA Job Budget Line" tables based on the flags returned by GlobalSingleInstance. If the dimensions are to be updated, it calls the DimensionManagement codeunit to delete the default dimensions for the respective tables using the timestamp.

procedure DeleteSavedDimensions(SourceRecordID: RecordId): 

Parameters:

  • SourceRecordID: The record ID for which the saved dimensions should be deleted.

HandleJobPlanDimensions(RecordId, List, Code[20], Code[20], Code[20], Code[20], Code[20], Integer) :#

procedure HandleJobPlanDimensions(SourceRecRecordID: RecordId; var DefaultDimSource: List; JobNo: Code[20]; WorkPackageCode: Code[20]; PhaseCode: Code[20]; TaskCode: Code[20]; StepCode: Code[20]; BudgetLineNo: Integer): 

MergeAndDeleteDimensionIDSetInExistingSet(Integer, Integer, Boolean) : Integer#

Summary: Merge and delete a dimension set ID in an existing set. The old dimension set ID will be deleted. The Merged dimension set ID will be returned. If the old diemension set ID should not be deleteed, use the MergeDimensionIDSetInExistingSet procedure.

procedure MergeAndDeleteDimensionIDSetInExistingSet(OldDimensionSetID: Integer; NewDimensionSetID: Integer; Addonly: Boolean): Integer

Parameters:

  • OldDimensionSetID:
  • NewDimensionSetID:
  • Addonly:

Returns:

MergeDimensionIDSetInExistingSet(Integer, Integer, Boolean) : Integer#

Summary: Merge a dimension set ID in an existing set. The Merged dimension set ID will be returned. If the old dimension set id should be deleted, use the MergeAndDeleteDimensionIDSetInExistingSet procedure.

procedure MergeDimensionIDSetInExistingSet(OldDimensionSetID: Integer; NewDimensionSetID: Integer; Addonly: Boolean): Integer

Parameters:

  • OldDimensionSetID:
  • NewDimensionSetID:
  • Addonly:

Returns:

UpdateDimensionInExistingSet(Integer, Code[20], Code[20], Boolean, Option) : Integer#

Summary: Provide a dimension Set ID and a dimension and DimensionValue, and you will be rewarded with a new dimension set. You must provide a dimension Code and a Type

procedure UpdateDimensionInExistingSet(OldDimensionSetID: Integer; NewDimensionCode: Code[20]; NewDimensionValueCode: Code[20]; FromDelete: Boolean; Type: Option): Integer

Parameters:

  • OldDimensionSetID: Old Dimension Set ID
  • NewDimensionCode: Must be provided
  • NewDimensionValueCode:
  • FromDelete: if set to true, the dimension will be deleted from the dimension set
  • Type: Options are " ",Add,AddAndModIfy

Returns: New DimensionSetID

UpdateJobDefaultDimValuePostingFromDefaultDim(Record Default Dimension, Integer, Code[20], Code[20]) :#

Summary: Update the Value Posting from the source default dimensions

procedure UpdateJobDefaultDimValuePostingFromDefaultDim(var DefaultDimension: Record "Default Dimension"; SourceTableNo: Integer; SourceNo: Code[20]; JobNo: Code[20]): 

Parameters:

  • DefaultDimension:
  • SourceTableNo:
  • SourceNo:
  • JobNo:

Events#

KVSPSAOnAfterHandleJobPlanDimensions(RecordId, List, Code[20], Code[20], Code[20], Code[20], Code[20], Integer) :#

[IntegrationEvent(false, false)]
local procedure KVSPSAOnAfterHandleJobPlanDimensions(SourceRecRecordID: RecordId; var DefaultDimSource: List; JobNo: Code[20]; WorkPackageCode: Code[20]; PhaseCode: Code[20]; TaskCode: Code[20]; StepCode: Code[20]; BudgetLineNo: Integer): 
[EventSubscriber(ObjectType::Codeunit, Codeunit::"KVSPSADimensionManagement", 'KVSPSAOnAfterHandleJobPlanDimensions', '', false, false)]
local procedure DoSomethingKVSPSAOnAfterHandleJobPlanDimensions(SourceRecRecordID: RecordId; var DefaultDimSource: List; JobNo: Code[20]; WorkPackageCode: Code[20]; PhaseCode: Code[20]; TaskCode: Code[20]; StepCode: Code[20]; BudgetLineNo: Integer)
begin
end;

KVSPSAOnAfterUpdateJobDefaultDimValuePostingFromDefaultDim(Record Default Dimension, Integer, Code[20], Code[20]) :#

Summary: Integration event raised after updating job default dimension value posting from default dimension

[IntegrationEvent(false, false)]
local procedure KVSPSAOnAfterUpdateJobDefaultDimValuePostingFromDefaultDim(var DefaultDimension: Record "Default Dimension"; SourceTableNo: Integer; SourceNo: Code[20]; JobNo: Code[20]): 
[EventSubscriber(ObjectType::Codeunit, Codeunit::"KVSPSADimensionManagement", 'KVSPSAOnAfterUpdateJobDefaultDimValuePostingFromDefaultDim', '', false, false)]
local procedure DoSomethingKVSPSAOnAfterUpdateJobDefaultDimValuePostingFromDefaultDim(var DefaultDimension: Record "Default Dimension"; SourceTableNo: Integer; SourceNo: Code[20]; JobNo: Code[20])
begin
end;

Parameters:

  • DefaultDimension: The default dimension that was updated
  • SourceTableNo: The source table number
  • SourceNo: The source record number
  • JobNo: The job number

KVSPSAOnBeforeJobPSPLineFindSetInHandleJobPlanDimensions(RecordId, Record KVSPSAJobPSPLine) :#

Summary: Integration event raised before job PSP line find set during job plan dimensions handling

[IntegrationEvent(false, false)]
local procedure KVSPSAOnBeforeJobPSPLineFindSetInHandleJobPlanDimensions(SourceRecRecordID: RecordId; var JobPSPLine: Record "KVSPSAJobPSPLine"): 
[EventSubscriber(ObjectType::Codeunit, Codeunit::"KVSPSADimensionManagement", 'KVSPSAOnBeforeJobPSPLineFindSetInHandleJobPlanDimensions', '', false, false)]
local procedure DoSomethingKVSPSAOnBeforeJobPSPLineFindSetInHandleJobPlanDimensions(SourceRecRecordID: RecordId; var JobPSPLine: Record "KVSPSAJobPSPLine")
begin
end;

Parameters:

  • SourceRecRecordID: The record ID of the source record
  • JobPSPLine: The job PSP line record to be filtered

KVSPSAOnBeforeUpdateJobDefaultDimension(List, Record Job) :#

[IntegrationEvent(false, false)]
local procedure KVSPSAOnBeforeUpdateJobDefaultDimension(var DefaultDimSource: List; var Job: Record "Job"): 
[EventSubscriber(ObjectType::Codeunit, Codeunit::"KVSPSADimensionManagement", 'KVSPSAOnBeforeUpdateJobDefaultDimension', '', false, false)]
local procedure DoSomethingKVSPSAOnBeforeUpdateJobDefaultDimension(var DefaultDimSource: List; var Job: Record "Job")
begin
end;

KVSPSAOnBeforeUpdateJobDefaultDimValuePostingFromDefaultDim(Record Default Dimension, Integer, Code[20], Code[20], Boolean) :#

Summary: Integration event raised before updating job default dimension value posting from default dimension

[IntegrationEvent(false, false)]
local procedure KVSPSAOnBeforeUpdateJobDefaultDimValuePostingFromDefaultDim(var DefaultDimension: Record "Default Dimension"; SourceTableNo: Integer; SourceNo: Code[20]; JobNo: Code[20]; var IsHandled: Boolean): 
[EventSubscriber(ObjectType::Codeunit, Codeunit::"KVSPSADimensionManagement", 'KVSPSAOnBeforeUpdateJobDefaultDimValuePostingFromDefaultDim', '', false, false)]
local procedure DoSomethingKVSPSAOnBeforeUpdateJobDefaultDimValuePostingFromDefaultDim(var DefaultDimension: Record "Default Dimension"; SourceTableNo: Integer; SourceNo: Code[20]; JobNo: Code[20]; var IsHandled: Boolean)
begin
end;

Parameters:

  • DefaultDimension: The default dimension to be updated
  • SourceTableNo: The source table number
  • SourceNo: The source record number
  • JobNo: The job number
  • IsHandled: Set to true if the operation is handled by subscriber