Index: vhConsistency/Checks/InvoerUitvoerLinken.cls.xml =================================================================== diff -u -r52214 -r56417 --- vhConsistency/Checks/InvoerUitvoerLinken.cls.xml (.../InvoerUitvoerLinken.cls.xml) (revision 52214) +++ vhConsistency/Checks/InvoerUitvoerLinken.cls.xml (.../InvoerUitvoerLinken.cls.xml) (revision 56417) @@ -69,79 +69,69 @@ Set ResultSet = ##class(%ResultSet).%New("DOM.ProdRes.InvoerUitvoerLink:Extent") Do ResultSet.Execute() - While (ResultSet.Next()) - { + While (ResultSet.Next()) { Set InvoerUitvoerLink = ##class(DOM.ProdRes.InvoerUitvoerLink).%OpenId(ResultSet.Data("ID")) #dim VerwachteUitvoerReservatie As DOM.ProdRes.UitvoerReservatie = InvoerUitvoerLink.GeefUitvoerReservatie() - Set VerwachteInvoer = InvoerUitvoerLink.GeefInvoerReservatie().GeefVerwachteInvoer() - Set VerwachteUitvoer = VerwachteUitvoerReservatie.GeefVerwachteUitvoer() - If ('$IsObject(VerwachteUitvoerReservatie)) && ('$IsObject(VerwachteInvoer)){ - Do ..VoegMeldingToe("Invoer-uitvoer-link "_InvoerUitvoerLink.%Id()_" is niet gekoppeld aan een verwachte invoer en reservatie (alleenstaande invoer-uitvoer-link)") - }ElseIf ('$IsObject(VerwachteUitvoerReservatie)){ - Do ..VoegMeldingToe("Invoer-uitvoer-link "_InvoerUitvoerLink.%Id()_" is niet gekoppeld aan een reservatie maar wel aan (Toelevering, LijnNr): "_VerwachteInvoer.GeefTransactieReferentie()_", "_VerwachteInvoer.GeefTransactieLijnReferentie()) - }ElseIf ('$IsObject(VerwachteInvoer)){ - Do ..VoegMeldingToe("Invoer-uitvoer-link "_InvoerUitvoerLink.%Id()_" is niet gekoppeld aan een verwachte invoer maar wel aan (Order, LijnNr): "_VerwachteUitvoerReservatie.GeefVerwachteUitvoer().GeefTransactieReferentie()_", "_VerwachteUitvoerReservatie.GeefVerwachteUitvoer().GeefTransactieLijnReferentie()) - }ElseIf ('$IsObject(VerwachteUitvoer)){ - Do ..VoegMeldingToe("Invoer-uitvoer-link "_InvoerUitvoerLink.%Id()_" is niet gekoppeld aan een verwachte uitvoer maar wel aan (Order, LijnNr): "_VerwachteInvoer.GeefTransactieReferentie()_", "_VerwachteInvoer.GeefTransactieLijnReferentie()) - }Else{ - #dim OrderNr As %String = VerwachteUitvoer.GeefTransactieReferentie() - #dim OrderLijnCode As %String = VerwachteUitvoerReservatie.GeefVerwachteUitvoer().GeefTransactieLijnReferentie() - #dim ToeNr As %String = VerwachteInvoer.GeefTransactieReferentie() - Set ToeLijnNr = VerwachteInvoer.GeefTransactieLijnReferentie() - If ('OrderAPI.BestaatOrder(OrderNr)) && ('ToeleveringAPI.BestaatToelevering(ToeNr)) - { - Do ..VoegMeldingToe("Invoer-uitvoer-link "_InvoerUitvoerLink.%Id()_" verwijst naar order "_OrderNr_" en toelevering "_ToeNr_" die beiden niet bestaan (niet auto oplosbaar)") - } - ElseIf ('OrderAPI.BestaatOrder(OrderNr)) - { - Do ..VoegMeldingToe("Invoer-uitvoer-link "_InvoerUitvoerLink.%Id()_" verwijst naar order "_OrderNr_" die niet bestaat (niet auto oplosbaar)") - } - ElseIf (InvoerUitvoerLink.GeefStatus()'=##class(DOM.ProdRes.enu.InvoerUitvoerLinkStatus).Voldaan()) && ('ToeleveringAPI.BestaatToelevering(ToeNr)) - { - Do ..VoegMeldingToe("Invoer-uitvoer-link "_InvoerUitvoerLink.%Id()_" verwijst naar toelevering "_ToeNr_" die niet bestaat (niet auto oplosbaar)") - } - ElseIf (InvoerUitvoerLink.GeefStatus()'=##class(DOM.ProdRes.enu.InvoerUitvoerLinkStatus).Voldaan()) - { - Set Order = OrderAPI.GeefOrder(OrderNr) - #dim OrderLijn As DOM.VKP.Orderlijn = Order.GeefOrderLijn(OrderLijnCode) - Set Toelevering = ToeleveringAPI.GeefToelevering(ToeNr) - #dim ToeleveringLijn As DOM.AKP.ToeleveringLijn = Toelevering.GeefToeleveringLijn(ToeLijnNr) - If ('$IsObject(OrderLijn)) && ('$IsObject(ToeleveringLijn)) - { - Do ..VoegMeldingToe("Invoer-uitvoer-link "_InvoerUitvoerLink.%Id()_" verwijst naar orderlijn "_OrderLijn.GeefLijnVolgNr()_" van order "_OrderNr_" en toeleveringlijn "_ToeLijnNr_" van toelevering "_ToeNr_" die beiden niet bestaan (niet auto oplosbaar)") - } - ElseIf ('$IsObject(OrderLijn)) - { - Do ..VoegMeldingToe("Invoer-uitvoer-link "_InvoerUitvoerLink.%Id()_" verwijst naar orderlijn "_OrderLijn.GeefLijnVolgNr()_" van order "_OrderNr_" die niet bestaat (niet auto oplosbaar)") - } - ElseIf (InvoerUitvoerLink.GeefStatus()'=##class(DOM.ProdRes.enu.InvoerUitvoerLinkStatus).Voldaan()) && ('$IsObject(ToeleveringLijn)) - { - Do ..VoegMeldingToe("Invoer-uitvoer-link "_InvoerUitvoerLink.%Id()_" verwijst naar toeleveringlijn "_ToeLijnNr_" van toelevering "_ToeNr_" die niet bestaat (niet auto oplosbaar)") - } - Else - { - #dim KOMToelevering As DOM.AKP.Toelevering = OrderLijn.GeefToelevering() - If ('$IsObject(KOMToelevering)) - { - Do VerwachteInvoerAPI.VerbreekInvoerUitvoerLinken(InvoerUitvoerLink.GeefInvoerReservatie().GeefVerwachteInvoer().%Id(),InvoerUitvoerLink.GeefUitvoerReservatie().GeefVerwachteUitvoer().%Id()) - Do ..VoegMeldingToe("Invoer-uitvoer-link tussen (Order, LijnNr): "_OrderNr_", "_OrderLijn.GeefLijnVolgNr()_" en (Toelevering, LijnNr): "_ToeNr_", "_ToeLijnNr_" bestaat niet meer tussen het order en de toelevering") + + If $$$Not($IsObject(InvoerUitvoerLink)) { + Do ..VoegMeldingToe("Invoer-uitvoer-link " _ InvoerUitvoerLink.%Id() _ " kon niet geopend worden") + } Else { + Set VerwachteInvoer = InvoerUitvoerLink.GeefInvoerReservatie().GeefVerwachteInvoer() + Set VerwachteUitvoer = VerwachteUitvoerReservatie.GeefVerwachteUitvoer() + + If ('$IsObject(VerwachteUitvoerReservatie)) && ('$IsObject(VerwachteInvoer)){ + Do ..VoegMeldingToe("Invoer-uitvoer-link "_InvoerUitvoerLink.%Id()_" is niet gekoppeld aan een verwachte invoer en reservatie (alleenstaande invoer-uitvoer-link)") + } ElseIf ('$IsObject(VerwachteUitvoerReservatie)){ + Do ..VoegMeldingToe("Invoer-uitvoer-link "_InvoerUitvoerLink.%Id()_" is niet gekoppeld aan een reservatie maar wel aan (Toelevering, LijnNr): "_VerwachteInvoer.GeefTransactieReferentie()_", "_VerwachteInvoer.GeefTransactieLijnReferentie()) + } ElseIf ('$IsObject(VerwachteInvoer)){ + Do ..VoegMeldingToe("Invoer-uitvoer-link "_InvoerUitvoerLink.%Id()_" is niet gekoppeld aan een verwachte invoer maar wel aan (Order, LijnNr): "_VerwachteUitvoerReservatie.GeefVerwachteUitvoer().GeefTransactieReferentie()_", "_VerwachteUitvoerReservatie.GeefVerwachteUitvoer().GeefTransactieLijnReferentie()) + } ElseIf ('$IsObject(VerwachteUitvoer)){ + Do ..VoegMeldingToe("Invoer-uitvoer-link "_InvoerUitvoerLink.%Id()_" is niet gekoppeld aan een verwachte uitvoer maar wel aan (Order, LijnNr): "_VerwachteInvoer.GeefTransactieReferentie()_", "_VerwachteInvoer.GeefTransactieLijnReferentie()) + } Else { + #dim OrderNr As %String = VerwachteUitvoer.GeefTransactieReferentie() + #dim OrderLijnCode As %String = VerwachteUitvoerReservatie.GeefVerwachteUitvoer().GeefTransactieLijnReferentie() + #dim ToeNr As %String = VerwachteInvoer.GeefTransactieReferentie() + Set ToeLijnNr = VerwachteInvoer.GeefTransactieLijnReferentie() + + If ('OrderAPI.BestaatOrder(OrderNr)) && ('ToeleveringAPI.BestaatToelevering(ToeNr)) { + Do ..VoegMeldingToe("Invoer-uitvoer-link "_InvoerUitvoerLink.%Id()_" verwijst naar order "_OrderNr_" en toelevering "_ToeNr_" die beiden niet bestaan (niet auto oplosbaar)") + } ElseIf ('OrderAPI.BestaatOrder(OrderNr)) { + Do ..VoegMeldingToe("Invoer-uitvoer-link "_InvoerUitvoerLink.%Id()_" verwijst naar order "_OrderNr_" die niet bestaat (niet auto oplosbaar)") + } ElseIf (InvoerUitvoerLink.GeefStatus()'=##class(DOM.ProdRes.enu.InvoerUitvoerLinkStatus).Voldaan()) && ('ToeleveringAPI.BestaatToelevering(ToeNr)) { + Do ..VoegMeldingToe("Invoer-uitvoer-link "_InvoerUitvoerLink.%Id()_" verwijst naar toelevering "_ToeNr_" die niet bestaat (niet auto oplosbaar)") + } ElseIf (InvoerUitvoerLink.GeefStatus()'=##class(DOM.ProdRes.enu.InvoerUitvoerLinkStatus).Voldaan()) { + Set Order = OrderAPI.GeefOrder(OrderNr) + #dim OrderLijn As DOM.VKP.Orderlijn = Order.GeefOrderLijn(OrderLijnCode) + Set Toelevering = ToeleveringAPI.GeefToelevering(ToeNr) + #dim ToeleveringLijn As DOM.AKP.ToeleveringLijn = Toelevering.GeefToeleveringLijn(ToeLijnNr) + + If ('$IsObject(OrderLijn)) && ('$IsObject(ToeleveringLijn)) { + Do ..VoegMeldingToe("Invoer-uitvoer-link "_InvoerUitvoerLink.%Id()_" verwijst naar orderlijn "_OrderLijn.GeefLijnVolgNr()_" van order "_OrderNr_" en toeleveringlijn "_ToeLijnNr_" van toelevering "_ToeNr_" die beiden niet bestaan (niet auto oplosbaar)") + } ElseIf ('$IsObject(OrderLijn)) { + Do ..VoegMeldingToe("Invoer-uitvoer-link "_InvoerUitvoerLink.%Id()_" verwijst naar orderlijn "_OrderLijn.GeefLijnVolgNr()_" van order "_OrderNr_" die niet bestaat (niet auto oplosbaar)") + } ElseIf (InvoerUitvoerLink.GeefStatus()'=##class(DOM.ProdRes.enu.InvoerUitvoerLinkStatus).Voldaan()) && ('$IsObject(ToeleveringLijn)) { + Do ..VoegMeldingToe("Invoer-uitvoer-link "_InvoerUitvoerLink.%Id()_" verwijst naar toeleveringlijn "_ToeLijnNr_" van toelevering "_ToeNr_" die niet bestaat (niet auto oplosbaar)") + } Else { + #dim KOMToelevering As DOM.AKP.Toelevering = OrderLijn.GeefToelevering() + + If ('$IsObject(KOMToelevering)) { + Do VerwachteInvoerAPI.VerbreekInvoerUitvoerLinken(InvoerUitvoerLink.GeefInvoerReservatie().GeefVerwachteInvoer().%Id(),InvoerUitvoerLink.GeefUitvoerReservatie().GeefVerwachteUitvoer().%Id()) + Do ..VoegMeldingToe("Invoer-uitvoer-link tussen (Order, LijnNr): "_OrderNr_", "_OrderLijn.GeefLijnVolgNr()_" en (Toelevering, LijnNr): "_ToeNr_", "_ToeLijnNr_" bestaat niet meer tussen het order en de toelevering") + } } } } } } - If (..GeefAantalMeldingen()>0) - { + If (..GeefAantalMeldingen() > 0) { Do ..VoegMeldingToe("Indien deze test ""gecrashed"" is. Is deze mogelijk op te lossen door de records te verwijderen die met deze query geselecteerd worden.") Do ..VoegMeldingToe("select IUL.ID As IULinkID, IR.ID As InvoerReservatieID,InvoerReservatie,UitvoerReservatie,Status from DOM_ProdRes_impl.InvoerUitvoerLinkImpl IUL") Do ..VoegMeldingToe("LEFT OUTER JOIN DOM_ProdRes.InvoerReservatie IR ON IUL.InvoerReservatie = IR.ID") Do ..VoegMeldingToe("HAVING IR.ID Is NULL") Quit $$$ERROR($$$GeneralError,"Tralala") - } - Else - { + } Else { Quit $$$OK } ]]>