Skip to content

KVSEDX Management#

Procedures#

OnRun#

procedure OnRun(Rec: Record "#437dbf0e84ff417a965ded2bb9650972#Job Queue Entry")

GetCurrentDatabaseName() : Text#

Summary: Retrieves the current database name by querying the Active Session table for the current session and server instance.

procedure GetCurrentDatabaseName(): Text

Returns: The name of the current database, or empty text if not found.

ShowEDXInbound(Guid) :#

Summary: Displays EDX Inbound entries by opening a modal page filtered by Transmission GUID. First searches in active inbound records, then falls back to archived records if not found. Used by customer projects for viewing inbound document details.

procedure ShowEDXInbound(TransmissionIdPar: Guid): 

Parameters:

  • TransmissionIdPar: Transmission GUID to filter the inbound records

ShowEDXOutbound(Guid) :#

Summary: Displays EDX Outbound entries by opening a modal page filtered by Transmission GUID. First searches in active outbound records, then falls back to archived records if not found. Used by customer projects for viewing outbound document details.

procedure ShowEDXOutbound(TransmissionIdPar: Guid): 

Parameters:

  • TransmissionIdPar: Transmission GUID to filter the outbound records

LookUpRecordID(RecordId) :#

Summary: Opens the appropriate card or list page for a given RecordId based on the table type. Supports Customer, Item, and EDX Inbound/Outbound records (both active and archived).

procedure LookUpRecordID(SourceRecID: RecordId): 

Parameters:

  • SourceRecID: RecordId of the record to display

CheckField(Integer, Integer, Variant, Boolean) : Boolean#

Summary: Validates field values and performs type conversion based on field type definition. Supports conversion from text/variant to proper field types including Boolean, Integer, Decimal, Date, Time, DateTime, and GUID. Uses XML format evaluation when specified to handle XML-formatted input data.

procedure CheckField(TableNoPar: Integer; FieldNoPar: Integer; var VarConvertedVariant: Variant; XMLFormatPar: Boolean): Boolean

Parameters:

  • TableNoPar: Table number containing the field to validate
  • FieldNoPar: Field number to validate against
  • VarConvertedVariant: Input/output variant that will be converted to the proper field type
  • XMLFormatPar: Set to true to use XML format evaluation for type conversion

Returns: True if conversion was successful, false if the value cannot be converted to the target field type

CheckFieldLength(Integer, Integer, Variant) : Boolean#

Summary: Validates and truncates text/code field values to comply with database field length constraints. Only applies to Text and Code field types. Automatically truncates values that exceed the field length.

procedure CheckFieldLength(TableNoPar: Integer; FieldNoPar: Integer; var VarConvertedVariant: Variant): Boolean

Parameters:

  • TableNoPar: Table number containing the field
  • FieldNoPar: Field number to validate length against
  • VarConvertedVariant: Input/output value that will be truncated if too long

Returns: True if the original value fits within field length, false if truncation was performed

EqualFieldContent(RecordId, RecordId, Integer) : Boolean#

Summary: Compares the values of a specific field between source and target records. Opens RecordRef for both records and compares the field values directly. Used by customer projects for data validation and synchronization checks.

procedure EqualFieldContent(ParSourceRecordId: RecordId; ParTargetRecordId: RecordId; FieldNoPar: Integer): Boolean

Parameters:

  • ParSourceRecordId: RecordId of the source record to compare
  • ParTargetRecordId: RecordId of the target record to compare
  • FieldNoPar: Field number to compare between both records

Returns: True if the field values are equal, false if they differ

TransferDiffValues(Record KVSEDX Error Log) :#

Summary: Transfers corrected values from EDX Error Log entries to the corresponding source records. Processes each error log entry, validates and converts the transfer value based on field type, then updates the source record field. Records the transfer operation in the error log.

procedure TransferDiffValues(var VarKVSEDXErrorLog: Record "KVSEDX Error Log"): 

Parameters:

  • VarKVSEDXErrorLog: KVSEDX Error Log record set containing values to transfer to source records

CheckStatusChangeDiff(RecordId) :#

Summary: Validates or checks StatusChangeDiff conditions.

procedure CheckStatusChangeDiff(ParRecordId: RecordId): 

Parameters:

  • ParRecordId: Record identifier.

TransferBufferFields(Code[30], Code[30], RecordRef, RecordRef) :#

Summary: Transfers data or values between records or systems.

procedure TransferBufferFields(EDXPartnerNo: Code[30]; EDXDocument: Code[30]; SourceRecordRef: RecordRef; DestRecordRef: RecordRef): 

Parameters:

  • EDXPartnerNo: EDX partner number or code.
  • EDXDocument: EDX document code or setup.
  • SourceRecordRef: Source record or data.
  • DestRecordRef: Target record or destination.

InitializeBufferFields(Code[30], Code[30], RecordRef, Integer) : Boolean#

Summary: Initializes values or settings for BufferFields.

procedure InitializeBufferFields(EDXPartnerNoPar: Code[30]; EDXDocumentPar: Code[30]; ParSourceRecordRef: RecordRef; TableNoDestPar: Integer): Boolean

Parameters:

  • EDXPartnerNoPar: EDX partner number or code.
  • EDXDocumentPar: EDX document code or setup.
  • ParSourceRecordRef: Source record or data.
  • TableNoDestPar: Table number or reference.

Returns: True if operation succeeded, false otherwise.

CompareFieldDifferences(Code[30], Code[30], RecordRef, RecordRef) : Boolean#

Summary: Compares values or records for differences.

procedure CompareFieldDifferences(EDXPartnerNoPar: Code[30]; EDXDocumentPar: Code[30]; ParSourceRecordRef: RecordRef; ParDestRecordRef: RecordRef): Boolean

