Skip to content

KVSPSAJob Document Line#

Fields#

Name Type Note
Document Type Enum (KVSPSAJob Document Type)
Line No. Integer
Job No. Code[20]
Document No. Code[20]
Type Enum (KVSPSAJobDocumentLineType)
No. Code[20]
Description Text[100]
Quantity Decimal
Direct Unit Cost (LCY) Decimal
Unit Cost (LCY) Decimal
Total Cost (LCY) Decimal
Unit Price (LCY) Decimal
Total Price (LCY) Decimal
Resource Group No. Code[20]
Unit of Measure Code Code[10]
Description 2 Text[50]
Unit of Measure Text[50]
Location Code Code[10]
Chargeable Boolean
Invoicing Quantity Decimal
KVSPSAInvoicUnitOfMeasureCode Code[10]
Invoicing Qty. per UOM Decimal
Invoicing Quantity (Base) Decimal
Posting Group Code[20]
Shortcut Dimension 1 Code Code[20]
Shortcut Dimension 2 Code Code[20]
Work Type Code Code[10]
Price Group Code Code[10]
Dimension Set ID Integer
Appl.-to Item Entry Integer
Phase Code Code[20]
Task Code Code[20]
Step Code Code[20]
KVSPSAInvoicing Type Enum (KVSPSAPspInvoicingType)
Entry Type Enum Job Journal Line Entry Type
Source Code Code[10]
Profit % Decimal
Post Job Entry Only Boolean
Recurring Method Option OptionMembers: ,Fixed,Variable
Expiration Date Date
Recurring Frequency Code[20]
Gen. Bus. Posting Group Code[20]
Gen. Prod. Posting Group Code[20]
Transaction Type Code[10]
Transport Method Code[10]
Country/Region Code Code[10]
EntryExitPoint Code[10]
Document Date Date
External Document No. Code[35]
KVSPSAArea Code[10]
Transaction Specification Code[10]
Posting No. Series Code[20]
Source Currency Code Code[10]
Source Currency Total Cost Decimal
Source Currency Total Price Decimal
Shipment Date Date
Gross Weight Decimal
Net Weight Decimal
Unit Volume Decimal
Quantity to perform Decimal
Quantity to perform (Base) Decimal
Outstanding Amount (LCY) Decimal
Work Package Code Code[20]
Budget Line No. Integer
Job Inventory (Base) Decimal FlowField
Cost Factor Decimal
Fixed Job Price Boolean
Line Discount % Decimal
Line Discount Amount (LCY) Decimal
Line Discount Amount Decimal
Unit Price Decimal
Total Price Decimal
No Usage Posting Boolean
Completely Shipped Boolean
To-Do No. Code[20]
Job Invoice Currency Code Code[10] FlowField
Invoice Currency Date Date
Invoice Currency Factor Decimal
Variant Code Code[10]
Bin Code Code[20]
Qty. per Unit of Measure Decimal
Quantity (Base) Decimal
Quantity performed Decimal
Quantity performed (Base) Decimal
Remaining Quantity Decimal
Remaining Qty. (Base) Decimal
Whse. Outstanding Qty. (Base) Decimal FlowField
Position No. Code[20]
Totaling Text[30]
Indention Integer
Subtotal Decimal FlowField
SubtotalTotalCost Decimal FlowField
Job Entry No. Integer

Procedures#

ApplyDiscount(Interface Price Calculation) :#

procedure ApplyDiscount(var PriceCalculation: Interface "Price Calculation"): 

ApplyPrice(Integer, Interface Price Calculation) :#

procedure ApplyPrice(CalledByFieldNo: Integer; var PriceCalculation: Interface "Price Calculation"): 

CalcRemainingAmount() :#

Summary: This procedure calculate outstanding amount for job document line.

procedure CalcRemainingAmount(): 

ClearFieldCausedPriceCalculation() :#

