Index: DOM/EC/Winkelkar/GroepLijn.cls.xml =================================================================== diff -u -r29059 -r30741 --- DOM/EC/Winkelkar/GroepLijn.cls.xml (.../GroepLijn.cls.xml) (revision 29059) +++ DOM/EC/Winkelkar/GroepLijn.cls.xml (.../GroepLijn.cls.xml) (revision 30741) @@ -7,9 +7,8 @@ DOM.EC.Winkelkar.Lijn -%String +TECH.String 1 - @@ -44,26 +43,25 @@ GroepNaam:%String DOM.EC.Winkelkar.GroepLijn @@ -79,59 +77,66 @@ // // We evalueren niet ..Sublijnen.Count() in de while want als er dan iets // misloopt met het verwijderen kunnen we een oneindige lus krijgen. - Set Count = ..Sublijnen.Count() - Set VerwijderStatus = $$$OK - while (Count > 0 && (VerwijderStatus = $$$OK)) { + + #dim Count As TECH.Integer = ..Sublijnen.Count() + #dim VerwijderStatus As %Status = $$$OK + + while ((Count > 0) && (VerwijderStatus = $$$OK)) { // Eerste element van de lijst - Set Lijn = ..Sublijnen.GetNext("") - Set VerwijderStatus = Lijn.OnBeforeVerwijder() - if (VerwijderStatus = $$$OK) { - Set VerwijderStatus = ..VerwijderPos(Lijn, 1) - } - Set Count = Count - 1 + + #dim Lijn As DOM.EC.Winkelkar.Lijn = ..Sublijnen.GetNext("") + set VerwijderStatus = Lijn.OnBeforeVerwijder() + set:(VerwijderStatus = $$$OK) VerwijderStatus = ..VerwijderPos(Lijn, 1) + set Count = Count - 1 } - Quit VerwijderStatus + + quit VerwijderStatus ]]> Lijn:DOM.EC.Winkelkar.Lijn,InsertPos:%Integer %Status Lijn:DOM.EC.Winkelkar.Lijn %Status Lijn:DOM.EC.Winkelkar.Lijn %Integer ..Sublijnen.Count()) && (..Sublijnen.GetAt(i).%Oid() '= Lijn.%Oid()) - { - Set i = i + 1 + #dim i As TECH.Integer = 1 + + while ($$$Not(i > ..Sublijnen.Count()) && $$$Not(..Sublijnen.GetAt(i).%Oid() = Lijn.%Oid())) { + set i = i + 1 } - If (i > ..Sublijnen.Count()) - { + if (i > ..Sublijnen.Count()) { Do ##class(TECH.ExceptionHandler).Throw(##class(TECH.Exceptions.GeneralErrorException).%New("Deze lijn bestaat niet in deze groep")) } - Quit i + quit i ]]> @@ -157,23 +162,23 @@ Lijn:DOM.EC.Winkelkar.Lijn %Status @@ -184,12 +189,13 @@ omitted for now - Do ..Sublijnen.RemoveAt(Pos) - Set rc = ..Lijst.VerwijderInternal(Lijn) - if ($$$ISERR(rc)) { - Quit $$$ERROR($$$GeneralError,"Fout bij verwijderen van lijn " _ Lijn) - } - Quit $$$OK + do ..Sublijnen.RemoveAt(Pos) + + #dim Status As %Status =..Lijst.VerwijderInternal(Lijn) + + set:($$$ISERR(Status)) Status = $$$ERROR($$$GeneralError, "Fout bij verwijderen van lijn " _ Lijn) + + quit Status ]]>