Parameters:

  • EDXPartnerNoPar: EDX partner number or code.
  • EDXDocumentPar: EDX document code or setup.
  • ParSourceRecordRef: Source record or data.
  • ParDestRecordRef: Target record or destination.

Returns: True if operation succeeded, false otherwise.

DataExchangeWizard(Record KVSEDX Setup, Boolean, Boolean) : Boolean#

Summary: This function is called up by the automatic test. Background: The InitialiseExpiryOfStoragePeriod function is only called if the "Expiry of storage period" switch is activated in the "DataExchangeWizard" page.

procedure DataExchangeWizard(var Setup: Record "KVSEDX Setup"; CalledFromWizardPar: Boolean; InitExpiry: Boolean): Boolean

Parameters:

  • Setup: Variable parameter for Setup.
  • CalledFromWizardPar: Variable parameter for CalledFromWizardPar.
  • InitExpiry: Variable parameter for InitExpiry.

Returns: True if operation succeeded, false otherwise.

DataExchangeWizard(Record KVSEDX Setup, Boolean) : Boolean#

Summary: Runs the DataExchangeWizard setup wizard.

procedure DataExchangeWizard(var VarKVSEDXSetup: Record "KVSEDX Setup"; CalledFromWizardPar: Boolean): Boolean

Parameters:

  • VarKVSEDXSetup: Variable parameter for VarKVSEDXSetup.
  • CalledFromWizardPar: Variable parameter for CalledFromWizardPar.

Returns: True if operation succeeded, false otherwise.

GetConst_INBOUND_TRANSMISSION() : Text#

Summary: Retrieves or gets Const_INBOUND_TRANSMISSION information.

procedure GetConst_INBOUND_TRANSMISSION(): Text

Returns: The result as text.

GetConst_INBOUND_TO_EDX_DOCUMENT() : Text#

Summary: Retrieves or gets Const_INBOUND_TO_EDX_DOCUMENT information.

procedure GetConst_INBOUND_TO_EDX_DOCUMENT(): Text

Returns: The result as text.

GetConst_INBOUND_POST_EDX_DOCUMENT() : Text#

Summary: Retrieves or gets Const_INBOUND_POST_EDX_DOCUMENT information.

procedure GetConst_INBOUND_POST_EDX_DOCUMENT(): Text

Returns: The result as text.

GetConst_OUTBOUND_SEND_NAV_DOCUMENT() : Text#

Summary: Retrieves or gets Const_OUTBOUND_SEND_NAV_DOCUMENT information.

procedure GetConst_OUTBOUND_SEND_NAV_DOCUMENT(): Text

Returns: The result as text.

GetConst_OUTBOUND_TRANSMISSION() : Text#

Summary: Retrieves or gets Const_OUTBOUND_TRANSMISSION information.

procedure GetConst_OUTBOUND_TRANSMISSION(): Text

Returns: The result as text.

GetConst_SEND_MAIL() : Text#

Summary: Retrieves or gets Const_SEND_MAIL information.

procedure GetConst_SEND_MAIL(): Text

Returns: The result as text.

GetConst_REORGANIZATION() : Text#

Summary: Retrieves or gets Const_REORGANIZATION information.

procedure GetConst_REORGANIZATION(): Text

Returns: The result as text.

CalcNextRuntime(Record KVSEDX Document Setup, DateTime) : DateTime#

Summary: Calculates NextRuntime values or results.

procedure CalcNextRuntime(ParKVSEDXDocumentSetup: Record "KVSEDX Document Setup"; StartingDateTimePar: DateTime): DateTime

Parameters:

  • ParKVSEDXDocumentSetup: EDX document code or setup.
  • StartingDateTimePar: Variable parameter for StartingDateTimePar.

Returns: The result of the operation.

CalcAvailQuantities(Code[20], Code[20], Date, Date, Record Item, Decimal, Decimal, Decimal, Decimal, Decimal, Decimal, Decimal, Date) :#

Summary: Calculates the availability of an item based on the "Availability by period". This method is used in customer projects.

procedure CalcAvailQuantities(ParLocationFilter: Code[20]; ParVariantFilter: Code[20]; ParStartDate: Date; ParEndDate: Date; ParItem: Record "Item"; var VarGrossRequirementVariant: Decimal; var VarPlannedOrderRcpt: Decimal; var VarScheduledRcpt: Decimal; var VarPlannedOrderReleases: Decimal; var VarProjAvailableBalance: Decimal; var VarExpectedInventory: Decimal; var VarQtyAvailable: Decimal; var VarPurchaseAvailabilityDate: Date): 

Parameters:

  • ParLocationFilter: Location Filter
  • ParVariantFilter: Variant Filter
  • ParStartDate: Period Startdate
  • ParEndDate: Period Enddate
  • ParItem: Item No.
  • VarGrossRequirementVariant: Returns Gross Requirement
  • VarPlannedOrderRcpt: Returns Planned Order Receipt
  • VarScheduledRcpt: Return Scheduled Receipt
  • VarPlannedOrderReleases: Returns Planned Order Releases
  • VarProjAvailableBalance: Return Available Balance
  • VarExpectedInventory: Return Expected Inventory
  • VarQtyAvailable: Returns Qty. Available
  • VarPurchaseAvailabilityDate: Returns Purchase Availability Date

InitializeBOMforCCMessage(Code[20], Record Production BOM Header, Record Production BOM Line) :#

Summary: Determines the production or assembly bill of materials for an item

procedure InitializeBOMforCCMessage(ItemNoPar: Code[20]; var TempVarProductionBOMHeader: Record "Production BOM Header" temporary; var TempVarProductionBOMLine: Record "Production BOM Line" temporary): 

