Index: vhConsistency/Checks/DOM/VKP/Orders.cls.xml =================================================================== diff -u -r29783 -r65927 --- vhConsistency/Checks/DOM/VKP/Orders.cls.xml (.../Orders.cls.xml) (revision 29783) +++ vhConsistency/Checks/DOM/VKP/Orders.cls.xml (.../Orders.cls.xml) (revision 65927) @@ -30,9 +30,30 @@ for { set KlantID = $order(^KO2("F",KlantID)) Quit:KlantID="" #dim OrderID As %String = "" for { set OrderID = $order(^KO2("F",KlantID,OrderID)) Quit:OrderID="" + If 'OrderAPI.BestaatOrder(OrderID) { - do ..VoegMeldingToe("^KO2(""F"","_KlantID_","_OrderID_") verwijst naar niet bestaand order. Automatisch opgekuist.") - Kill ^KO2("F",KlantID,OrderID) + + #dim BestaatOrderDataInKOD = ##class(BL.Legacy.Order).BestaatOrderDataInKOD(OrderID, KlantID) + If $$$Not(BestaatOrderDataInKOD) { + do ..VoegMeldingToe("^KO2(""F"","_KlantID_","_OrderID_") verwijst naar niet bestaand order. Automatisch opgekuist.") + Kill ^KO2("F",KlantID,OrderID) + } + Else { + // OrderData in ^KOD bestaat, maar de index ^KO1 bestaat niet want OrderAPI.BestaatOrder() geeft False. Uiteraard is dit niet consistent! + // We zullen deze scheve situatie proberen te fixen. + If $$$Not(##class(BL.Legacy.Order).IsOrderDataConsistent(KlantID,OrderID)) { + Do ..VoegMeldingToe("Inconsistency tussen ^KO1 en ^KOD voor OrderID '"_OrderID_"' voor klant '"_KlantID_"'. Dit moet eerst gefixed worden. Poging 1 via Autofixer ... ") + Do ##class(BL.Legacy.Order).RebuildIndexKOD(KlantID,OrderID) + Do ..VoegMeldingToe("Autofixer RebuildIndexKOD() uitgevoerd voor OrderID '"_OrderID_"'.") + + If (##class(BL.Legacy.Order).IsOrderDataConsistent(KlantID,OrderID)) { + Do ..VoegMeldingToe("De inconsistency tussen ^KO1 en ^KOD voor OrderID '"_OrderID_"' voor klant '"_KlantID_"' is opgelost. Het order bestaat nu, dus ^KO2 wordt niet verwijderd.") + } + Else { + Do ..VoegMeldingToe("Inconsistency tussen ^KO1 en ^KOD voor OrderID '"_OrderID_"' voor klant '"_KlantID_"' blijft. Dit moet manueel gefixed worden. Nadien deze check opnieuw uitvoeren.") + } + } + } } } }