Skip to content

KVSPSAJobPSPLine#

Fields#

Name Type Note
Job No. Code[20]
Version No. Code[20]
Line No. Integer
Phase Code Code[20]
Task Code Code[20]
Step Code Code[20]
Type Option OptionMembers: ,Work Package,Heading,Begin-Total,End-Total,Heading-Sum,Block
No. Code[20]
Starting Date Date
Description Text[100]
Quantity Decimal
Direct Unit Cost (LCY) Decimal
Unit Cost (LCY) Decimal
Total Cost (Budget LCY) Decimal FlowField
Unit Price (LCY) Decimal
Total Price (Budget LCY) Decimal FlowField
Manual Unit Price Boolean
Date Filter Date FlowFilter
Qty. (Job Budget) Decimal FlowField
Total Cost (LCY) Decimal
Total Price (LCY) Decimal
Job Budget Name Code[10]
Active Boolean
Comment Integer FlowField
Previous Text Boolean FlowField
Indentation Integer
Subtotal Total Cost (Budget) Decimal
Subtotal Total Price (Budget) Decimal
Subtotal Total Cost Decimal FlowField
Subtotal Total Price (LCY) Decimal FlowField
Position No. Code[20]
Totaling Text[30]
Usage Quantity (Base) Decimal FlowField
Usage Total Cost (LCY) Decimal FlowField
Usage Total Price (LCY) Decimal FlowField
Ending Date Date
Blocked Boolean
Job Status Enum Job Status FlowField
Work Status Enum (KVSPSAWorkStatusType)
After Text Boolean FlowField
Job Ledger Entry Exist Boolean FlowField
Shortcut Dimension 1 Code Code[20]
Shortcut Dimension 2 Code Code[20]
Dimension Set ID Integer
Subtotal Total Cost (Usage) Decimal
Subtotal Total Price (Usage) Decimal
Subtotal Qty. (Budget) Decimal
Subtotal Qty. (Usage) Decimal
Subtotal Total Qty. Decimal FlowField
Subtotal Total Sales Qty. Decimal FlowField
Subtotal SalesQuoteAmt Decimal
Subtotal SalesOrderAmt Decimal
Subtotal SalesInvoiceAmt Decimal
KVSPSAInvoicing Type Enum (KVSPSAPspInvoicingType)
Subtotal SalesOrderOutstdAmt Decimal
Subtotal Line Disc. Amt (LCY) Decimal FlowField
Work Type Code Code[10]
Requisition Boolean
Description 2 Text[50]
Differing Sales Description Text[100]
Differing Sales Description 2 Text[50]
Location Code Code[10]
Bin Code Code[20]
Invoicing Quantity Decimal
Manual Invoicing Quantity Boolean
Suspend from Invoice Boolean
KVSPSAInvoicUnitOfMeasureCode Code[10]
Unit of Measure Code Code[10]
Sale Quantity (Base) Decimal FlowField
Sale - Total Cost (LCY) Decimal FlowField
Sale - Total Price (LCY) Decimal FlowField
Sale Subtotal Total Cost (LCY) Decimal
SaleSubtotal Total Price (LCY) Decimal
Sale Subtotal Qty. (LCY) Decimal
Budget Line Existing Boolean FlowField
Outstanding Sales Total Price Decimal
Subtotal Outstand. Sale Price Decimal
Calculation Formula Existing Boolean FlowField
Job Progress % Decimal
Posting Progress % Decimal
Subtotal Posting Progress Decimal
Posting Progress incl. Commit. Decimal
Subtotal Posting Progress Comm Decimal
Earned Value Decimal
Cost Variance Decimal
Cost Variance % Decimal
Estimated Total Cost Decimal
Earned Value Subtotal Decimal
Cost Variance Subtotal Decimal
Cost Variance % Subtotal Decimal
Estimated Total Cost Subtotal Decimal
Order Decimal
No. of Precursors Integer FlowField
Precursors Text[250]
Level No. Integer
Milestone Boolean
Copy from Line No. Integer
KVSPSATo-Do Progress Integer
Commitment (LCY) Decimal FlowField
Subtotal Commitment (LCY) Decimal
Time Commitment Decimal FlowField
Time Cost Commitment (LCY) Decimal FlowField
Subtotal Time Commitment Decimal
Subtotal Time Cost Com. (LCY) Decimal
Variance Qty Decimal
Variance Total Cost Decimal
Posted Time Qty. Decimal FlowField
Resource Filter Code[20] FlowFilter
Belongs to Line Integer
Line Discount % Decimal
Line Discount Amount (LCY) Decimal
Cost Factor Decimal
Profit Decimal
Profit % Decimal
Actual Profit Decimal
Actual Profit Percent Decimal
Calc. Outst. Sales Price Type Option OptionMembers: ,Budget-Invoice,Used-Invoice,KVSPSAInvoice Ledger Entry,Milestoneplan,Budget-POC-Invoice
Transfer in Sales Doc Option OptionMembers: PSP-Line,Budget-Lines,,No Transfer
PSPStatus Enum Job Status
Budget calculation Boolean
Invoicing Delimination Boolean
Invoicing Delimination % Decimal
Invoicing Integration Option OptionMembers: PSP-Line,Budget-Lines,,No Transfer
Use as bundle Boolean
Esti. Amt to Compl. Bud. (LCY) Decimal FlowField
Time Posting w. Progress Boolean
Stock Liability Decimal Warning: Obsolete
StockLiability Decimal FlowField
Sales Budget Blocked Boolean
Closing Date Date
Calculation Base EVA Option OptionMembers: PSP,Budget
To-Do Progress PSP Integer
Automatic Progess Calculation Boolean
Sales Invoice Amount Decimal FlowField
Sales Order Amount Decimal FlowField
Sales Quote Amount Decimal FlowField
Budget Line Disc. Amount (LCY) Decimal FlowField
Payment Plan Entry Filter Integer FlowFilter
Sales Order Outstd. Amount Decimal FlowField
Show in Res. Capacity Plan Option OptionMembers: Budget,Job To-Do's
Ignore Paym.-Plan in Inv-Sugg. Boolean
Assigned as Milestone Base Boolean FlowField
ActualExpansionStatus Integer
Usage Invoicing Qty. Decimal FlowField
Subtotal Usage Invoicing Qty. Decimal
PSP Line Selected by User Code[50]
WP-BOM in Usage Boolean
Duration in Days Integer
Planning Type Option OptionMembers: Automatic,Manual
No Consideration in Planning Boolean
Fixed Starting Date Boolean
Fixed Ending Date Boolean
No. of Successors Integer FlowField
Successors Text[250]
Subproject Manager Code[20]
Subproject Manager Name Text[100] FlowField
Invoice Currency Factor Decimal
Invoice Currency Date Date
Unit Price (ICY) Decimal
Total Price (ICY) Decimal
Line Discount Amount (ICY) Decimal
Total Price Budget (ICY) Decimal FlowField
Budget Line Disc. Amount (ICY) Decimal FlowField
Subtotal Total Price Decimal FlowField
Subtotal Line Disc. Amt Decimal FlowField
Job Invoice Currency Code Code[10] FlowField
Usage Total Price Decimal FlowField
Sale - Total Price Decimal FlowField
Sale - Line Amount (LCY) Decimal FlowField
Sale - Line Amount Decimal Warning: Obsolete
Sale - Discount Amount (LCY) Decimal FlowField
Sale - Discount Amount Decimal Warning: Obsolete
Qty. post. Inv. Ledger Decimal FlowField
Inv. Qty. post. Inv. Ledger Decimal FlowField
IC Partner Code Code[20]
Status IC Post Processing Option OptionMembers: ,Open,Processed
Source IC Partner Work Package Code[20]
Source IC Partner Phase Code Code[20]
Source IC Partner Task Code Code[20]
Source IC Partner Step Code Code[20]
Qty. IC Obligo (Base) Decimal FlowField
Total Price IC Obligo (LCY) Decimal FlowField
New Starting Date (PL) Date
New Ending Date (PL) Date
New Duration in Days (PL) Integer
Planning Conflict (PL) Boolean
Phase Code (Template) Code[20]
Task Code (Template) Code[20]
Step Code (Template) Code[20]
Template No. Code[20]
Template Line No. Integer
Sell-to Customer No. Code[20]
Sell-to Customer Name Text[100] FlowField
Bill-to Customer No. Code[20]
Bill-to Customer Name Text[100] FlowField
Budget Status Option OptionMembers: ,in check,released,rejected
Created by Sales Document Boolean