Parameters:

  • ItemNoPar: Item No.
  • TempVarProductionBOMHeader: Referenced BOM Header (temp)
  • TempVarProductionBOMLine: Referenced BOM Line (temp)

GetServShptLines(Record Service Shipment Line, Record Service Invoice Line) :#

Summary: Retrieves or gets Service Shipment Lines information.

procedure GetServShptLines(var TempVarServiceShipmentLine: Record "Service Shipment Line" temporary; ParServiceInvoiceLine: Record "Service Invoice Line"): 

Parameters:

  • TempVarServiceShipmentLine: Variable parameter for TempVarServiceShipmentLine.
  • ParServiceInvoiceLine: Variable parameter for ParServiceInvoiceLine.

MapServiceLineType(Enum Service Line Type) : Integer#

procedure MapServiceLineType(ParServiceLineType: Enum "Service Line Type"): Integer

GetItemReferenceUOM(Enum KVSEDX Item Reference Type, Code[50], Enum KVSEDX Item Reference Field, Code[20], Code[50], Code[50], Code[10], Code[50], Code[10]) : Integer#

Summary: Retrieves or gets Item Reference and UOM information.

procedure GetItemReferenceUOM(ItemReferenceTypePar: Enum "KVSEDX Item Reference Type"; ItemReferenceTypeNoPar: Code[50]; ItemReferenceResultFieldPar: Enum "KVSEDX Item Reference Field"; ItemNoPar: Code[20]; CrossReferenceNoPar: Code[50]; UnitOfMeasureCodePar: Code[50]; VariantCodePar: Code[10]; var FieldValueVar: Code[50]; var UOMCodeVar: Code[10]): Integer

Parameters:

  • ItemReferenceTypePar: Variable parameter for ItemReferenceTypePar.
  • ItemReferenceTypeNoPar: Variable parameter for ItemReferenceTypeNoPar.
  • ItemReferenceResultFieldPar: Variable parameter for ItemReferenceResultFieldPar.
  • ItemNoPar: Variable parameter for ItemNoPar.
  • CrossReferenceNoPar: Variable parameter for CrossReferenceNoPar.
  • UnitOfMeasureCodePar: Variable parameter for UnitOfMeasureCodePar.
  • VariantCodePar: Variable parameter for VariantCodePar.
  • FieldValueVar: Variable parameter for FieldValueVar.
  • UOMCodeVar: Variable parameter for UOMCodeVar.

Returns: The result value as integer.

GetItemReference(Enum KVSEDX Item Reference Type, Code[50], Enum KVSEDX Item Reference Field, Code[20], Code[50], Code[50], Code[10], Code[50]) : Integer#

Summary: Retrieves or gets Item Reference information.

procedure GetItemReference(ItemReferenceTypePar: Enum "KVSEDX Item Reference Type"; ItemReferenceTypeNoPar: Code[50]; ItemReferenceResultFieldPar: Enum "KVSEDX Item Reference Field"; ItemNoPar: Code[20]; CrossReferenceNoPar: Code[50]; UnitOfMeasureCodePar: Code[50]; VariantCodePar: Code[10]; var FieldValueVar: Code[50]): Integer

Parameters:

  • ItemReferenceTypePar: Variable parameter for ItemReferenceTypePar.
  • ItemReferenceTypeNoPar: Variable parameter for ItemReferenceTypeNoPar.
  • ItemReferenceResultFieldPar: Variable parameter for ItemReferenceResultFieldPar.
  • ItemNoPar: Variable parameter for ItemNoPar.
  • CrossReferenceNoPar: Variable parameter for CrossReferenceNoPar.
  • UnitOfMeasureCodePar: Variable parameter for UnitOfMeasureCodePar.
  • VariantCodePar: Variable parameter for VariantCodePar.
  • FieldValueVar: Variable parameter for FieldValueVar.

Returns: The result value as integer.

GetItemReferenceFieldNo() : Integer#

Summary: Retrieves or gets ItemReferenceFieldNo information.

procedure GetItemReferenceFieldNo(): Integer

Returns: The result value as integer.

GetItemReferenceFieldValue(RecordRef) : Code[50]#

Summary: Retrieves or gets ItemReferenceFieldValue information.

procedure GetItemReferenceFieldValue(RecordRefPar: RecordRef): Code[50]

Parameters:

  • RecordRefPar: Record reference for data operations.

Returns: The result value as code.

SetItemReferenceFieldValue(RecordRef, Text, Integer) :#

Summary: Sets or updates ItemReferenceFieldValue values.

procedure SetItemReferenceFieldValue(ParRecordRef: RecordRef; ValuePar: Text; FieldNoPar: Integer): 

Parameters:

  • ParRecordRef: Record reference for data operations.
  • ValuePar: Variable parameter for ValuePar.
  • FieldNoPar: Field number or reference.

CreatePDFDocument(RecordRef, OutStream) : Boolean#

Summary: Creates a PDF document based on a BC document

procedure CreatePDFDocument(var RecordRefVar: RecordRef; var VarPDFOutStream: OutStream): Boolean

Parameters:

  • RecordRefVar: Source Record Reference
  • VarPDFOutStream: Stream for PDF Document

Returns:

CreateBase64Document(InStream, BigText) :#

Summary: Creates Base64 String

procedure CreateBase64Document(var VarPDFInStream: InStream; var VarPDFBase64BigText: BigText): 

Parameters:

  • VarPDFInStream: Stream with the data to be converted
  • VarPDFBase64BigText: Base64 Text

AllowHttpClientRequests() :#

Summary: Allow Http Client Requests

