Index: TECH/PubSub/EventReraiser.cls.xml =================================================================== diff -u --- TECH/PubSub/EventReraiser.cls.xml (revision 0) +++ TECH/PubSub/EventReraiser.cls.xml (revision 617) @@ -0,0 +1,63 @@ + + + +%RegisteredObject + + + +Do ##class(TECH.PubSub.EventReraiser).Reraise("2020-01-31","12:00:00") +1 +Datum:%String="2020-01-31",Tijd:%String="12:00:00" +1 + ? "_ + "ORDER BY Datum DESC, Tijd DESC, SubID DESC" + + #dim Aantal As %String = 0 + #dim ResultSet As %ResultSet = $$ExecDynQuery^vhLib.Query(Query,$LB(Datum,Tijd),1) + #dim HasNext As %Boolean = ResultSet.Next() + If HasNext { + + #dim Verwerken As %String = "" + Write !,"Wilt u "_ResultSet.Data("Aantal")_" events opnieuw verwerken ? (Y/N)" + Read Verwerken + Write !! + + If (Verwerken = "Y")||(Verwerken = "y"){ + While HasNext + { + #dim Command As %String = ResultSet.Data("Command") + #dim Key As %String = ##class(TECH.StringUtils).Replace($piece($Piece(Command,"Decode(""",2),"""))"),$C(13,10),"") + #dim EventClass As %String = $P($piece(Command,"Set Event = ##class(",2),")",1) + #dim Class As %String = $Tr($p($piece(Command,"Do $ZOBJCLASSMETHOD(",2),",",1),"""","") + #dim Method As %String = $Tr($p($piece(Command,"Do $ZOBJCLASSMETHOD(",2),",",2)," ""","") + + Set Aantal = Aantal + 1 + + Try { + Set EventData = ##class(%SerialObject).%Open($System.Encryption.Base64Decode(Key)) + Set Event = $ZOBJCLASSMETHOD(EventClass, "%New",EventData) + Do $ZOBJCLASSMETHOD(Class, Method, Event) + }Catch{ + #dim Exception As TECH.Exceptions.Exception = ##class(TECH.ExceptionHandler).Catch() + w ResultSet.Data("ID"),"*", EventClass ,"*", Class ,"*", Method,"*",! + w Exception.GeefOmschrijving(),!! + } + + Set HasNext = ResultSet.Next() + } + } + Write Aantal," events verwerkt.",! + }Else{ + Write "Er zijn geen events in deze periode .",! + } +]]> + + + + + +