Procedures#

BudgetIntoPSPLine(Decimal, Decimal, Decimal, Decimal, Decimal) :#

procedure BudgetIntoPSPLine(CostSum: Decimal; PriceSum: Decimal; DiscountSum: Decimal; PriceSumFCY: Decimal; DiscountSumFCY: Decimal): 

BudgetIntoPSPLineWithQuestion() :#

procedure BudgetIntoPSPLineWithQuestion(): 

CalcMileStonePaymentPlans(Boolean) :#

procedure CalcMileStonePaymentPlans(ForAdvance: Boolean): 

CalcQtyperUOM(Boolean) : Decimal#

procedure CalcQtyperUOM(Invoicing: Boolean): Decimal

CalcStockLiability() : Decimal#

procedure CalcStockLiability(): Decimal

ChangeDate() :#

procedure ChangeDate(): 

CheckConsistence(Boolean) :#

procedure CheckConsistence(FromInsertTrigger: Boolean): 

CheckPaymentPlanTotal(Option) :#

procedure CheckPaymentPlanTotal(MessageType: Option): 

ClearIndentationForCurrentHeader() :#

procedure ClearIndentationForCurrentHeader(): 

CreateDim(List) :#

procedure CreateDim(DefaultDimSource: List): 

CreateNewUserTask() :#