procedure AllowHttpClientRequests(): 

KBABridge_GetFieldValue(RecordId, Integer, Variant, Boolean) :#

Summary: Performs KBABridge_GetFieldValue operation.

procedure KBABridge_GetFieldValue(ParRecordId: RecordId; FieldNoPar: Integer; var VarValueVariant: Variant; var VarHandled: Boolean): 

Parameters:

  • ParRecordId: Record identifier.
  • FieldNoPar: Field number or reference.
  • VarValueVariant: Variable parameter for VarValueVariant.
  • VarHandled: Variable parameter for VarHandled.

KBABridge_SetRangeDPID_SSH_RRL(Record Sales Shipment Header, Record Return Receipt Line, Boolean) :#

Summary: Performs KBABridge_SetRangeDPID_SSH_RRL operation.

procedure KBABridge_SetRangeDPID_SSH_RRL(var VarSalesShipmentHeader: Record "Sales Shipment Header"; var VarReturnReceiptLine: Record "Return Receipt Line"; var VarHandled: Boolean): 

Parameters:

  • VarSalesShipmentHeader: Variable parameter for VarSalesShipmentHeader.
  • VarReturnReceiptLine: Variable parameter for VarReturnReceiptLine.
  • VarHandled: Variable parameter for VarHandled.

KBABridge_SetRangePosNrPRL(Record Purch. Rcpt. Line, Code[50], Boolean) :#

Summary: Performs KBABridge_SetRangePosNrPRL operation.

procedure KBABridge_SetRangePosNrPRL(var VarPurchRcptLine: Record "Purch. Rcpt. Line"; PositionNoPar: Code[50]; var VarHandled: Boolean): 

Parameters:

  • VarPurchRcptLine: Variable parameter for VarPurchRcptLine.
  • PositionNoPar: Variable parameter for PositionNoPar.
  • VarHandled: Variable parameter for VarHandled.

KBABridge_SetRangePosNrPOL(Record Purchase Line, Code[50], Boolean) :#

Summary: Performs KBABridge_SetRangePosNrPOL operation.

procedure KBABridge_SetRangePosNrPOL(var VarPurchaseLine: Record "Purchase Line"; ParPositionNo: Code[50]; var VarHandled: Boolean): 

Parameters:

  • VarPurchaseLine: Variable parameter for VarPurchaseLine.
  • ParPositionNo: Variable parameter for ParPositionNo.
  • VarHandled: Variable parameter for VarHandled.

KBABridge_SetSalesPriceManual(Record Sales Line, Boolean) :#

Summary: Performs KBABridge_SetSalesPriceManual operation.

procedure KBABridge_SetSalesPriceManual(var VarSalesLine: Record "Sales Line"; var VarHandled: Boolean): 

Parameters:

  • VarSalesLine: Variable parameter for VarSalesLine.
  • VarHandled: Variable parameter for VarHandled.

KBABridge_SetPurchasePriceManual(Record Purchase Line, Boolean) :#

Summary: Performs KBABridge_SetPurchasePriceManual operation.

procedure KBABridge_SetPurchasePriceManual(var VarPurchaseLine: Record "Purchase Line"; var VarHandled: Boolean): 

Parameters:

  • VarPurchaseLine: Variable parameter for VarPurchaseLine.
  • VarHandled: Variable parameter for VarHandled.

Invoke_OnKBABridge_MapSalesLineType(Variant, Boolean) :#

Summary: Performs Invoke_OnKBABridge_MapSalesLineType operation.

procedure Invoke_OnKBABridge_MapSalesLineType(var TypeVariant: Variant; var HandledVar: Boolean): 

Parameters:

  • TypeVariant: Variable parameter for TypeVariant.
  • HandledVar: Variable parameter for HandledVar.

Invoke_OnKBABridge_MapPurchaseLineType(Variant, Boolean) :#

Summary: Performs Invoke_OnKBABridge_MapPurchaseLineType operation.

procedure Invoke_OnKBABridge_MapPurchaseLineType(var VarTypeVariant: Variant; var VarHandled: Boolean): 

Parameters:

  • VarTypeVariant: Variable parameter for VarTypeVariant.
  • VarHandled: Variable parameter for VarHandled.

TestAzureConnection(Record KVSEDX Setup, Record KVSEDX Document Setup) :#

Summary: Performs TestAzureConnection operation.

procedure TestAzureConnection(var VarKVSEDXSetup: Record "KVSEDX Setup"; ParKVSEDXDocumentSetup: Record "KVSEDX Document Setup"): 

Parameters:

  • VarKVSEDXSetup: Variable parameter for VarKVSEDXSetup.
  • ParKVSEDXDocumentSetup: EDX document code or setup.

IsolatedStorageSet(Guid, Text) :#

Summary: Transfers the value to the isolated storage

[NonDebuggable()]
procedure IsolatedStorageSet(var GuidVar: Guid; SharedAccessKey: Text): 

Parameters:

  • GuidVar: Isolated Storage GUID
  • SharedAccessKey: new Value

IsolatedStorageContains(Guid) : Boolean#

Summary: Determines whether the storage contains a value with the specified key.

[NonDebuggable()]
procedure IsolatedStorageContains(GuidPar: Guid): Boolean

Parameters:

  • GuidPar: Isolated Storage GUID

Returns: true if containes Guid

IsolatedStorageGet(Guid) : Text#

Summary: Fetches the value from the Isolated Storage

[NonDebuggable()]
procedure IsolatedStorageGet(GuidPar: Guid): Text

Parameters:

  • GuidPar: Isolated Storage GUID

Returns: Value

IsolatedStorageSetHasValue(Guid) : Boolean#

