Index: BL/Sys/FOP/Verwerker/tmpDev.mac.rou =================================================================== diff -u -r73591 -r73592 --- BL/Sys/FOP/Verwerker/tmpDev.mac.rou (.../tmpDev.mac.rou) (revision 73591) +++ BL/Sys/FOP/Verwerker/tmpDev.mac.rou (.../tmpDev.mac.rou) (revision 73592) @@ -1084,7 +1084,7 @@ /*** ***/ ExecCacheTask(SeqItem,TSeq) - New TaskName,oLog,msgData,msg + New TaskName,oLog,msgData,msg, lbWaitSeconds,logger,blnExists Set TaskName=SeqItem.OmsID ;d WL^vhDBG("TaskSeq Item inside ExecCacheTask: TaskName="_TaskName_$$$CRLF_$$ObjToText^vhLib(SeqItem)) If TaskName="DeleteFiles" Do @@ -1182,7 +1182,7 @@ ectTaskMailFiles(SeqItem) // Send Mail with Files attached #define AttachBinary 1 - New From,lbTo,Subject,Body,lbAttachments,lbCC,lbBCC, FirstItem + New From,lbTo,Subject,Body,lbAttachments,lbCC,lbBCC, FirstItem,LastItemFilePath,NumberOfItems Set From=SeqItem.Params.GetAt("MailFiles.From") Set lbTo=SeqItem.Params.GetAt("MailFiles.lbTo") Set Subject=SeqItem.Params.GetAt("MailFiles.Subject") Set:(Subject="") Subject="-" @@ -1195,6 +1195,21 @@ . Quit:(FirstItem="")||($$IsList^vhLib(FirstItem)) . ; Else make $LB() from each item. SendMiniMail() requires format $LB($LB(file1,1),$LB(file2,1),$LB(file3,1),...) . For i=1:1:$LL(lbAttachments) Set:($LD(lbAttachments,i)) $LI(lbAttachments,i)=$LB($LI(lbAttachments,i),$$$AttachBinary) + + // Verify that last file of lbAttachments exists (in case of DFS this is a necessary check) + Set NumberOfItems = $LL(lbAttachments) + If NumberOfItems > 0 { + Set lbWaitSeconds = $ListBuild(1,1,1,1,2,2,3,4,5,5,5) + Set Logger = ##class(vhLib.Logger).%New("Sys.FOP.Verwerker") + Set LastItemFilePath = $LG($LG(lbAttachments,NumberOfItems),1) + If $$$HasLength(LastItemFilePath) { + Set blnExists = ##class(TECH.Files).WaitUntilFileExists(LastItemFilePath, lbWaitSeconds, Logger, "FopQueue.MailFiles", "MailFiles.lbAttachName(s): ") + + // Early quit :-O + Quit:('blnExists) $$$ERROR($$$GeneralError,"File does not exist: "_LastItemFilePath) + } + } + Set ReplyTo="" Set:(SeqItem.Params.IsDefined("MailFiles.lbCC")) lbCC=SeqItem.Params.GetAt("MailFiles.lbCC") Set:(SeqItem.Params.IsDefined("MailFiles.lbBCC")) lbBCC=SeqItem.Params.GetAt("MailFiles.lbBCC")