procedure CreateNewUserTask(): 

DocumentNavigate() :#

procedure DocumentNavigate(): 

DrillDownBudgetField() :#

procedure DrillDownBudgetField(): 

DrillDownCommitment() :#

procedure DrillDownCommitment(): 

DrillDownSalesAmountField(Option) :#

procedure DrillDownSalesAmountField(DocType: Option): 

DrillDownSalesField() :#

procedure DrillDownSalesField(): 

DrillDownTimeCommitment(Option) :#

procedure DrillDownTimeCommitment(TimeCommitmentType: Option): 

DrillDownUsageField() :#

procedure DrillDownUsageField(): 

ExplodeBlock() :#

procedure ExplodeBlock(): 

ExplodeBomAndRecalculateSums() :#

procedure ExplodeBomAndRecalculateSums(): 

FillSumLinesForPage() :#

procedure FillSumLinesForPage(): 

FindPrice(Integer) :#

Summary: Find Unit Price

procedure FindPrice(CalledByFieldNo: Integer): 

FindUnitCost(Integer) :#

Summary: Find Unit Cost

procedure FindUnitCost(CalledByFieldNo: Integer): 

GetFilteredBudgetLinesForWBSLine(Record KVSPSA Job Budget Line) :#

Summary: GetFilteredBudgetLinesForWBSLine filters the JobBudgetline on the primary key fields. Other filters will be cleared (with reset)

procedure GetFilteredBudgetLinesForWBSLine(var JobBudgetLine: Record "KVSPSA Job Budget Line"): 

Parameters:

  • JobBudgetLine:

GetFilteredBudgetLinesForWBSLine(Record KVSPSA Job Budget Line, Integer) :#

Summary: GetFilteredBudgetLinesForWBSLine filters the JobBudgetline on the primary key fields. The filters will be set in the filter group to use, and is reset to 0. Other filters will be cleared (with reset)

procedure GetFilteredBudgetLinesForWBSLine(var JobBudgetLine: Record "KVSPSA Job Budget Line"; FilterGroupToUse: Integer): 