Summary: Checks whether a value is stored in isolated storage

[NonDebuggable()]
procedure IsolatedStorageSetHasValue(GuidPar: Guid): Boolean

Parameters:

  • GuidPar: Isolated Storage GUID

Returns: true if value is stored

SetTransmissionInterface(Interface KVSEDXiTransmission, Enum KVSEDX Transmission Type) : Boolean#

[TryFunction()]
procedure SetTransmissionInterface(var KVSEDXiTransmissionVar: Interface "KVSEDXiTransmission"; KVSEDXTransmissionTypePar: Enum "KVSEDX Transmission Type"): Boolean

Events#

OnLookUpProjectTable(RecordId, Boolean) :#

Summary: Integration event for custom project-specific record lookup functionality. This event allows subscribers to implement lookup logic for custom tables or records not handled by the standard EDX system. Use this event to extend the lookup functionality with project-specific pages and record types.

[IntegrationEvent(true, false)]
local procedure OnLookUpProjectTable(RecordIDPar: RecordId; var HandledVar: Boolean): 
[EventSubscriber(ObjectType::Codeunit, Codeunit::"KVSEDX Management", 'OnLookUpProjectTable', '', false, false)]
local procedure DoSomethingOnLookUpProjectTable(RecordIDPar: RecordId; var HandledVar: Boolean)
begin
end;

Parameters:

  • RecordIDPar: RecordId of the record to look up
  • HandledVar: Set to true if custom lookup logic has handled the record lookup

OnGetDefaultValue(RecordRef, Integer, Text, Variant, Boolean) :#

Summary: Integration event for custom default value determination during field processing. This event allows subscribers to implement custom logic for calculating default values based on field setup and record context. Use this event to extend default value calculation with project-specific business rules and logic.

[IntegrationEvent(true, false)]
local procedure OnGetDefaultValue(RecordRefPar: RecordRef; FieldNoPar: Integer; DefaultValuePar: Text; var NewValueVar: Variant; var ValueSet: Boolean): 
[EventSubscriber(ObjectType::Codeunit, Codeunit::"KVSEDX Management", 'OnGetDefaultValue', '', false, false)]
local procedure DoSomethingOnGetDefaultValue(RecordRefPar: RecordRef; FieldNoPar: Integer; DefaultValuePar: Text; var NewValueVar: Variant; var ValueSet: Boolean)
begin
end;

Parameters:

  • RecordRefPar: RecordRef of the record being processed
  • FieldNoPar: Field number for which default value is being determined
  • DefaultValuePar: Default value text from field setup
  • NewValueVar: Output parameter containing the calculated default value
  • ValueSet: Set to true if custom logic has determined a default value

OnWizardRegisterWebservice() :#

Summary: Integration event fired during EDX setup wizard to register custom web services. This event allows subscribers to register project-specific web services during the EDX configuration process. Use this event to automatically set up required web services for custom EDX integrations.

[IntegrationEvent(true, false)]
local procedure OnWizardRegisterWebservice(): 
[EventSubscriber(ObjectType::Codeunit, Codeunit::"KVSEDX Management", 'OnWizardRegisterWebservice', '', false, false)]
local procedure DoSomethingOnWizardRegisterWebservice()
begin
end;

OnWizardRegisterNoSeries() :#

Summary: Integration event fired during EDX setup wizard to register custom number series. This event allows subscribers to create and configure project-specific number series during the EDX setup process. Use this event to automatically set up number series for custom EDX documents and processes.

[IntegrationEvent(true, false)]
local procedure OnWizardRegisterNoSeries(): 
[EventSubscriber(ObjectType::Codeunit, Codeunit::"KVSEDX Management", 'OnWizardRegisterNoSeries', '', false, false)]
local procedure DoSomethingOnWizardRegisterNoSeries()
begin
end;

OnBeforeCalcNextRuntime(Record KVSEDX Document Setup, DateTime, DateTime, Boolean) :#

Summary: Integration event fired before calculating the next runtime for EDX document processing. This event allows subscribers to implement custom runtime calculation logic based on document setup and business rules. Use this event to override standard scheduling behavior with project-specific timing requirements.

[IntegrationEvent(true, false)]
local procedure OnBeforeCalcNextRuntime(ParKVSEDXDocumentSetup: Record "KVSEDX Document Setup"; ParStartingDateTime: DateTime; var VarNewRunDateTime: DateTime; var VarHandledVar: Boolean): 
[EventSubscriber(ObjectType::Codeunit, Codeunit::"KVSEDX Management", 'OnBeforeCalcNextRuntime', '', false, false)]
local procedure DoSomethingOnBeforeCalcNextRuntime(ParKVSEDXDocumentSetup: Record "KVSEDX Document Setup"; ParStartingDateTime: DateTime; var VarNewRunDateTime: DateTime; var VarHandledVar: Boolean)
begin
end;

Parameters:

  • ParKVSEDXDocumentSetup: EDX document setup record containing scheduling configuration
  • ParStartingDateTime: Starting date/time for runtime calculation
  • VarNewRunDateTime: Output parameter containing the calculated next runtime
  • VarHandledVar: Set to true if custom logic has calculated the runtime

OnInitializeBOMforCCMessage(Code[20], Boolean, Boolean) :#

Summary: The event is fired for each document line ( shipment, invoice...). The event can be used to decide whether the production/assembly parts list should be exploded in the message.

[IntegrationEvent(true, false)]
local procedure OnInitializeBOMforCCMessage(ItemNoPar: Code[20]; var FillBOMVar: Boolean; var HandledVar: Boolean): 
[EventSubscriber(ObjectType::Codeunit, Codeunit::"KVSEDX Management", 'OnInitializeBOMforCCMessage', '', false, false)]
local procedure DoSomethingOnInitializeBOMforCCMessage(ItemNoPar: Code[20]; var FillBOMVar: Boolean; var HandledVar: Boolean)
begin
end;