Summary: This procedure clears value of GlobalFieldCausedPriceCalculation.

procedure ClearFieldCausedPriceCalculation(): 

CreateDim(List) :#

procedure CreateDim(DefaultDimSource: List): 

GetLineWithPrice(Interface Line With Price) :#

procedure GetLineWithPrice(var LineWithPrice: Interface "Line With Price"): 

GetPriceCalculationHandler(Enum Price Type, Interface Price Calculation) :#

procedure GetPriceCalculationHandler(PriceType: Enum "Price Type"; var PriceCalculation: Interface "Price Calculation"): 

IsInventoriableItem() : Boolean#

Summary: This procedure check if item in the job document line is inventoriable item or not.

procedure IsInventoriableItem(): Boolean

Returns: Return result of check if item is inventoriable item.

IsPriceCalcCalledByField(Integer) : Boolean#

Summary: Checks if the price calculation was triggered by a specific field.

procedure IsPriceCalcCalledByField(CurrPriceFieldNo: Integer): Boolean

Parameters:

  • CurrPriceFieldNo: The field number used for check.

Returns: True if the price calculation was triggered by the specified field, otherwise false.

PlanPriceCalcByField(Integer) :#

Summary: This procedure sets the value of GlobalFieldCausedPriceCalculation.

procedure PlanPriceCalcByField(CurrPriceFieldNo: Integer): 

Parameters:

  • CurrPriceFieldNo: The field number that caused the price calculation.

UpdateCurrencyFactor() :#

Summary: This procedure calculates invoice currency factor based on the job invoice currency code and the exchange rate.

procedure UpdateCurrencyFactor(): 

UpdateDirectUnitCost(Integer) :#

Summary: This procedure calculate direct unit cost for the job document line with direct validate direct unit cost.

procedure UpdateDirectUnitCost(CalledByFieldNo: Integer): 

Parameters:

  • CalledByFieldNo: Field No. used for condition.

UpdateSalesPriceLCY() :#

Summary: This procedure updates unit price in local currency (LCY) based on the job invoice currency code and the exchange rate.

procedure UpdateSalesPriceLCY(): 

UpdateUnitPrice(Integer, Boolean) :#

Summary: This procedure calculate unit price for the job document line with direct validate unit price.

procedure UpdateUnitPrice(CalledByFieldNo: Integer; UpdateDiscountOnly: Boolean): 

Parameters:

  • CalledByFieldNo: Field No. used for condition.
  • UpdateDiscountOnly: Flag to update discount only.

UpdateWithWarehouseShip() :#

Summary: This procedure update quantity to perform base on recipient type if line is inventoriable item.

procedure UpdateWithWarehouseShip(): 

Events#

KVSPSAOnAfterApplyPrice(Record KVSPSAJob Document Line, Record KVSPSAJob Document Line, Integer, Integer) :#

[IntegrationEvent(false, false)]
local procedure KVSPSAOnAfterApplyPrice(var JobDocumentLine: Record "KVSPSAJob Document Line"; xJobDocumentLine: Record "KVSPSAJob Document Line"; CalledByFieldNo: Integer; CurrFieldNo: Integer): 
[EventSubscriber(ObjectType::Table, Table::"KVSPSAJob Document Line", 'KVSPSAOnAfterApplyPrice', '', false, false)]
local procedure DoSomethingKVSPSAOnAfterApplyPrice(var JobDocumentLine: Record "KVSPSAJob Document Line"; xJobDocumentLine: Record "KVSPSAJob Document Line"; CalledByFieldNo: Integer; CurrFieldNo: Integer)
begin
end;

KVSPSAOnAfterGetLineWithPrice(Interface Line With Price) :#

