KVSPSAEntryChangingManagement#
Procedures#
ChangeJobSuggestionInJobLedgerEntries(Record Job Ledger Entry) :#
Summary: The ChangeJobSuggestionInJobLedgerEntries procedure changes the job suggestion in job ledger entries. It allows the user to select a new job and updates the job ledger entries accordingly. It also handles the insertion of cancelation lines and new job journal lines. It commits the changes and optionally opens the job journal page.
procedure ChangeJobSuggestionInJobLedgerEntries(var JobLedgerEntry: Record "Job Ledger Entry"):
Parameters:
JobLedgerEntry
: The job ledger entry record to be changed.
ChangeWPinJobLedgerEntry(Record Job Ledger Entry) :#
Summary: The ChangeWPinJobLedgerEntry procedure changes the work package in a job ledger entry. It allows the user to select a new work package and updates the job ledger entry accordingly. It also handles the confirmation dialog for changing the work package and recalculating prices if necessary. If the work package is changed, it updates the dimensions and project account. If the work type changes, it recalculates the prices. It also checks for existing purchase invoice entries and prompts the user for confirmation before proceeding.
procedure ChangeWPinJobLedgerEntry(JobLedgerEntry: Record "Job Ledger Entry"):
Parameters:
JobLedgerEntry
: The job ledger entry record to be changed.
ChangeWPinJobLedgerEntryBatch(Record Job Ledger Entry, Record KVSPSAJobPSPLine, Boolean) :#
Summary: The ChangeWPinJobLedgerEntryBatch procedure changes the work package in a batch of job ledger entries. It allows the user to select a new work package and updates the job ledger entries accordingly. It also handles the confirmation dialog for changing the work package and recalculating prices if necessary. If the work package is changed, it updates the dimensions and project account. If the work type changes, it recalculates the prices. It also updates the budget line number and handles the connection with the budget line. If the job ledger entry is a resource type, it finds the resource price and cost. If the job ledger entry is a time ledger entry, it updates the invoicing type and recalculates the invoicing quantity.
procedure ChangeWPinJobLedgerEntryBatch(JobLedgerEntry: Record "Job Ledger Entry"; JobPSPLine: Record "KVSPSAJobPSPLine"; BatchCall: Boolean):
Parameters:
JobLedgerEntry
: The job ledger entry record to be changed.JobPSPLine
: The job PSP line record containing the new work package information.BatchCall
: Indicates whether the procedure is called in batch mode.
ChangeWPinJobTimeLedgerEntryBatch(Record KVSPSAJobTimeLedgerEntry, Record KVSPSAJobPSPLine, Boolean) :#
Summary: The ChangeWPinJobTimeLedgerEntryBatch procedure changes the work package in a job time ledger entry. It allows the user to select a new work package and updates the job time ledger entry accordingly. If the work package is changed, it updates the dimensions and project account.
procedure ChangeWPinJobTimeLedgerEntryBatch(JobTimeLedgerEntry: Record "KVSPSAJobTimeLedgerEntry"; JobPSPLine: Record "KVSPSAJobPSPLine"; BatchCall: Boolean):
Parameters:
JobTimeLedgerEntry
: The job time ledger entry record to be changed.JobPSPLine
: The job PSP line record containing the new work package information.BatchCall
: Indicates whether the procedure is called in batch mode.
ChangeWPinMultipleJobLedgerEntries(Record Job Ledger Entry) :#
Summary: The ChangeWPinMultipleJobLedgerEntries procedure changes the work package in multiple job ledger entries. It allows the user to select a new work package and updates all selected job ledger entries accordingly. It also handles the confirmation dialog for changing the work package and recalculating prices if necessary.
procedure ChangeWPinMultipleJobLedgerEntries(var JobLedgerEntry: Record "Job Ledger Entry"):
Parameters:
JobLedgerEntry
: The job ledger entry record to be changed.
SetHideConfirmationDialog(Boolean) :#
Summary: Sets the GlobalHideConfirmationDialog variable to control the visibility of confirmation dialogs.
procedure SetHideConfirmationDialog(SetHideDialog: Boolean):
Parameters:
SetHideDialog
: Boolean value to set the visibility of confirmation dialogs
SetTargetPSPForChangeJobSuggestion(Record KVSPSAJobPSPLine) :#
Summary: Sets the GlobalTargetJobPSPLine variable to the specified JobPSPLine.
procedure SetTargetPSPForChangeJobSuggestion(var JobPSPLine: Record "KVSPSAJobPSPLine"):
Parameters:
JobPSPLine
: Set the Record to the Global Record
UpdateDimSetInBudgetLineFromPSPLine(Record KVSPSAJobPSPLine) :#
Summary: Updates the Dimension Set in the Budget Lines from the PSP Line
procedure UpdateDimSetInBudgetLineFromPSPLine(JobPSPLine: Record "KVSPSAJobPSPLine"):
Parameters:
JobPSPLine
: Used to set the Dimension Set ID in corresponding Budget Lines
UpdateDimSetInPaymentPlanLineFromPSPLine(Record KVSPSAJobPSPLine) :#
Summary: Updates the Dimension Set in the Payment Plan Lines from the PSP Line
procedure UpdateDimSetInPaymentPlanLineFromPSPLine(JobPSPLine: Record "KVSPSAJobPSPLine"):
Parameters:
JobPSPLine
: Used to set the Dimension Set ID in corresponding Payment Plan Lines
Events#
KVSPSAOnAfterChangeWPinJobLedgerEntryBatch(Record Job Ledger Entry, Record KVSPSAJobPSPLine, Boolean) :#
Summary: Integration event raised after changing the work package in a job ledger entry batch operation. This event allows subscribers to perform additional processing after the work package has been changed.
[IntegrationEvent(false, false)]
local procedure KVSPSAOnAfterChangeWPinJobLedgerEntryBatch(var JobLedgerEntry: Record "Job Ledger Entry"; var JobPSPLine: Record "KVSPSAJobPSPLine"; BatchCall: Boolean):
[EventSubscriber(ObjectType::Codeunit, Codeunit::"KVSPSAEntryChangingManagement", 'KVSPSAOnAfterChangeWPinJobLedgerEntryBatch', '', false, false)]
local procedure DoSomethingKVSPSAOnAfterChangeWPinJobLedgerEntryBatch(var JobLedgerEntry: Record "Job Ledger Entry"; var JobPSPLine: Record "KVSPSAJobPSPLine"; BatchCall: Boolean)
begin
end;
Parameters:
JobLedgerEntry
: The job ledger entry that was modified during the work package change operation.JobPSPLine
: The job PSP line containing the new work package information that was applied.BatchCall
: Indicates whether this procedure was called as part of a batch operation.
KVSPSAOnAfterChangeWPinJobTimeLedgerEntryBatch(Record KVSPSAJobTimeLedgerEntry, Record KVSPSAJobPSPLine, Boolean) :#
Summary: Integration event raised after changing the work package in a job time ledger entry batch operation. This event allows subscribers to perform additional processing after the work package has been changed in the time ledger entry.
[IntegrationEvent(false, false)]
local procedure KVSPSAOnAfterChangeWPinJobTimeLedgerEntryBatch(var JobTimeLedgerEntry: Record "KVSPSAJobTimeLedgerEntry"; var JobPSPLine: Record "KVSPSAJobPSPLine"; BatchCall: Boolean):
[EventSubscriber(ObjectType::Codeunit, Codeunit::"KVSPSAEntryChangingManagement", 'KVSPSAOnAfterChangeWPinJobTimeLedgerEntryBatch', '', false, false)]
local procedure DoSomethingKVSPSAOnAfterChangeWPinJobTimeLedgerEntryBatch(var JobTimeLedgerEntry: Record "KVSPSAJobTimeLedgerEntry"; var JobPSPLine: Record "KVSPSAJobPSPLine"; BatchCall: Boolean)
begin
end;
Parameters:
JobTimeLedgerEntry
: The job time ledger entry that was modified during the work package change operation.JobPSPLine
: The job PSP line containing the new work package information that was applied.BatchCall
: Indicates whether this procedure was called as part of a batch operation.
KVSPSAOnAfterCheckJobLedgerEntryIsFromMasterJobLedgerEntryPSPLine(Record Job Ledger Entry, Record Job Ledger Entry) :#
Summary: Integration event raised after checking that job ledger entries belong to the same master job ledger entry PSP line. This event allows subscribers to perform additional validation or processing after the entries have been verified.
[IntegrationEvent(false, false)]
local procedure KVSPSAOnAfterCheckJobLedgerEntryIsFromMasterJobLedgerEntryPSPLine(var MasterJobLedgerEntry: Record "Job Ledger Entry"; var ToBeMovedJobLedgerEntry: Record "Job Ledger Entry"):
[EventSubscriber(ObjectType::Codeunit, Codeunit::"KVSPSAEntryChangingManagement", 'KVSPSAOnAfterCheckJobLedgerEntryIsFromMasterJobLedgerEntryPSPLine', '', false, false)]
local procedure DoSomethingKVSPSAOnAfterCheckJobLedgerEntryIsFromMasterJobLedgerEntryPSPLine(var MasterJobLedgerEntry: Record "Job Ledger Entry"; var ToBeMovedJobLedgerEntry: Record "Job Ledger Entry")
begin
end;
Parameters:
MasterJobLedgerEntry
: The master job ledger entry used as the reference for comparison.ToBeMovedJobLedgerEntry
: The job ledger entry that was checked against the master entry.
KVSPSAOnAfterSetFilterOnJobPSPLineInUpdatePSPLineFromJob(Record Job, Boolean, Record Default Dimension, Record KVSPSAJobPSPLine) :#
Summary: Integration event raised after setting filters on job PSP lines during the update PSP line from job operation. This event allows subscribers to modify the filters applied to job PSP lines before processing.
[IntegrationEvent(false, false)]
local procedure KVSPSAOnAfterSetFilterOnJobPSPLineInUpdatePSPLineFromJob(Job: Record "Job"; FromDelete: Boolean; DefaultDimension: Record "Default Dimension"; var JobPSPLine: Record "KVSPSAJobPSPLine"):
[EventSubscriber(ObjectType::Codeunit, Codeunit::"KVSPSAEntryChangingManagement", 'KVSPSAOnAfterSetFilterOnJobPSPLineInUpdatePSPLineFromJob', '', false, false)]
local procedure DoSomethingKVSPSAOnAfterSetFilterOnJobPSPLineInUpdatePSPLineFromJob(Job: Record "Job"; FromDelete: Boolean; DefaultDimension: Record "Default Dimension"; var JobPSPLine: Record "KVSPSAJobPSPLine")
begin
end;
Parameters:
Job
: The job record that triggered the PSP line update.FromDelete
: Indicates whether the update is triggered by a deletion operation.DefaultDimension
: The default dimension record that caused the update.JobPSPLine
: The job PSP line record with filters applied that can be modified by subscribers.
KVSPSAOnAfterUpdatePSPLineFromJob(Record Job, Boolean, Record Default Dimension, Boolean, Boolean, Boolean) :#
Summary: Integration event raised after updating PSP lines from job changes. This event allows subscribers to perform additional processing after PSP lines have been updated due to job dimension changes.
[IntegrationEvent(false, false)]
local procedure KVSPSAOnAfterUpdatePSPLineFromJob(Job: Record "Job"; FromDelete: Boolean; DefaultDimension: Record "Default Dimension"; UserQuestion: Boolean; ExistingData: Boolean; ChangePSPDim: Boolean):
[EventSubscriber(ObjectType::Codeunit, Codeunit::"KVSPSAEntryChangingManagement", 'KVSPSAOnAfterUpdatePSPLineFromJob', '', false, false)]
local procedure DoSomethingKVSPSAOnAfterUpdatePSPLineFromJob(Job: Record "Job"; FromDelete: Boolean; DefaultDimension: Record "Default Dimension"; UserQuestion: Boolean; ExistingData: Boolean; ChangePSPDim: Boolean)
begin
end;
Parameters:
Job
: The job record that triggered the PSP line update.FromDelete
: Indicates whether the update is triggered by a deletion operation.DefaultDimension
: The default dimension record that caused the update.UserQuestion
: Indicates whether user confirmation was requested during the process.ExistingData
: Indicates whether existing data was found in PSP lines before the update.ChangePSPDim
: Indicates whether PSP dimensions were actually changed during the process.
KVSPSAOnBeforeAskQuestionInUpdatePSPLineFromJob(Record Job, Boolean, Record Default Dimension, Boolean, Boolean, Boolean, Boolean) :#
Summary: Integration event raised before asking user confirmation questions during PSP line updates from job changes. This event allows subscribers to override the user question logic and provide custom handling.
[IntegrationEvent(false, false)]
local procedure KVSPSAOnBeforeAskQuestionInUpdatePSPLineFromJob(Job: Record "Job"; FromDelete: Boolean; DefaultDimension: Record "Default Dimension"; UserQuestion: Boolean; var ExistingData: Boolean; var ChangePSPDim: Boolean; var IsHandled: Boolean):
[EventSubscriber(ObjectType::Codeunit, Codeunit::"KVSPSAEntryChangingManagement", 'KVSPSAOnBeforeAskQuestionInUpdatePSPLineFromJob', '', false, false)]
local procedure DoSomethingKVSPSAOnBeforeAskQuestionInUpdatePSPLineFromJob(Job: Record "Job"; FromDelete: Boolean; DefaultDimension: Record "Default Dimension"; UserQuestion: Boolean; var ExistingData: Boolean; var ChangePSPDim: Boolean; var IsHandled: Boolean)
begin
end;
Parameters:
Job
: The job record that triggered the PSP line update.FromDelete
: Indicates whether the update is triggered by a deletion operation.DefaultDimension
: The default dimension record that caused the update.UserQuestion
: Indicates whether user confirmation should be requested during the process.ExistingData
: Indicates whether existing data was found in PSP lines that can be modified by subscribers.ChangePSPDim
: Indicates whether PSP dimensions should be changed that can be modified by subscribers.IsHandled
: Boolean flag indicating whether the event has been handled by a subscriber, preventing standard processing.
KVSPSAOnBeforeChangeWPinJobLedgerEntryBatch(Record Job Ledger Entry, Record KVSPSAJobPSPLine, Boolean, Boolean) :#
Summary: Integration event raised before changing the work package in a job ledger entry batch operation. This event allows subscribers to provide custom handling or prevent the standard work package change process.
[IntegrationEvent(false, false)]
local procedure KVSPSAOnBeforeChangeWPinJobLedgerEntryBatch(var JobLedgerEntry: Record "Job Ledger Entry"; var JobPSPLine: Record "KVSPSAJobPSPLine"; BatchCall: Boolean; var IsHandled: Boolean):
[EventSubscriber(ObjectType::Codeunit, Codeunit::"KVSPSAEntryChangingManagement", 'KVSPSAOnBeforeChangeWPinJobLedgerEntryBatch', '', false, false)]
local procedure DoSomethingKVSPSAOnBeforeChangeWPinJobLedgerEntryBatch(var JobLedgerEntry: Record "Job Ledger Entry"; var JobPSPLine: Record "KVSPSAJobPSPLine"; BatchCall: Boolean; var IsHandled: Boolean)
begin
end;
Parameters:
JobLedgerEntry
: The job ledger entry that will be modified during the work package change operation.JobPSPLine
: The job PSP line containing the new work package information to be applied.BatchCall
: Indicates whether this procedure is called as part of a batch operation.IsHandled
: Boolean flag indicating whether the event has been handled by a subscriber, preventing standard processing.
KVSPSAOnBeforeChangeWPinJobTimeLedgerEntryBatch(Record KVSPSAJobTimeLedgerEntry, Record KVSPSAJobPSPLine, Boolean, Boolean) :#
Summary: Integration event raised before changing the work package in a job time ledger entry batch operation. This event allows subscribers to provide custom handling or prevent the standard work package change process.
[IntegrationEvent(false, false)]
local procedure KVSPSAOnBeforeChangeWPinJobTimeLedgerEntryBatch(var JobTimeLedgerEntry: Record "KVSPSAJobTimeLedgerEntry"; var JobPSPLine: Record "KVSPSAJobPSPLine"; BatchCall: Boolean; var IsHandled: Boolean):
[EventSubscriber(ObjectType::Codeunit, Codeunit::"KVSPSAEntryChangingManagement", 'KVSPSAOnBeforeChangeWPinJobTimeLedgerEntryBatch', '', false, false)]
local procedure DoSomethingKVSPSAOnBeforeChangeWPinJobTimeLedgerEntryBatch(var JobTimeLedgerEntry: Record "KVSPSAJobTimeLedgerEntry"; var JobPSPLine: Record "KVSPSAJobPSPLine"; BatchCall: Boolean; var IsHandled: Boolean)
begin
end;
Parameters:
JobTimeLedgerEntry
: The job time ledger entry that will be modified during the work package change operation.JobPSPLine
: The job PSP line containing the new work package information to be applied.BatchCall
: Indicates whether this procedure is called as part of a batch operation.IsHandled
: Boolean flag indicating whether the event has been handled by a subscriber, preventing standard processing.
KVSPSAOnBeforeFindJobAccountInChangeWPinJobLedgerEntryBatch(Record Job Ledger Entry, Code[10]) :#
Summary: Integration event raised before finding job account information during work package change in job ledger entry batch operation. This event allows subscribers to modify the job ledger entry parameters used for account lookup.
[IntegrationEvent(false, false)]
local procedure KVSPSAOnBeforeFindJobAccountInChangeWPinJobLedgerEntryBatch(var TempJobLedgerEntry: Record "Job Ledger Entry" temporary; var JobType: Code[10]):
[EventSubscriber(ObjectType::Codeunit, Codeunit::"KVSPSAEntryChangingManagement", 'KVSPSAOnBeforeFindJobAccountInChangeWPinJobLedgerEntryBatch', '', false, false)]
local procedure DoSomethingKVSPSAOnBeforeFindJobAccountInChangeWPinJobLedgerEntryBatch(var TempJobLedgerEntry: Record "Job Ledger Entry" temporary; var JobType: Code[10])
begin
end;
Parameters:
TempJobLedgerEntry
: The temporary job ledger entry record used for job account lookup that can be modified.JobType
: The job type code that can be modified by subscribers.
KVSPSAOnBeforeGetOwnJobJournalBatch(Record Job Journal Batch, Boolean) :#
Summary: Integration event raised before getting the user's own job journal batch. This event allows subscribers to provide a custom job journal batch or prevent the standard batch retrieval process.
[IntegrationEvent(false, false)]
local procedure KVSPSAOnBeforeGetOwnJobJournalBatch(var JobJournalBatch: Record "Job Journal Batch"; var IsHandled: Boolean):
[EventSubscriber(ObjectType::Codeunit, Codeunit::"KVSPSAEntryChangingManagement", 'KVSPSAOnBeforeGetOwnJobJournalBatch', '', false, false)]
local procedure DoSomethingKVSPSAOnBeforeGetOwnJobJournalBatch(var JobJournalBatch: Record "Job Journal Batch"; var IsHandled: Boolean)
begin
end;
Parameters:
JobJournalBatch
: The job journal batch record that can be populated by subscribers.IsHandled
: Boolean flag indicating whether the event has been handled by a subscriber, preventing standard processing.
KVSPSAOnCheckJobLedgerEntry(Record Job Ledger Entry, Boolean, Boolean) :#
Summary: Integration event raised during job ledger entry validation checks. This event allows subscribers to perform additional validation or checks on the job ledger entry.
[IntegrationEvent(false, false)]
local procedure KVSPSAOnCheckJobLedgerEntry(JobLedgerEntry: Record "Job Ledger Entry"; TestCorrection: Boolean; WithCorrection: Boolean):
[EventSubscriber(ObjectType::Codeunit, Codeunit::"KVSPSAEntryChangingManagement", 'KVSPSAOnCheckJobLedgerEntry', '', false, false)]
local procedure DoSomethingKVSPSAOnCheckJobLedgerEntry(JobLedgerEntry: Record "Job Ledger Entry"; TestCorrection: Boolean; WithCorrection: Boolean)
begin
end;
Parameters:
JobLedgerEntry
: The job ledger entry being validated.TestCorrection
: Indicates whether correction entry validation should be performed.WithCorrection
: Indicates whether the entry is part of a correction process.
KVSPSAOnCheckJobTimeLedgerEntry(Record KVSPSAJobTimeLedgerEntry, Boolean) :#
Summary: Integration event raised during job time ledger entry validation checks. This event allows subscribers to perform additional validation or checks on the job time ledger entry.
[IntegrationEvent(false, false)]
local procedure KVSPSAOnCheckJobTimeLedgerEntry(JobTimeLedgerEntry: Record "KVSPSAJobTimeLedgerEntry"; TestCorrection: Boolean):
[EventSubscriber(ObjectType::Codeunit, Codeunit::"KVSPSAEntryChangingManagement", 'KVSPSAOnCheckJobTimeLedgerEntry', '', false, false)]
local procedure DoSomethingKVSPSAOnCheckJobTimeLedgerEntry(JobTimeLedgerEntry: Record "KVSPSAJobTimeLedgerEntry"; TestCorrection: Boolean)
begin
end;
Parameters:
JobTimeLedgerEntry
: The job time ledger entry being validated.TestCorrection
: Indicates whether correction entry validation should be performed.
KVSPSAOnInsertJobJournalLineOnBeforeModify(Record Job Journal Line, Record Job Ledger Entry, Record KVSPSAJobPSPLine) :#
Summary: Integration event raised before modifying a job journal line during insertion. This event allows subscribers to modify the job journal line before it is saved.
[IntegrationEvent(false, false)]
local procedure KVSPSAOnInsertJobJournalLineOnBeforeModify(var JobJournalLine: Record "Job Journal Line"; JobLedgerEntry: Record "Job Ledger Entry"; JobPSPLine: Record "KVSPSAJobPSPLine"):
[EventSubscriber(ObjectType::Codeunit, Codeunit::"KVSPSAEntryChangingManagement", 'KVSPSAOnInsertJobJournalLineOnBeforeModify', '', false, false)]
local procedure DoSomethingKVSPSAOnInsertJobJournalLineOnBeforeModify(var JobJournalLine: Record "Job Journal Line"; JobLedgerEntry: Record "Job Ledger Entry"; JobPSPLine: Record "KVSPSAJobPSPLine")
begin
end;
Parameters:
JobJournalLine
: The job journal line that will be modified and can be updated by subscribers.JobLedgerEntry
: The source job ledger entry used to populate the journal line.JobPSPLine
: The job PSP line containing work package information for the journal line.
KVSPSAOnJobLedgerEntryCreateDimAfterAddDimSource(Record Job Ledger Entry, List) :#
[IntegrationEvent(false, false)]
local procedure KVSPSAOnJobLedgerEntryCreateDimAfterAddDimSource(var JobLedgerEntry: Record "Job Ledger Entry"; var DefaultDimSource: List):
[EventSubscriber(ObjectType::Codeunit, Codeunit::"KVSPSAEntryChangingManagement", 'KVSPSAOnJobLedgerEntryCreateDimAfterAddDimSource', '', false, false)]
local procedure DoSomethingKVSPSAOnJobLedgerEntryCreateDimAfterAddDimSource(var JobLedgerEntry: Record "Job Ledger Entry"; var DefaultDimSource: List)
begin
end;
KVSPSAOnJobTimeLedgerEntryCreateDimAfterAddDimSource(Record KVSPSAJobTimeLedgerEntry, List) :#
[IntegrationEvent(false, false)]
local procedure KVSPSAOnJobTimeLedgerEntryCreateDimAfterAddDimSource(var JobTimeLedgerEntry: Record "KVSPSAJobTimeLedgerEntry"; var DefaultDimSource: List):
[EventSubscriber(ObjectType::Codeunit, Codeunit::"KVSPSAEntryChangingManagement", 'KVSPSAOnJobTimeLedgerEntryCreateDimAfterAddDimSource', '', false, false)]
local procedure DoSomethingKVSPSAOnJobTimeLedgerEntryCreateDimAfterAddDimSource(var JobTimeLedgerEntry: Record "KVSPSAJobTimeLedgerEntry"; var DefaultDimSource: List)
begin
end;