Index: DOM/VKP/impl/DataM/AdresUtils.cls.xml =================================================================== diff -u -r32427 -r32433 --- DOM/VKP/impl/DataM/AdresUtils.cls.xml (.../AdresUtils.cls.xml) (revision 32427) +++ DOM/VKP/impl/DataM/AdresUtils.cls.xml (.../AdresUtils.cls.xml) (revision 32433) @@ -1,26 +1,40 @@ -%RegisteredObject +TECH.RegisteredObject KlantKey:%String,LeverAdres:DOM.VKP.impl.DataM.DataMAdres %Integer 0 { - #dim Key As %String = $N(^KKL(KlantKey,"L")) - While $P(Key," ",1,1) = "L" { - #dim Value As %String = ^KKL(KlantKey,Key) - If ($P(Value,"\",2) = LeverAdres.GeefNaam()) { - Set Result = $P(Value,"\",1) - } - Set Key = $N(^KKL(KlantKey,Key)) - } + #dim Result As %Integer = "" + + #dim AdresKey As %String = "L" + For { Set AdresKey = $Order(^KKL(KlantKey,AdresKey)) Quit:($$$Not($$$StartsWith(AdresKey,"L")))||($$$HasLength(Result)) + + #dim Value As %String = $Get(^KKL(KlantKey,AdresKey)) + #dim DatabaseLeverAdres As DOM.VKP.impl.DataM.DataMAdres = ##class(DOM.VKP.impl.DataM.DataMAdres).CreateFromDelimitedString(Value) + + If ($Piece(..GeefAdresRec(DatabaseLeverAdres),"\",2,9) = $Piece(..GeefAdresRec(LeverAdres),"\",2,9)) { + Set Result = $Piece(Value,"\",1) + } + } + If Result = "" { + Do ##class(TECH.Exceptions.InvalidInputException).Throw("Geen overeenkomstig leveradres gevonden voor "_KlantKey_" "_LeverAdres.ToString()) + } Quit Result ]]> + + +LeverAdres:DOM.VKP.impl.DataM.DataMAdres +%String + +