Parameters:

  • ItemNoPar: Current Item No.
  • FillBOMVar: Set to true if BOM is to be listed
  • HandledVar: Set to true if custom logic has handled the processing

OnBeforeInsertTempProductionBOMLine(Record Production BOM Header, Record Production BOM Line, Boolean) :#

Obsolete

This Element will be removed or changed with a future Version of the App.

Summary: The event is fired for each component of the production/assembly parts list. The event can be used to decide whether the component in the message should be exploded. If TempProductionBOMHeader. "No." = "Assembly", then it is an assembly parts list!

[Obsolete('Use Event OnBeforeInsertBOMComponent for assembly or OnBeforeInsertProductionBOMLine for production', '24.0')]
[IntegrationEvent(true, false)]
local procedure OnBeforeInsertTempProductionBOMLine(var TempProductionBOMHeader: Record "Production BOM Header" temporary; var TempProductionBOMLine: Record "Production BOM Line" temporary; var IsHandled: Boolean): 
[EventSubscriber(ObjectType::Codeunit, Codeunit::"KVSEDX Management", 'OnBeforeInsertTempProductionBOMLine', '', false, false)]
local procedure DoSomethingOnBeforeInsertTempProductionBOMLine(var TempProductionBOMHeader: Record "Production BOM Header" temporary; var TempProductionBOMLine: Record "Production BOM Line" temporary; var IsHandled: Boolean)
begin
end;

Parameters:

  • TempVarProductionBOMHeader: Production-/Assembly Header
  • TempVarProductionBOMLine: Production-/Assembly Line
  • IsHandled: Set to true if BOM Component is not to be listed

OnBeforeInsertBOMComponent(Record Production BOM Header, Record Production BOM Line, Record BOM Component, Boolean) :#

Summary: The event is fired for each component of the assembly parts list. The event can be used to decide whether the component in the message should be exploded. If TempProductionBOMHeader. "No." = "Assembly", then it is an assembly parts list!

[IntegrationEvent(true, false)]
local procedure OnBeforeInsertBOMComponent(var TempProductionBOMHeader: Record "Production BOM Header" temporary; var TempProductionBOMLine: Record "Production BOM Line" temporary; var BOMComponent: Record "BOM Component"; var IsHandled: Boolean): 
[EventSubscriber(ObjectType::Codeunit, Codeunit::"KVSEDX Management", 'OnBeforeInsertBOMComponent', '', false, false)]
local procedure DoSomethingOnBeforeInsertBOMComponent(var TempProductionBOMHeader: Record "Production BOM Header" temporary; var TempProductionBOMLine: Record "Production BOM Line" temporary; var BOMComponent: Record "BOM Component"; var IsHandled: Boolean)
begin
end;

Parameters:

  • TempProductionBOMHeader: Production-/Assembly Header
  • TempProductionBOMLine: Production-/Assembly Line
  • BOMComponent: Current BOM Component
  • IsHandled: Set to true if BOM Component is not to be listed

OnBeforeInsertProductionBOMLine(Record Production BOM Header, Record Production BOM Line, Record Production BOM Line, Boolean) :#

Summary: The event is fired for each component of the production parts list. The event can be used to decide whether the component in the message should be exploded. If TempProductionBOMHeader. "No." = "Assembly", then it is an assembly parts list!

[IntegrationEvent(true, false)]
local procedure OnBeforeInsertProductionBOMLine(var TempProductionBOMHeader: Record "Production BOM Header" temporary; var TempProductionBOMLine: Record "Production BOM Line" temporary; var ProductionBOMLine: Record "Production BOM Line"; var IsHandled: Boolean): 
[EventSubscriber(ObjectType::Codeunit, Codeunit::"KVSEDX Management", 'OnBeforeInsertProductionBOMLine', '', false, false)]
local procedure DoSomethingOnBeforeInsertProductionBOMLine(var TempProductionBOMHeader: Record "Production BOM Header" temporary; var TempProductionBOMLine: Record "Production BOM Line" temporary; var ProductionBOMLine: Record "Production BOM Line"; var IsHandled: Boolean)
begin
end;

Parameters:

  • TempProductionBOMHeader: Production-/Assembly Header
  • TempProductionBOMLine: Production-/Assembly Line
  • ProductionBOMLine: Current Production BOM Line
  • IsHandled: Set to true if Production BOM Line is not to be listed

OnKBABridge_GetFieldValue(RecordId, Integer, Variant, Boolean) :#

Summary: Integration event for custom field value retrieval using KBA Bridge functionality. This event allows subscribers to provide custom logic for retrieving field values from specific records. Use this event to implement project-specific field value calculations or mappings.

[IntegrationEvent(true, false)]
local procedure OnKBABridge_GetFieldValue(RecIdPar: RecordId; FieldNoPar: Integer; var ValueVar: Variant; var HandledVar: Boolean): 
[EventSubscriber(ObjectType::Codeunit, Codeunit::"KVSEDX Management", 'OnKBABridge_GetFieldValue', '', false, false)]
local procedure DoSomethingOnKBABridge_GetFieldValue(RecIdPar: RecordId; FieldNoPar: Integer; var ValueVar: Variant; var HandledVar: Boolean)
begin
end;

Parameters:

  • RecIdPar: RecordId of the record from which to retrieve the field value
  • FieldNoPar: Field number to retrieve
  • ValueVar: Output parameter containing the retrieved field value
  • HandledVar: Set to true if custom logic has handled the field value retrieval

