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 validateFieldNoPar: Field number to validate againstVarConvertedVariant: Input/output variant that will be converted to the proper field typeXMLFormatPar: 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 fieldFieldNoPar: Field number to validate length againstVarConvertedVariant: 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 compareParTargetRecordId: RecordId of the target record to compareFieldNoPar: 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 FilterParVariantFilter: Variant FilterParStartDate: Period StartdateParEndDate: Period EnddateParItem: Item No.VarGrossRequirementVariant: Returns Gross RequirementVarPlannedOrderRcpt: Returns Planned Order ReceiptVarScheduledRcpt: Return Scheduled ReceiptVarPlannedOrderReleases: Returns Planned Order ReleasesVarProjAvailableBalance: Return Available BalanceVarExpectedInventory: Return Expected InventoryVarQtyAvailable: Returns Qty. AvailableVarPurchaseAvailabilityDate: 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 ReferenceVarPDFOutStream: 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 convertedVarPDFBase64BigText: 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 GUIDSharedAccessKey: 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 upHandledVar: 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 processedFieldNoPar: Field number for which default value is being determinedDefaultValuePar: Default value text from field setupNewValueVar: Output parameter containing the calculated default valueValueSet: 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 configurationParStartingDateTime: Starting date/time for runtime calculationVarNewRunDateTime: Output parameter containing the calculated next runtimeVarHandledVar: 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 listedHandledVar: 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 HeaderTempVarProductionBOMLine: Production-/Assembly LineIsHandled: 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 HeaderTempProductionBOMLine: Production-/Assembly LineBOMComponent: Current BOM ComponentIsHandled: 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 HeaderTempProductionBOMLine: Production-/Assembly LineProductionBOMLine: Current Production BOM LineIsHandled: 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 valueFieldNoPar: Field number to retrieveValueVar: Output parameter containing the retrieved field valueHandledVar: 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 filterReturnReceiptLine: Return Receipt Line record for referenceHandledVar: 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 filterPositionNoPar: Position number to use for filteringHandledVar: 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 filterPositionNoPar: Position number to use for filteringHandledVar: 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 pricingHandledVar: 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 pricingVarHandled: 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 mappedHandledVar: 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 mappedHandledVar: 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 DocumentSourceRecordRef: Source RecordRefSourceFieldRef: Source FieldRefDestRecordRef: Destination RecordRefDestFieldRef: Destination FieldRefIsHandled: 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 DocumentSourceRecordRef: Source RecordRefSourceFieldRef: Source FieldRefDestRecordRef: Destination RecordRefDestFieldRef: Destination FieldRefIsHandled: 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