Parameters:

  • FilterGroupToUse: The filter group, which is used for the primary key filters.
  • JobBudgetLine: Returns the filtered budget lines.

Example: If you use filtergroup, the user cannot remove the filter. This is good for lookups.

GetLineNoAndUniquePos() : Text#

procedure GetLineNoAndUniquePos(): Text

GetLineTypeStyle(Boolean) : Text#

procedure GetLineTypeStyle(ForSums: Boolean): Text

InitNewRecord() :#

procedure InitNewRecord(): 

InsertTextWorkPackage() :#

procedure InsertTextWorkPackage(): 

InvCurrencyAssist() :#

procedure InvCurrencyAssist(): 

JobLedgerEntryExisting(Record KVSPSAJobPSPLine) : Boolean#

Summary: Check if Job Ledger Entries exist for actual Job WBS Line

procedure JobLedgerEntryExisting(JobPSPLine: Record "KVSPSAJobPSPLine"): Boolean

KVSPSACalcInvoicingQuantity(Decimal) : Decimal#

Summary: Calculates the invoicing quantity from the planning quantity.

procedure KVSPSACalcInvoicingQuantity(PlanningQuantity: Decimal): Decimal

Parameters:

  • PlanningQuantity:

Returns:

KVSPSACalcToDoProgress() :#

Summary: KVSPSACalcToDoProgress: Calculates the total progress of the assigned budget lines. for each line, the budget quantity will be taken as the target, and the progress will be calculated using the progress % - field. (not the posted quantities!)

         the field KVSPSATo-Do Progress will be filled, the record not modified.
procedure KVSPSACalcToDoProgress(): 

KVSPSACalcToDoProgressAndPSPCombined() :#

Summary: KVSPSACalcToDoProgressAndPSPCombined: Calculates the total progress of the assigned budget lines. for each line, the budget quantity will be taken as the target, and the progress will be calculated using the progress % - field. (not the posted quantities!)

         the fields KVSPSATo-Do Progress and To-Do Progress PSP will be filled, the record not modified.
procedure KVSPSACalcToDoProgressAndPSPCombined(): 

KVSPSAExplodeBOM() :#

Summary: Transfers all lines of a work package bom, if it exists, into budget lines.

procedure KVSPSAExplodeBOM(): 

ModifyWorkPackageLinesFromBeginTotal(Option) :#

procedure ModifyWorkPackageLinesFromBeginTotal(FieldToChange: Option): 

MovePSPLine() :#

procedure MovePSPLine(): 

NewLine(Record KVSPSAJobPSPLine, Boolean) :#

procedure NewLine(var JobPSPLine: Record "KVSPSAJobPSPLine"; InsertLineBefore: Boolean): 

PSPBudgetExisting() : Boolean#

Summary: PSPBudgetExisting tells you, if a budgetline exists for the psp line.

procedure PSPBudgetExisting(): Boolean

Returns: true, if at least one budget line has been created, and false, if no line exists.

RecalcWPBOM() :#

Summary: Recalc Work Package BOM

procedure RecalcWPBOM(): 

SetDontSetStatusToHeader() :#

procedure SetDontSetStatusToHeader(): 

SetHideDialogs(Boolean) :#

Summary: Hide Dialogs

procedure SetHideDialogs(NewValue: Boolean): 

SetSkipWPText(Boolean) :#

Summary: Allows skipping the texts of a work package

procedure SetSkipWPText(SkipWPText: Boolean): 

Parameters:

  • SkipWPText:

ShowBudget() :#

procedure ShowBudget(): 

ShowCommentLines() :#

procedure ShowCommentLines(): 

ShowDimensions() :#

procedure ShowDimensions(): 

ShowInteractionLogEntries() :#

procedure ShowInteractionLogEntries(): 

ShowJobPaymentPlan(Record KVSPSAJobPSPLine) :#

procedure ShowJobPaymentPlan(KVSPSAJobPSPLine: Record "KVSPSAJobPSPLine"): 

