diff --git a/Apps/W1/AuditFileExport/app/src/ExportEngine/AuditFileExportMgt.Codeunit.al b/Apps/W1/AuditFileExport/app/src/ExportEngine/AuditFileExportMgt.Codeunit.al index 1a2095b2a7..3ae8a1b5e2 100644 --- a/Apps/W1/AuditFileExport/app/src/ExportEngine/AuditFileExportMgt.Codeunit.al +++ b/Apps/W1/AuditFileExport/app/src/ExportEngine/AuditFileExportMgt.Codeunit.al @@ -289,11 +289,16 @@ codeunit 5261 "Audit File Export Mgt." OnBeforeScheduleTask(DoNotScheduleTask, TaskID); if DoNotScheduleTask then AuditFileExportLine."Task ID" := TaskID - else + else begin + if not IsNullGuid(AuditFileExportLine."Task ID") then + if TaskScheduler.TaskExists(AuditFileExportLine."Task ID") then + TaskScheduler.CancelTask(AuditFileExportLine."Task ID"); + AuditFileExportLine."Task ID" := TaskScheduler.CreateTask( Codeunit::"Audit Line Export Runner", Codeunit::"Audit File Export Error Handl.", true, CompanyName(), NotBefore, AuditFileExportLine.RecordId()); + end; AuditFileExportLine.Modify(true); Commit(); NoOfJobs += 1; diff --git a/Apps/W1/AuditFileExport/app/src/ExportEngine/AuditLineExportRunner.Codeunit.al b/Apps/W1/AuditFileExport/app/src/ExportEngine/AuditLineExportRunner.Codeunit.al index 43eacd6ed1..a2435f7bd5 100644 --- a/Apps/W1/AuditFileExport/app/src/ExportEngine/AuditLineExportRunner.Codeunit.al +++ b/Apps/W1/AuditFileExport/app/src/ExportEngine/AuditLineExportRunner.Codeunit.al @@ -24,6 +24,11 @@ codeunit 5265 "Audit Line Export Runner" FileContentInStream: InStream; begin Rec.LockTable(); + Rec.Find(); + if (Rec."Session ID" <> 0) and (Rec."Session ID" <> SessionId()) then + if Rec."Server Instance ID" = ServiceInstanceId() then + if Session.IsSessionActive(Rec."Session ID") then + exit; Rec.Validate("Server Instance ID", ServiceInstanceId()); Rec.Validate("Session ID", SessionId()); Rec.Validate("Created Date/Time", 0DT);