[IntegrationEvent(true, false)]
local procedure KVSPSAOnAfterGetLineWithPrice(var LineWithPrice: Interface "Line With Price"): 
[EventSubscriber(ObjectType::Table, Table::"KVSPSAJob Document Line", 'KVSPSAOnAfterGetLineWithPrice', '', false, false)]
local procedure DoSomethingKVSPSAOnAfterGetLineWithPrice(var LineWithPrice: Interface "Line With Price")
begin
end;

KVSPSAOnAfterUpdateDirectUnitCost(Record KVSPSAJob Document Line, Record KVSPSAJob Document Line, Integer, Integer) :#

[IntegrationEvent(false, false)]
local procedure KVSPSAOnAfterUpdateDirectUnitCost(var JobDocumentLine: Record "KVSPSAJob Document Line"; xJobDocumentLine: Record "KVSPSAJob Document Line"; CalledByFieldNo: Integer; CurrFieldNo: Integer): 
[EventSubscriber(ObjectType::Table, Table::"KVSPSAJob Document Line", 'KVSPSAOnAfterUpdateDirectUnitCost', '', false, false)]
local procedure DoSomethingKVSPSAOnAfterUpdateDirectUnitCost(var JobDocumentLine: Record "KVSPSAJob Document Line"; xJobDocumentLine: Record "KVSPSAJob Document Line"; CalledByFieldNo: Integer; CurrFieldNo: Integer)
begin
end;

KVSPSAOnAfterUpdateDirectUnitCostProcedure(Record KVSPSAJob Document Line, Integer) :#

[IntegrationEvent(false, false)]
local procedure KVSPSAOnAfterUpdateDirectUnitCostProcedure(var JobDocumentLine: Record "KVSPSAJob Document Line"; CalledByFieldNo: Integer): 
[EventSubscriber(ObjectType::Table, Table::"KVSPSAJob Document Line", 'KVSPSAOnAfterUpdateDirectUnitCostProcedure', '', false, false)]
local procedure DoSomethingKVSPSAOnAfterUpdateDirectUnitCostProcedure(var JobDocumentLine: Record "KVSPSAJob Document Line"; CalledByFieldNo: Integer)
begin
end;

KVSPSAOnAfterUpdateUnitPrice(Record KVSPSAJob Document Line, Record KVSPSAJob Document Line, Integer, Integer, Boolean) :#

[IntegrationEvent(false, false)]
local procedure KVSPSAOnAfterUpdateUnitPrice(var JobDocumentLine: Record "KVSPSAJob Document Line"; xJJobDocumentLine: Record "KVSPSAJob Document Line"; CalledByFieldNo: Integer; CurrFieldNo: Integer; UpdateDiscountOnly: Boolean): 
[EventSubscriber(ObjectType::Table, Table::"KVSPSAJob Document Line", 'KVSPSAOnAfterUpdateUnitPrice', '', false, false)]
local procedure DoSomethingKVSPSAOnAfterUpdateUnitPrice(var JobDocumentLine: Record "KVSPSAJob Document Line"; xJJobDocumentLine: Record "KVSPSAJob Document Line"; CalledByFieldNo: Integer; CurrFieldNo: Integer; UpdateDiscountOnly: Boolean)
begin
end;

KVSPSAOnAfterUpdateUnitPriceProcedure(Record KVSPSAJob Document Line, Integer, Boolean) :#

[IntegrationEvent(false, false)]
local procedure KVSPSAOnAfterUpdateUnitPriceProcedure(var JobDocumentLine: Record "KVSPSAJob Document Line"; CalledByFieldNo: Integer; UpdateDiscountOnly: Boolean): 
[EventSubscriber(ObjectType::Table, Table::"KVSPSAJob Document Line", 'KVSPSAOnAfterUpdateUnitPriceProcedure', '', false, false)]
local procedure DoSomethingKVSPSAOnAfterUpdateUnitPriceProcedure(var JobDocumentLine: Record "KVSPSAJob Document Line"; CalledByFieldNo: Integer; UpdateDiscountOnly: Boolean)
begin
end;

