TaskSequence bevat de verschillende processen die sequentieel moeten uitgevoerd worden door de FOP.Verwerker persistent BL.Sys.FOP.Common 1 %Persistent 0 Task Sys.FOP.Task een Task kan meerdere Docs bevatten Sys.FOP.emSeqItem array Set SeqItem=TSeq.AddNewItem(Type) Create and add a new SeqItem to array Type:%String Sys.FOP.emSeqItem Set SeqItem=TSeq.NewItem(Type) Create a new SeqItem Type:%String Sys.FOP.emSeqItem Set sc=TSeq.AddItem(SeqItem,.Key,) Add SeqItem to array %Status Zie ##class(BL.Sys.FOP.Data).TSeqItemUpdateStatus() SeqItem:Sys.FOP.emSeqItem,NewStatus:%String,blnSaveObj:%Boolean %Status Set sc=TSeq.BuildArray(.arTaskSeq) Converts TSequence data (propts) to a local array. Useful for debug purposes %Status s sc=##class(Sys.FOP.TaskSequence).SyncTaskID() w sc,! 1 objectgenerator s sc=##class(Sys.FOP.TaskSequence).SyncTaskID() w sc,! 1 MaxDiff:%String=5 %Status 0)&&($ZABS(iTSeq-iTask)>MaxDiff) Do . Set sc=$$$ERROR($$$GeneralError,"SyncTaskID - MaxDiff overschreden") . Set MsgBody="Sys.FOP.Task - SyncTaskID:"_$C(13,10)_"Current values: "_(GlobalNameTask)_"="_iTask_" - "_(GlobalNameTSeq)_"="_iTSeq_$C(13,10)_"MaxDiff="_MaxDiff_$C(13,10)_"Error: "_$$ParseStatus^vhLib(sc) . Set scMail=$$SendMiniMail^vhLib($$$FopMailFromKort,$LB("wv@vanhoecke.be"),"Sys.FOP.Task - SyncTaskID",MsgBody) Else If iTSeqiTask Do . Set @GlobalNameTask=iTSeq . Set sc=$$$OK Else Do . Set sc=$$$ERROR($$$GeneralError,"SyncTaskID - Unexpected Else-clause") Quit sc stiErrorSync Set $ZTRAP="" Set sc=$$$ERROR($$$GeneralError,"SyncTaskID - Error Trapped: "_$ZE) Set $ZE="" Quit stiCheckBusy(msg) ; msg als .local doorgeven Set msg="" If ##class(Sys.FOP.QueueItem).CountBusyTasks()>0 Do . Set msg="Busy task(s) on Queue" Else If $IsObject(##class(Sys.FOP.QueueItem).GetNextQItem(0)) Do . Set msg="Task(s) waiting on Queue" Quit (msg'="") ]]> %Library.CacheStorage ^Sys.FOP.TaskSequenceD TaskSequenceDefaultData ^Sys.FOP.TaskSequenceD ^Sys.FOP.TaskSequenceI ^Sys.FOP.TaskSequenceS Items subnode "SI" %%CLASSNAME Task