OnKBABridge_SetRangeDPID_SSH_RRL(Record Sales Shipment Header, Record Return Receipt Line, Boolean) :#

Summary: Integration event for setting custom range filters on Sales Shipment Header and Return Receipt Line records. This event allows subscribers to implement project-specific filtering logic for document processing. Use this event to establish custom relationships between shipments and return receipts.

[IntegrationEvent(true, false)]
local procedure OnKBABridge_SetRangeDPID_SSH_RRL(var SalesShipmentHeaderVar: Record "Sales Shipment Header"; var ReturnReceiptLine: Record "Return Receipt Line"; var HandledVar: Boolean): 
[EventSubscriber(ObjectType::Codeunit, Codeunit::"KVSEDX Management", 'OnKBABridge_SetRangeDPID_SSH_RRL', '', false, false)]
local procedure DoSomethingOnKBABridge_SetRangeDPID_SSH_RRL(var SalesShipmentHeaderVar: Record "Sales Shipment Header"; var ReturnReceiptLine: Record "Return Receipt Line"; var HandledVar: Boolean)
begin
end;

Parameters:

  • SalesShipmentHeaderVar: Sales Shipment Header record to filter
  • ReturnReceiptLine: Return Receipt Line record for reference
  • HandledVar: Set to true if custom filtering logic has been applied

OnKBABridge_SetRangePosNrPRL(Record Purch. Rcpt. Line, Code[50], Boolean) :#

Summary: Integration event for setting position number range filters on Purchase Receipt Lines. This event allows subscribers to implement custom filtering logic based on position numbers. Use this event to establish custom line matching in purchase receipt processing.

[IntegrationEvent(true, false)]
local procedure OnKBABridge_SetRangePosNrPRL(var PurchRcptLineVar: Record "Purch. Rcpt. Line"; PositionNoPar: Code[50]; var HandledVar: Boolean): 
[EventSubscriber(ObjectType::Codeunit, Codeunit::"KVSEDX Management", 'OnKBABridge_SetRangePosNrPRL', '', false, false)]
local procedure DoSomethingOnKBABridge_SetRangePosNrPRL(var PurchRcptLineVar: Record "Purch. Rcpt. Line"; PositionNoPar: Code[50]; var HandledVar: Boolean)
begin
end;

Parameters:

  • PurchRcptLineVar: Purchase Receipt Line record to filter
  • PositionNoPar: Position number to use for filtering
  • HandledVar: Set to true if custom filtering logic has been applied

OnKBABridge_SetRangePosNrPOL(Record Purchase Line, Code[50], Boolean) :#

Summary: Integration event for setting position number range filters on Purchase Order Lines. This event allows subscribers to implement custom filtering logic based on position numbers. Use this event to establish custom line matching in purchase order processing.

[IntegrationEvent(true, false)]
local procedure OnKBABridge_SetRangePosNrPOL(var PurchaseLineVar: Record "Purchase Line"; PositionNoPar: Code[50]; var HandledVar: Boolean): 
[EventSubscriber(ObjectType::Codeunit, Codeunit::"KVSEDX Management", 'OnKBABridge_SetRangePosNrPOL', '', false, false)]
local procedure DoSomethingOnKBABridge_SetRangePosNrPOL(var PurchaseLineVar: Record "Purchase Line"; PositionNoPar: Code[50]; var HandledVar: Boolean)
begin
end;

Parameters:

  • PurchaseLineVar: Purchase Line record to filter
  • PositionNoPar: Position number to use for filtering
  • HandledVar: Set to true if custom filtering logic has been applied

OnKBABridge_SetSalesPriceManual(Record Sales Line, Boolean) :#

Summary: Integration event for implementing custom sales price calculation logic. This event allows subscribers to override standard pricing with manual or custom calculations. Use this event to implement project-specific pricing rules and calculations.

[IntegrationEvent(true, false)]
local procedure OnKBABridge_SetSalesPriceManual(var SalesLineVar: Record "Sales Line"; var HandledVar: Boolean): 
[EventSubscriber(ObjectType::Codeunit, Codeunit::"KVSEDX Management", 'OnKBABridge_SetSalesPriceManual', '', false, false)]
local procedure DoSomethingOnKBABridge_SetSalesPriceManual(var SalesLineVar: Record "Sales Line"; var HandledVar: Boolean)
begin
end;

Parameters:

  • SalesLineVar: Sales Line record for which to set custom pricing
  • HandledVar: Set to true if custom pricing logic has been applied

OnKBABridge_SetPurchasePriceManual(Record Purchase Line, Boolean) :#

Summary: Integration event for implementing custom purchase price calculation logic. This event allows subscribers to override standard pricing with manual or custom calculations. Use this event to implement project-specific purchase pricing rules and calculations.

[IntegrationEvent(true, false)]
local procedure OnKBABridge_SetPurchasePriceManual(var VarPurchaseLineVar: Record "Purchase Line"; var VarHandled: Boolean): 
[EventSubscriber(ObjectType::Codeunit, Codeunit::"KVSEDX Management", 'OnKBABridge_SetPurchasePriceManual', '', false, false)]
local procedure DoSomethingOnKBABridge_SetPurchasePriceManual(var VarPurchaseLineVar: Record "Purchase Line"; var VarHandled: Boolean)
begin
end;

Parameters:

  • VarPurchaseLineVar: Purchase Line record for which to set custom pricing
  • VarHandled: Set to true if custom pricing logic has been applied

OnKBABridge_MapSalesLineType(Variant, Boolean) :#

Summary: Integration event for mapping sales line types during EDX processing. This event allows subscribers to implement custom type mapping logic for sales documents. Use this event to handle project-specific line type mappings and conversions.