ShowMilestoneLinksToLine() :#

procedure ShowMilestoneLinksToLine(): 

ShowShortcutDimCode(Code[20]) :#

procedure ShowShortcutDimCode(var ShortcutDimCode: Code[20]): 

ShowTaskLinksFromLine() :#

procedure ShowTaskLinksFromLine(): 

ShowTaskLinksToLine() :#

procedure ShowTaskLinksToLine(): 

ShowTextLines(Enum KVSKBATextPosition) :#

procedure ShowTextLines(TextPosition: Enum "KVSKBATextPosition"): 

ShowWPStatistic() :#

procedure ShowWPStatistic(): 

SuspendJobBlockedCheck(Boolean) :#

procedure SuspendJobBlockedCheck(Suspend: Boolean): 

TransferBudgetQty() :#

procedure TransferBudgetQty(): 

UpdateJobPayPlanToMilestoneLines() :#

procedure UpdateJobPayPlanToMilestoneLines(): 

UpdateSalesPriceFCY() :#

procedure UpdateSalesPriceFCY(): 

UpdateSalesPriceLCY() :#

procedure UpdateSalesPriceLCY(): 

ValidateShortcutDimCode(Integer, Code[20]) :#

procedure ValidateShortcutDimCode(FieldNumber: Integer; var ShortcutDimCode: Code[20]): 

Events#

KVSPSAOnAfterBudgetIntoPSPLine(Record KVSPSAJobPSPLine) :#

[IntegrationEvent(false, false)]
local procedure KVSPSAOnAfterBudgetIntoPSPLine(var JobPSPLine: Record "KVSPSAJobPSPLine"): 
[EventSubscriber(ObjectType::Table, Table::"KVSPSAJobPSPLine", 'KVSPSAOnAfterBudgetIntoPSPLine', '', false, false)]
local procedure DoSomethingKVSPSAOnAfterBudgetIntoPSPLine(var JobPSPLine: Record "KVSPSAJobPSPLine")
begin
end;

KVSPSAOnAfterFillSumLinesForPage(Record KVSPSAJobPSPLine) :#

[IntegrationEvent(false, false)]
local procedure KVSPSAOnAfterFillSumLinesForPage(var JobPSPLine: Record "KVSPSAJobPSPLine"): 
[EventSubscriber(ObjectType::Table, Table::"KVSPSAJobPSPLine", 'KVSPSAOnAfterFillSumLinesForPage', '', false, false)]
local procedure DoSomethingKVSPSAOnAfterFillSumLinesForPage(var JobPSPLine: Record "KVSPSAJobPSPLine")
begin
end;

KVSPSAOnAfterInitNewRecord(Record KVSPSAJobPSPLine) :#

[IntegrationEvent(false, false)]
local procedure KVSPSAOnAfterInitNewRecord(var JobPSPLine: Record "KVSPSAJobPSPLine"): 
[EventSubscriber(ObjectType::Table, Table::"KVSPSAJobPSPLine", 'KVSPSAOnAfterInitNewRecord', '', false, false)]
local procedure DoSomethingKVSPSAOnAfterInitNewRecord(var JobPSPLine: Record "KVSPSAJobPSPLine")
begin
end;

KVSPSAOnAfterTransferBOMToBudgetLine(Record KVSPSAJobPSPLine, Record KVSPSA Job Budget Line) :#

[IntegrationEvent(false, false)]
local procedure KVSPSAOnAfterTransferBOMToBudgetLine(var JobPSPLine: Record "KVSPSAJobPSPLine"; var JobBudgetLine: Record "KVSPSA Job Budget Line"): 
[EventSubscriber(ObjectType::Table, Table::"KVSPSAJobPSPLine", 'KVSPSAOnAfterTransferBOMToBudgetLine', '', false, false)]
local procedure DoSomethingKVSPSAOnAfterTransferBOMToBudgetLine(var JobPSPLine: Record "KVSPSAJobPSPLine"; var JobBudgetLine: Record "KVSPSA Job Budget Line")
begin
end;