KVSPSAOnAfterUpdateWithWarehouseShip(Record KVSPSAJob Document Line) :#

[IntegrationEvent(false, false)]
local procedure KVSPSAOnAfterUpdateWithWarehouseShip(var JobDocumentLine: Record "KVSPSAJob Document Line"): 
[EventSubscriber(ObjectType::Table, Table::"KVSPSAJob Document Line", 'KVSPSAOnAfterUpdateWithWarehouseShip', '', false, false)]
local procedure DoSomethingKVSPSAOnAfterUpdateWithWarehouseShip(var JobDocumentLine: Record "KVSPSAJob Document Line")
begin
end;

KVSPSAOnBeforeCheckWarehouse(Record KVSPSAJob Document Line, Boolean) :#

[IntegrationEvent(false, false)]
local procedure KVSPSAOnBeforeCheckWarehouse(var JobDocumentLine: Record "KVSPSAJob Document Line"; var IsHandled: Boolean): 
[EventSubscriber(ObjectType::Table, Table::"KVSPSAJob Document Line", 'KVSPSAOnBeforeCheckWarehouse', '', false, false)]
local procedure DoSomethingKVSPSAOnBeforeCheckWarehouse(var JobDocumentLine: Record "KVSPSAJob Document Line"; var IsHandled: Boolean)
begin
end;

KVSPSAOnBeforeCreateDim(Record KVSPSAJob Document Line, Boolean, List) :#

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

KVSPSAOnBeforeUpdateDirectUnitCost(Record KVSPSAJob Document Line, Record KVSPSAJob Document Line, Integer, Integer, Boolean) :#

[IntegrationEvent(false, false)]
local procedure KVSPSAOnBeforeUpdateDirectUnitCost(var JobDocumentLine: Record "KVSPSAJob Document Line"; xJobDocumentLine: Record "KVSPSAJob Document Line"; CalledByFieldNo: Integer; CurrFieldNo: Integer; var Handled: Boolean): 
[EventSubscriber(ObjectType::Table, Table::"KVSPSAJob Document Line", 'KVSPSAOnBeforeUpdateDirectUnitCost', '', false, false)]
local procedure DoSomethingKVSPSAOnBeforeUpdateDirectUnitCost(var JobDocumentLine: Record "KVSPSAJob Document Line"; xJobDocumentLine: Record "KVSPSAJob Document Line"; CalledByFieldNo: Integer; CurrFieldNo: Integer; var Handled: Boolean)
begin
end;

KVSPSAOnBeforeUpdateDirectUnitCostProcedure(Record KVSPSAJob Document Line, Integer, Boolean) :#

[IntegrationEvent(false, false)]
local procedure KVSPSAOnBeforeUpdateDirectUnitCostProcedure(var JobDocumentLine: Record "KVSPSAJob Document Line"; CalledByFieldNo: Integer; var IsHandled: Boolean): 
[EventSubscriber(ObjectType::Table, Table::"KVSPSAJob Document Line", 'KVSPSAOnBeforeUpdateDirectUnitCostProcedure', '', false, false)]
local procedure DoSomethingKVSPSAOnBeforeUpdateDirectUnitCostProcedure(var JobDocumentLine: Record "KVSPSAJob Document Line"; CalledByFieldNo: Integer; var IsHandled: Boolean)
begin
end;

KVSPSAOnBeforeUpdateUnitPrice(Record KVSPSAJob Document Line, Record KVSPSAJob Document Line, Integer, Integer, Boolean, Boolean) :#