[IntegrationEvent(true, false)]
local procedure OnKBABridge_MapSalesLineType(var TypeVariant: Variant; var HandledVar: Boolean): 
[EventSubscriber(ObjectType::Codeunit, Codeunit::"KVSEDX Management", 'OnKBABridge_MapSalesLineType', '', false, false)]
local procedure DoSomethingOnKBABridge_MapSalesLineType(var TypeVariant: Variant; var HandledVar: Boolean)
begin
end;

Parameters:

  • TypeVariant: Line type variant to be mapped
  • HandledVar: Set to true if custom type mapping has been performed

OnKBABridge_MapPurchaseLineType(Variant, Boolean) :#

Summary: Integration event for mapping purchase line types during EDX processing. This event allows subscribers to implement custom type mapping logic for purchase documents. Use this event to handle project-specific line type mappings and conversions.

[IntegrationEvent(true, false)]
local procedure OnKBABridge_MapPurchaseLineType(var TypeVariant: Variant; var HandledVar: Boolean): 
[EventSubscriber(ObjectType::Codeunit, Codeunit::"KVSEDX Management", 'OnKBABridge_MapPurchaseLineType', '', false, false)]
local procedure DoSomethingOnKBABridge_MapPurchaseLineType(var TypeVariant: Variant; var HandledVar: Boolean)
begin
end;

Parameters:

  • TypeVariant: Line type variant to be mapped
  • HandledVar: Set to true if custom type mapping has been performed

OnDebug(Boolean) :#

Summary: Integration event for custom debug functionality in EDX processing. This event allows subscribers to implement custom debugging logic and event handling. Use this event to hook into EDX processing for troubleshooting and monitoring purposes.

[IntegrationEvent(true, false)]
local procedure OnDebug(var IsHandledVar: Boolean): 
[EventSubscriber(ObjectType::Codeunit, Codeunit::"KVSEDX Management", 'OnDebug', '', false, false)]
local procedure DoSomethingOnDebug(var IsHandledVar: Boolean)
begin
end;

Parameters:

  • IsHandledVar: Set to true if custom debug logic has been executed

OnBeforeTransferBufferFields(Code[30], Code[30], RecordRef, FieldRef, RecordRef, FieldRef, Boolean) :#

Summary: The event is triggered before a field is transferred from the source table to the destination table

[IntegrationEvent(true, false)]
local procedure OnBeforeTransferBufferFields(EDXPartnerNo: Code[30]; EDXDocument: Code[30]; var SourceRecordRef: RecordRef; var SourceFieldRef: FieldRef; var DestRecordRef: RecordRef; var DestFieldRef: FieldRef; var IsHandled: Boolean): 
[EventSubscriber(ObjectType::Codeunit, Codeunit::"KVSEDX Management", 'OnBeforeTransferBufferFields', '', false, false)]
local procedure DoSomethingOnBeforeTransferBufferFields(EDXPartnerNo: Code[30]; EDXDocument: Code[30]; var SourceRecordRef: RecordRef; var SourceFieldRef: FieldRef; var DestRecordRef: RecordRef; var DestFieldRef: FieldRef; var IsHandled: Boolean)
begin
end;

Parameters:

  • EDXPartnerNo: Current EDXPartner No.
  • EDXDocument: Current EDX Document
  • SourceRecordRef: Source RecordRef
  • SourceFieldRef: Source FieldRef
  • DestRecordRef: Destination RecordRef
  • DestFieldRef: Destination FieldRef
  • IsHandled: Handled

OnAfterTransferBufferFields(Code[30], Code[30], RecordRef, FieldRef, RecordRef, FieldRef, Boolean) :#

Summary: The event is triggered after a field is transferred from the source table to the destination table

[IntegrationEvent(true, false)]
local procedure OnAfterTransferBufferFields(EDXPartnerNo: Code[30]; EDXDocument: Code[30]; var SourceRecordRef: RecordRef; var SourceFieldRef: FieldRef; var DestRecordRef: RecordRef; var DestFieldRef: FieldRef; var IsHandled: Boolean): 
[EventSubscriber(ObjectType::Codeunit, Codeunit::"KVSEDX Management", 'OnAfterTransferBufferFields', '', false, false)]
local procedure DoSomethingOnAfterTransferBufferFields(EDXPartnerNo: Code[30]; EDXDocument: Code[30]; var SourceRecordRef: RecordRef; var SourceFieldRef: FieldRef; var DestRecordRef: RecordRef; var DestFieldRef: FieldRef; var IsHandled: Boolean)
begin
end;

Parameters:

  • EDXPartnerNo: Current EDXPartner No.
  • EDXDocument: Current EDX Document
  • SourceRecordRef: Source RecordRef
  • SourceFieldRef: Source FieldRef
  • DestRecordRef: Destination RecordRef
  • DestFieldRef: Destination FieldRef
  • IsHandled: Handled

OnDeleteIntermediateTables(Record KVSEDX Document Setup) :#

Summary: The event is triggered when the “KVSEDX Document Type” enumeration has been extended in the customer project. Within the event, project-specific EDX intermediate documents should be deleted according to their storage period.

[IntegrationEvent(true, false)]
local procedure OnDeleteIntermediateTables(DocumentSetup: Record "KVSEDX Document Setup"): 
[EventSubscriber(ObjectType::Codeunit, Codeunit::"KVSEDX Management", 'OnDeleteIntermediateTables', '', false, false)]
local procedure DoSomethingOnDeleteIntermediateTables(DocumentSetup: Record "KVSEDX Document Setup")
begin
end;

Parameters:

  • DocumentSetup: Current Document Setup