KVSPSAOnAfterTransferWorkPackageFieldToPSPLine(Record KVSPSAJobPSPLine, Record KVSPSAWork Package) :#

[IntegrationEvent(false, false)]
local procedure KVSPSAOnAfterTransferWorkPackageFieldToPSPLine(var JobPSPLine: Record "KVSPSAJobPSPLine"; WorkPackage: Record "KVSPSAWork Package"): 
[EventSubscriber(ObjectType::Table, Table::"KVSPSAJobPSPLine", 'KVSPSAOnAfterTransferWorkPackageFieldToPSPLine', '', false, false)]
local procedure DoSomethingKVSPSAOnAfterTransferWorkPackageFieldToPSPLine(var JobPSPLine: Record "KVSPSAJobPSPLine"; WorkPackage: Record "KVSPSAWork Package")
begin
end;

KVSPSAOnBeforeAskForBudgetUpdateWhenChangingFromWithoutCalc(Record KVSPSAJobPSPLine, Boolean, Boolean) :#

[IntegrationEvent(false, false)]
local procedure KVSPSAOnBeforeAskForBudgetUpdateWhenChangingFromWithoutCalc(JobPSPLine: Record "KVSPSAJobPSPLine"; var Result: Boolean; var IsHandled: Boolean): 
[EventSubscriber(ObjectType::Table, Table::"KVSPSAJobPSPLine", 'KVSPSAOnBeforeAskForBudgetUpdateWhenChangingFromWithoutCalc', '', false, false)]
local procedure DoSomethingKVSPSAOnBeforeAskForBudgetUpdateWhenChangingFromWithoutCalc(JobPSPLine: Record "KVSPSAJobPSPLine"; var Result: Boolean; var IsHandled: Boolean)
begin
end;

KVSPSAOnBeforeBudgetIntoPSPLine(Record KVSPSAJobPSPLine, Decimal, Decimal, Decimal, Decimal, Decimal, Boolean) :#

[IntegrationEvent(false, false)]
local procedure KVSPSAOnBeforeBudgetIntoPSPLine(var JobPSPLine: Record "KVSPSAJobPSPLine"; var CostSum: Decimal; var PriceSum: Decimal; var DiscountSum: Decimal; var PriceSumFCY: Decimal; var DiscountSumFCY: Decimal; var IsHandled: Boolean): 
[EventSubscriber(ObjectType::Table, Table::"KVSPSAJobPSPLine", 'KVSPSAOnBeforeBudgetIntoPSPLine', '', false, false)]
local procedure DoSomethingKVSPSAOnBeforeBudgetIntoPSPLine(var JobPSPLine: Record "KVSPSAJobPSPLine"; var CostSum: Decimal; var PriceSum: Decimal; var DiscountSum: Decimal; var PriceSumFCY: Decimal; var DiscountSumFCY: Decimal; var IsHandled: Boolean)
begin
end;

KVSPSAOnBeforeCalcToDoProgress(Record KVSPSA Job Budget Line, Record KVSPSAJobPSPLine, Boolean) :#

[IntegrationEvent(false, false)]
local procedure KVSPSAOnBeforeCalcToDoProgress(var JobBudgetLine: Record "KVSPSA Job Budget Line"; var JobPSPLine: Record "KVSPSAJobPSPLine"; var IsHandled: Boolean): 
[EventSubscriber(ObjectType::Table, Table::"KVSPSAJobPSPLine", 'KVSPSAOnBeforeCalcToDoProgress', '', false, false)]
local procedure DoSomethingKVSPSAOnBeforeCalcToDoProgress(var JobBudgetLine: Record "KVSPSA Job Budget Line"; var JobPSPLine: Record "KVSPSAJobPSPLine"; var IsHandled: Boolean)
begin
end;

KVSPSAOnBeforeCalcToDoProgressAndPSPCombinedForBudget(Record KVSPSA Job Budget Line, Record KVSPSAJobPSPLine, Boolean) :#