[IntegrationEvent(false, false)]
local procedure KVSPSAOnBeforeUpdateUnitPrice(var JobDocumentLine: Record "KVSPSAJob Document Line"; xJobDocumentLine: Record "KVSPSAJob Document Line"; CalledByFieldNo: Integer; CurrFieldNo: Integer; UpdateDiscountOnly: Boolean; var Handled: Boolean): 
[EventSubscriber(ObjectType::Table, Table::"KVSPSAJob Document Line", 'KVSPSAOnBeforeUpdateUnitPrice', '', false, false)]
local procedure DoSomethingKVSPSAOnBeforeUpdateUnitPrice(var JobDocumentLine: Record "KVSPSAJob Document Line"; xJobDocumentLine: Record "KVSPSAJob Document Line"; CalledByFieldNo: Integer; CurrFieldNo: Integer; UpdateDiscountOnly: Boolean; var Handled: Boolean)
begin
end;

KVSPSAOnBeforeUpdateUnitPriceProcedure(Record KVSPSAJob Document Line, Integer, Boolean, Boolean) :#

[IntegrationEvent(false, false)]
local procedure KVSPSAOnBeforeUpdateUnitPriceProcedure(var JobDocumentLine: Record "KVSPSAJob Document Line"; CalledByFieldNo: Integer; UpdateDiscountOnly: Boolean; var IsHandled: Boolean): 
[EventSubscriber(ObjectType::Table, Table::"KVSPSAJob Document Line", 'KVSPSAOnBeforeUpdateUnitPriceProcedure', '', false, false)]
local procedure DoSomethingKVSPSAOnBeforeUpdateUnitPriceProcedure(var JobDocumentLine: Record "KVSPSAJob Document Line"; CalledByFieldNo: Integer; UpdateDiscountOnly: Boolean; var IsHandled: Boolean)
begin
end;

KVSPSAOnBeforeUpdateWithWarehouseShip(Record KVSPSAJob Document Line, Boolean) :#

[IntegrationEvent(false, false)]
local procedure KVSPSAOnBeforeUpdateWithWarehouseShip(var JobDocumentLine: Record "KVSPSAJob Document Line"; var IsHandled: Boolean): 
[EventSubscriber(ObjectType::Table, Table::"KVSPSAJob Document Line", 'KVSPSAOnBeforeUpdateWithWarehouseShip', '', false, false)]
local procedure DoSomethingKVSPSAOnBeforeUpdateWithWarehouseShip(var JobDocumentLine: Record "KVSPSAJob Document Line"; var IsHandled: Boolean)
begin
end;

KVSPSAOnCheckWarehouseOnBeforeShowDialog(Record KVSPSAJob Document Line, Record Location, Option, Text) :#

[IntegrationEvent(false, false)]
local procedure KVSPSAOnCheckWarehouseOnBeforeShowDialog(var JobDocumentLine: Record "KVSPSAJob Document Line"; Location: Record "Location"; var ShowDialog: Option; var DialogText: Text): 
[EventSubscriber(ObjectType::Table, Table::"KVSPSAJob Document Line", 'KVSPSAOnCheckWarehouseOnBeforeShowDialog', '', false, false)]
local procedure DoSomethingKVSPSAOnCheckWarehouseOnBeforeShowDialog(var JobDocumentLine: Record "KVSPSAJob Document Line"; Location: Record "Location"; var ShowDialog: Option; var DialogText: Text)
begin
end;

KVSPSAOnCheckWhseRecieveTypeCaseElse(Record KVSPSAJob Document Line, Record KVSPSAJob Document Header) :#

[IntegrationEvent(false, false)]
local procedure KVSPSAOnCheckWhseRecieveTypeCaseElse(var JobDocumentLine: Record "KVSPSAJob Document Line"; JobDocumentHeader: Record "KVSPSAJob Document Header"): 
[EventSubscriber(ObjectType::Table, Table::"KVSPSAJob Document Line", 'KVSPSAOnCheckWhseRecieveTypeCaseElse', '', false, false)]
local procedure DoSomethingKVSPSAOnCheckWhseRecieveTypeCaseElse(var JobDocumentLine: Record "KVSPSAJob Document Line"; JobDocumentHeader: Record "KVSPSAJob Document Header")
begin
end;