[IntegrationEvent(false, false)]
local procedure KVSPSAOnBeforeCalcToDoProgressAndPSPCombinedForBudget(var JobBudgetLine: Record "KVSPSA Job Budget Line"; var JobPSPLine: Record "KVSPSAJobPSPLine"; var IsHandled: Boolean): 
[EventSubscriber(ObjectType::Table, Table::"KVSPSAJobPSPLine", 'KVSPSAOnBeforeCalcToDoProgressAndPSPCombinedForBudget', '', false, false)]
local procedure DoSomethingKVSPSAOnBeforeCalcToDoProgressAndPSPCombinedForBudget(var JobBudgetLine: Record "KVSPSA Job Budget Line"; var JobPSPLine: Record "KVSPSAJobPSPLine"; var IsHandled: Boolean)
begin
end;

KVSPSAOnBeforeConfirmRecalcWPBOM(Record KVSPSAJobPSPLine, Boolean, Boolean, Integer) :#

[IntegrationEvent(false, false)]
local procedure KVSPSAOnBeforeConfirmRecalcWPBOM(var JobPSPLine: Record "KVSPSAJobPSPLine"; var DoRecalcWPBOM: Boolean; var IsHandled: Boolean; CurrFieldNo: Integer): 
[EventSubscriber(ObjectType::Table, Table::"KVSPSAJobPSPLine", 'KVSPSAOnBeforeConfirmRecalcWPBOM', '', false, false)]
local procedure DoSomethingKVSPSAOnBeforeConfirmRecalcWPBOM(var JobPSPLine: Record "KVSPSAJobPSPLine"; var DoRecalcWPBOM: Boolean; var IsHandled: Boolean; CurrFieldNo: Integer)
begin
end;

KVSPSAOnBeforeCreateDim(Record KVSPSAJobPSPLine, Boolean, List) :#

[IntegrationEvent(false, false)]
local procedure KVSPSAOnBeforeCreateDim(var JobPSPLine: Record "KVSPSAJobPSPLine"; var IsHandled: Boolean; var DefaultDimSource: List): 
[EventSubscriber(ObjectType::Table, Table::"KVSPSAJobPSPLine", 'KVSPSAOnBeforeCreateDim', '', false, false)]
local procedure DoSomethingKVSPSAOnBeforeCreateDim(var JobPSPLine: Record "KVSPSAJobPSPLine"; var IsHandled: Boolean; var DefaultDimSource: List)
begin
end;

KVSPSAOnBeforeExplodeBOM(Record KVSPSAJobPSPLine, Boolean) :#

[IntegrationEvent(false, false)]
local procedure KVSPSAOnBeforeExplodeBOM(var JobPSPLine: Record "KVSPSAJobPSPLine"; var IsHandled: Boolean): 
[EventSubscriber(ObjectType::Table, Table::"KVSPSAJobPSPLine", 'KVSPSAOnBeforeExplodeBOM', '', false, false)]
local procedure DoSomethingKVSPSAOnBeforeExplodeBOM(var JobPSPLine: Record "KVSPSAJobPSPLine"; var IsHandled: Boolean)
begin
end;

KVSPSAOnBeforeFillBudgetCalculation(Record KVSPSAJobPSPLine, Record KVSPSAWork Package, Boolean) :#

[IntegrationEvent(false, false)]
local procedure KVSPSAOnBeforeFillBudgetCalculation(var JobPSPLine: Record "KVSPSAJobPSPLine"; WorkPackage: Record "KVSPSAWork Package"; var IsHandled: Boolean): 
[EventSubscriber(ObjectType::Table, Table::"KVSPSAJobPSPLine", 'KVSPSAOnBeforeFillBudgetCalculation', '', false, false)]
local procedure DoSomethingKVSPSAOnBeforeFillBudgetCalculation(var JobPSPLine: Record "KVSPSAJobPSPLine"; WorkPackage: Record "KVSPSAWork Package"; var IsHandled: Boolean)
begin
end;

KVSPSAOnBeforeJobLedgerEntryExisting(Record KVSPSAJobPSPLine, Boolean) :#

[IntegrationEvent(false, false)]
local procedure KVSPSAOnBeforeJobLedgerEntryExisting(var JobPSPLine: Record "KVSPSAJobPSPLine"; var IsHandled: Boolean): 
[EventSubscriber(ObjectType::Table, Table::"KVSPSAJobPSPLine", 'KVSPSAOnBeforeJobLedgerEntryExisting', '', false, false)]
local procedure DoSomethingKVSPSAOnBeforeJobLedgerEntryExisting(var JobPSPLine: Record "KVSPSAJobPSPLine"; var IsHandled: Boolean)
begin
end;

KVSPSAOnBeforeTransferBOMToBudgetLine(Record KVSPSAJobPSPLine, Record KVSPSA Job Budget Line) :#

[IntegrationEvent(false, false)]
local procedure KVSPSAOnBeforeTransferBOMToBudgetLine(var JobPSPLine: Record "KVSPSAJobPSPLine"; var JobBudgetLine: Record "KVSPSA Job Budget Line"): 
[EventSubscriber(ObjectType::Table, Table::"KVSPSAJobPSPLine", 'KVSPSAOnBeforeTransferBOMToBudgetLine', '', false, false)]
local procedure DoSomethingKVSPSAOnBeforeTransferBOMToBudgetLine(var JobPSPLine: Record "KVSPSAJobPSPLine"; var JobBudgetLine: Record "KVSPSA Job Budget Line")
begin
end;

KVSPSAOnBeforeTransferBudgetQty(Record KVSPSAJobPSPLine, Boolean) :#

[IntegrationEvent(false, false)]
local procedure KVSPSAOnBeforeTransferBudgetQty(var JobPSPLine: Record "KVSPSAJobPSPLine"; var IsHandled: Boolean): 
[EventSubscriber(ObjectType::Table, Table::"KVSPSAJobPSPLine", 'KVSPSAOnBeforeTransferBudgetQty', '', false, false)]
local procedure DoSomethingKVSPSAOnBeforeTransferBudgetQty(var JobPSPLine: Record "KVSPSAJobPSPLine"; var IsHandled: Boolean)
begin
end;

KVSPSAOnBeforeUpdateSalesPriceFCY(Record KVSPSAJobPSPLine, Code[10]) :#

[IntegrationEvent(false, false)]
local procedure KVSPSAOnBeforeUpdateSalesPriceFCY(var JobPSPLine: Record "KVSPSAJobPSPLine"; var JobInvoiceCurrencyCode: Code[10]): 
[EventSubscriber(ObjectType::Table, Table::"KVSPSAJobPSPLine", 'KVSPSAOnBeforeUpdateSalesPriceFCY', '', false, false)]
local procedure DoSomethingKVSPSAOnBeforeUpdateSalesPriceFCY(var JobPSPLine: Record "KVSPSAJobPSPLine"; var JobInvoiceCurrencyCode: Code[10])
begin
end;

KVSPSAOnBeforeValidateInvoicingQuantityAndPricesInInvoicingType(Record KVSPSAJobPSPLine, Boolean, Record KVSPSAJobPSPLine) :#

[IntegrationEvent(false, false)]
local procedure KVSPSAOnBeforeValidateInvoicingQuantityAndPricesInInvoicingType(var JobPSPLine: Record "KVSPSAJobPSPLine"; var IsHandled: Boolean; var xJobPSPLine: Record "KVSPSAJobPSPLine"): 
[EventSubscriber(ObjectType::Table, Table::"KVSPSAJobPSPLine", 'KVSPSAOnBeforeValidateInvoicingQuantityAndPricesInInvoicingType', '', false, false)]
local procedure DoSomethingKVSPSAOnBeforeValidateInvoicingQuantityAndPricesInInvoicingType(var JobPSPLine: Record "KVSPSAJobPSPLine"; var IsHandled: Boolean; var xJobPSPLine: Record "KVSPSAJobPSPLine")
begin
end;