Index: APPS/PM/KenmerkenService.cls.xml =================================================================== diff -u -r1377 -r1507 --- APPS/PM/KenmerkenService.cls.xml (.../KenmerkenService.cls.xml) (revision 1377) +++ APPS/PM/KenmerkenService.cls.xml (.../KenmerkenService.cls.xml) (revision 1507) @@ -2,7 +2,10 @@ -JBL + 2011-02-28 +JBL + 2011-02-28 +TO DO : 2011-06-09 : JBL +De controle bij BewaarKenmerk moet niet in de service controleren of een kenmerk gewijzigd is. +Dit moet verplaatst worden naar het persistente Prod.DataDefinitie object. TECH.Error 1 %RegisteredObject @@ -275,84 +278,98 @@ /// Scope ophalen Set OperatieScope = ##class(TECH.OperatieScope).StartMetTx() - Set KenmerkenModifiedEventData = ##class(TECH.Events.KenmerkenModifiedEventData).%New() + Set $ZTRAP = "Catch" + + Set ProductAPI = ##class(DOM.DomeinContext).Instance().GeefProductAPI() + Set Status = ProductAPI.ZetKenmerkWaardenInBulk(ProductenKenmerken) - Set ProductKenmerkenIt = ##class(TECH.ListIterator).%New(ProductenKenmerken.Kenmerken) - While (ProductKenmerkenIt.HasNext()) - { - Set ProductKenmerken = ProductKenmerkenIt.Next() - Set ProductIDs = ProductKenmerken.IDs - - Set UnID = ProductIDs.PRNr - /// Als er een MultipleNr is opgegeven, de UnID correct invullen - If (ProductIDs.MultipleNr '= "") - { - Set UnID = ##class(BL.Kenm.ProdMulti).GetFullID(ProductIDs.PRNr,ProductIDs.MultipleNr) - } - - Set ErrorMsg = "" - Set ProductKenmerkIt = ##class(TECH.ListIterator).%New(ProductKenmerken.Kenmerken) - While (ProductKenmerkIt.HasNext() && (ErrorMsg = "")) - { - Set ProductKenmerk = ProductKenmerkIt.Next() - - Set Identifier = ##class(Prod.Kenmerk.DataDefinitie).BuildDataDefinitionID(ProductKenmerk.Groep,UnID,ProductKenmerk.KenmerkNaam) - If '##class(Prod.Kenmerk.DataDefinitie).%ExistsId(Identifier) - { - Set ErrorMsg = "Kenmerk "_Identifier_" voor UnID "_UnID_" is niet gevonden." - }Else{ - Set Kenmerk = ##class(Prod.Kenmerk.DataDefinitie).OpenId(Identifier) - - If ($IsObject(Kenmerk)) - { - // Controleer of de nieuwe waarden verschillen - Set IsGewijzigd = (ProductKenmerk.Waarden.Count() '= Kenmerk.Waarden.Count()) - Set i = 0 - - While ('IsGewijzigd) && (i < Kenmerk.Waarden.Count()) - { - Set i = i + 1 - Set IsGewijzigd = (ProductKenmerk.Waarden.GetAt(i) '= Kenmerk.Waarden.GetAt(i)) - } - - If (IsGewijzigd) - { - Do Kenmerk.Waarden.Clear() - Do ##class(TECH.ListUtils).CopyList(ProductKenmerk.Waarden,Kenmerk.Waarden) - Set Kenmerk.IsEventRaiser = 0 - Set Status = Kenmerk.Save() - If $$$ISERR(Status) - { - Set ErrorMsg = "Kenmerk "_ProductKenmerk.Groep_"||"_ProductKenmerk.KenmerkNaam_" voor UnID "_UnID_" kon niet worden gesaved.("_$$ParseStatus^vhLib(Status)_")" - } - Else - { - Set WaardenLijst = ##class(%ListOfDataTypes).%New() - Do ##class(TECH.ListUtils).CopyList(Kenmerk.Waarden,WaardenLijst) - Do KenmerkenModifiedEventData.Wijzigingen.Insert(##class(TECH.Events.KenmerkModifiedEventData).%New(UnID,ProductKenmerk.Groep,ProductKenmerk.KenmerkNaam,WaardenLijst)) - } - } - }Else - { - Set ErrorMsg = "Kenmerk "_ProductKenmerk.Groep_"||"_ProductKenmerk.KenmerkNaam_" voor UnID "_UnID_" is niet gevonden." - } - } - } - } - If (ErrorMsg = ""){ - Do OperatieScope.Gelukt() - - If (KenmerkenModifiedEventData.Wijzigingen.Count() > 0) - { - Set KenmerkenModifiedEvent = ##class(TECH.Events.KenmerkenModifiedEvent).%New(KenmerkenModifiedEventData) - Do ##class(TECH.PubSub.OrchestrationContext).GetEventRaiser().RaiseEventAsync(KenmerkenModifiedEvent) - } - - }Else{ - Do OperatieScope.Gefaald(ErrorMsg) + Do OperatieScope.Gelukt() + Quit $$$OK + +Catch Set $ZTRAP = "" + Set Exception = ##class(TECH.ExceptionHandler).Catch() + Set ErrorMsg = "BewaarProductenKenmerken heeft de wijzigingen niet kunnen opslaan "_Exception.GeefOmschrijving() + Do OperatieScope.Gefaald(##class(TECH.Exceptions.BaseException).%New(Exception.GeefExceptionCode(),ErrorMsg)) + Quit $ECODE +]]> + + + + +Verwijder voor één KenmerkGroep de opgegeven UnIDs +KenmerkGroep:%String,UnIDs:%ListOfDataTypes +%ListOfDataTypes + + + + +Maak nieuwe kenmerkenset voor de opgegeven UnIDs +KenmerkGroep:%String,UnIDs:%ListOfDataTypes +%ListOfDataTypes + + Index: DOM/PM/impl/ProductKenmerkenSets.cls.xml =================================================================== diff -u --- DOM/PM/impl/ProductKenmerkenSets.cls.xml (revision 0) +++ DOM/PM/impl/ProductKenmerkenSets.cls.xml (revision 1507) @@ -0,0 +1,243 @@ + + + + +JBL + 2011-06-09 +1 +%RegisteredObject,DOM.PM.ProductKenmerkenSets +0 + + +%Integer +1 + + + +%String +1 + + + +KenmerkGroep:%String,PRNr:%Integer +1 +1 +%Status + + + + +%String + + + + +%Integer + + + + + +Geen één kenmerkset voor product met een gekend UnID +UnID:%String +DOM.PM.ProductKenmerkenSet + + + + + +Geeft een iterator terug van ProductKenmerkenSet. +Met voor iedere multiple een +TECH.ListIterator + + + + + +Kopieer alle kenmerken van een BronUnID naar een DoelUnID + +Opgelet : er worden voor multiples geen TECH.Events.KenmerkModifiedEventData events geraised ! +BronUnID:%String,DoelUnID:%String +DOM.PM.ProductKenmerkenSet + + + + + +Maak voor een product een multiple aan. +BronUnID : mag een PRNr of UnID zijn. + - Als PRNr dan word .1 en .2 aangemaakt. + - Als UnID dan wordt bron .1 er een .2 bijgemaakt. +Als BronUnID leeg is, dan wordt automatisch het PRNr gebruikt. + +Return : Lijst met gewijzigde PRNr's + +Opgelet : er worden voor multiples geen TECH.Events.KenmerkModifiedEventData events geraised ! +BronUnID:%String +%ListOfDataTypes + + + + + +Verwijderen van een kenmerkenset voor opgegeven UnID (Multiple) +Indien er maar één multiple meer overschiet wordt het product automatisch een gewoon product zonder multiple. + +Return : Lijst met PRNr's die verwijderd zijn. + +Opgelet : er worden voor multiples geen TECH.Events.KenmerkModifiedEventData events geraised ! +UnID:%String +%ListOfDataTypes + DoelSubUnID){ + Set UnIDToRemove = ##class(BL.Kenm.ProdMulti).GetFullID(..PRNr,SubIDs(Current)) + Do ##class(Prod.Kenmerk.DataDefinitie).DeleteViaUnID(UnID,$LB(..KenmerkGroep)) + } + } + } + } + + Quit GewijzigdePRNrs +]]> + + + +UnID:%String +1 +%Status + + + + Index: vhUnitTest/DOM/PM/OL/Gamma/OPGZoekProductGroepen.cls.xml =================================================================== diff -u -r1074 -r1507 --- vhUnitTest/DOM/PM/OL/Gamma/OPGZoekProductGroepen.cls.xml (.../OPGZoekProductGroepen.cls.xml) (revision 1074) +++ vhUnitTest/DOM/PM/OL/Gamma/OPGZoekProductGroepen.cls.xml (.../OPGZoekProductGroepen.cls.xml) (revision 1507) @@ -112,8 +112,8 @@ set dtoGamma = implOrgaluxProductGamma.ZoekProductGroepen(ProductCriteria,,LadeSpec) if $IsObject(dtoGamma) { - do $$$AssertEquals(1,dtoGamma.ProductSubGroepen.GetAt("1").ProductGroepen.Count(),"Controle Groep") - do $$$AssertEquals("ICT_GrpKey01",dtoGamma.ProductSubGroepen.GetAt("1").ProductGroepen.GetAt(1).Identifier,"Controle Groep") + do $$$AssertEquals(2,dtoGamma.ProductSubGroepen.GetAt("1").ProductGroepen.Count(),"Controle Groep Test1") + do $$$AssertEquals("ICT_GrpKey01",dtoGamma.ProductSubGroepen.GetAt("1").ProductGroepen.GetAt(1).Identifier,"Controle Groep1 Test1") } else { do $$$AssertEquals(1,0,"TestZoekProductGroepen 1 geen resultaten") // failed @@ -139,8 +139,8 @@ set dtoGamma = implOrgaluxProductGamma.ZoekProductGroepen(ProductCriteria,,LadeSpec) if $IsObject(dtoGamma) { - do $$$AssertEquals(3,dtoGamma.ProductSubGroepen.GetAt("1").ProductGroepen.Count(),"Controle Groep") - do $$$AssertEquals("ICT_GrpKey03",dtoGamma.ProductSubGroepen.GetAt("1").ProductGroepen.GetAt(1).Identifier,"Controle Groep") + do $$$AssertEquals(3,dtoGamma.ProductSubGroepen.GetAt("1").ProductGroepen.Count(),"Controle Groep Test2") + do $$$AssertEquals("ICT_GrpKey03",dtoGamma.ProductSubGroepen.GetAt("1").ProductGroepen.GetAt(1).Identifier,"Controle Groep1 Test2") } else { do $$$AssertEquals(1,0,"TestZoekProductGroepen 2 geen resultaten") // failed @@ -175,8 +175,8 @@ set dtoGamma = implOrgaluxProductGamma.ZoekProductGroepen(ProductCriteria,,LadeSpec) if $IsObject(dtoGamma) { - do $$$AssertEquals(1,dtoGamma.ProductSubGroepen.GetAt("1").ProductGroepen.Count(),"Controle Groep") - do $$$AssertEquals("ICT_GrpKey13",dtoGamma.ProductSubGroepen.GetAt("1").ProductGroepen.GetAt(1).Identifier,"Controle Groep") + do $$$AssertEquals(1,dtoGamma.ProductSubGroepen.GetAt("1").ProductGroepen.Count(),"Controle Groep Test2a") + do $$$AssertEquals("ICT_GrpKey13",dtoGamma.ProductSubGroepen.GetAt("1").ProductGroepen.GetAt(1).Identifier,"Controle Groep1 Test2a") } else { do $$$AssertEquals(1,0,"TestZoekProductGroepen 2a geen resultaten") // failed @@ -206,14 +206,14 @@ set dtoGamma = implOrgaluxProductGamma.ZoekProductGroepen(ProductCriteria,,LadeSpec) if $IsObject(dtoGamma) { - do $$$AssertEquals(7,dtoGamma.ProductSubGroepen.GetAt("1").ProductGroepen.Count(),"Controle Groep") - do $$$AssertEquals("ICT_GrpKey03",dtoGamma.ProductSubGroepen.GetAt("1").ProductGroepen.GetAt(1).Identifier,"Controle Groep") - do $$$AssertEquals("ICT_GrpKey04",dtoGamma.ProductSubGroepen.GetAt("1").ProductGroepen.GetAt(2).Identifier,"Controle Groep") - do $$$AssertEquals("ICT_GrpKey05",dtoGamma.ProductSubGroepen.GetAt("1").ProductGroepen.GetAt(3).Identifier,"Controle Groep") - do $$$AssertEquals("ICT_GrpKey07",dtoGamma.ProductSubGroepen.GetAt("1").ProductGroepen.GetAt(4).Identifier,"Controle Groep") - do $$$AssertEquals("ICT_GrpKey06",dtoGamma.ProductSubGroepen.GetAt("1").ProductGroepen.GetAt(5).Identifier,"Controle Groep") - do $$$AssertEquals("ICT_GrpKey17a",dtoGamma.ProductSubGroepen.GetAt("1").ProductGroepen.GetAt(6).Identifier,"Controle Groep") - do $$$AssertEquals("ICT_GrpKey17b",dtoGamma.ProductSubGroepen.GetAt("1").ProductGroepen.GetAt(7).Identifier,"Controle Groep") + do $$$AssertEquals(7,dtoGamma.ProductSubGroepen.GetAt("1").ProductGroepen.Count(),"Controle Groep Test3") + do $$$AssertEquals("ICT_GrpKey03",dtoGamma.ProductSubGroepen.GetAt("1").ProductGroepen.GetAt(1).Identifier,"Controle Groep 1") + do $$$AssertEquals("ICT_GrpKey04",dtoGamma.ProductSubGroepen.GetAt("1").ProductGroepen.GetAt(2).Identifier,"Controle Groep 2") + do $$$AssertEquals("ICT_GrpKey05",dtoGamma.ProductSubGroepen.GetAt("1").ProductGroepen.GetAt(3).Identifier,"Controle Groep 3") + do $$$AssertEquals("ICT_GrpKey07",dtoGamma.ProductSubGroepen.GetAt("1").ProductGroepen.GetAt(4).Identifier,"Controle Groep 4") + do $$$AssertEquals("ICT_GrpKey06",dtoGamma.ProductSubGroepen.GetAt("1").ProductGroepen.GetAt(5).Identifier,"Controle Groep 5") + do $$$AssertEquals("ICT_GrpKey17a",dtoGamma.ProductSubGroepen.GetAt("1").ProductGroepen.GetAt(6).Identifier,"Controle Groep 6") + do $$$AssertEquals("ICT_GrpKey17b",dtoGamma.ProductSubGroepen.GetAt("1").ProductGroepen.GetAt(7).Identifier,"Controle Groep 7") } else { do $$$AssertEquals(1,0,"TestZoekProductGroepen 3 geen resultaten") // failed @@ -237,8 +237,8 @@ set dtoGamma = implOrgaluxProductGamma.ZoekProductGroepen(ProductCriteria,,LadeSpec) if $IsObject(dtoGamma) { - do $$$AssertEquals(2,dtoGamma.ProductSubGroepen.GetAt("1").ProductGroepen.Count(),"Controle Groep") - do $$$AssertEquals("ICT_GrpKey04",dtoGamma.ProductSubGroepen.GetAt("1").ProductGroepen.GetAt(1).Identifier,"Controle Groep") + do $$$AssertEquals(2,dtoGamma.ProductSubGroepen.GetAt("1").ProductGroepen.Count(),"Controle Groep Test4 a") + do $$$AssertEquals("ICT_GrpKey04",dtoGamma.ProductSubGroepen.GetAt("1").ProductGroepen.GetAt(1).Identifier,"Controle Groep Test4 b") } else { do $$$AssertEquals(1,0,"TestZoekProductGroepen 4 geen resultaten") // failed @@ -263,10 +263,10 @@ set dtoGamma = implOrgaluxProductGamma.ZoekProductGroepen(ProductCriteria,,LadeSpec) if $IsObject(dtoGamma) { - do $$$AssertEquals(3,dtoGamma.ProductSubGroepen.GetAt("1").ProductGroepen.Count(),"Controle Groep") - do $$$AssertEquals("ICT_GrpKey03",dtoGamma.ProductSubGroepen.GetAt("1").ProductGroepen.GetAt(1).Identifier,"Controle Groep") - do $$$AssertEquals("ICT_GrpKey17a",dtoGamma.ProductSubGroepen.GetAt("1").ProductGroepen.GetAt(2).Identifier,"Controle Groep") - do $$$AssertEquals("ICT_GrpKey17b",dtoGamma.ProductSubGroepen.GetAt("1").ProductGroepen.GetAt(3).Identifier,"Controle Groep") + do $$$AssertEquals(3,dtoGamma.ProductSubGroepen.GetAt("1").ProductGroepen.Count(),"Controle Groep Test5") + do $$$AssertEquals("ICT_GrpKey03",dtoGamma.ProductSubGroepen.GetAt("1").ProductGroepen.GetAt(1).Identifier,"Controle Groep1 Test5") + do $$$AssertEquals("ICT_GrpKey17a",dtoGamma.ProductSubGroepen.GetAt("1").ProductGroepen.GetAt(2).Identifier,"Controle Groep2 Test5") + do $$$AssertEquals("ICT_GrpKey17b",dtoGamma.ProductSubGroepen.GetAt("1").ProductGroepen.GetAt(3).Identifier,"Controle Groep3 Test5") } else { do $$$AssertEquals(1,0,"TestZoekProductGroepen 5 geen resultaten") // failed @@ -301,10 +301,10 @@ set dtoGamma = implOrgaluxProductGamma.ZoekProductGroepen(ProductCriteria,,LadeSpec) if $IsObject(dtoGamma) { - do $$$AssertEquals(3,dtoGamma.ProductSubGroepen.GetAt("1").ProductGroepen.Count(),"Controle Groep") - do $$$AssertEquals("ICT_GrpKey03",dtoGamma.ProductSubGroepen.GetAt("1").ProductGroepen.GetAt(1).Identifier,"Controle Groep") - do $$$AssertEquals("ICT_GrpKey17a",dtoGamma.ProductSubGroepen.GetAt("1").ProductGroepen.GetAt(2).Identifier,"Controle Groep") - do $$$AssertEquals("ICT_GrpKey17b",dtoGamma.ProductSubGroepen.GetAt("1").ProductGroepen.GetAt(3).Identifier,"Controle Groep") + do $$$AssertEquals(3,dtoGamma.ProductSubGroepen.GetAt("1").ProductGroepen.Count(),"Controle Groep Test6") + do $$$AssertEquals("ICT_GrpKey03",dtoGamma.ProductSubGroepen.GetAt("1").ProductGroepen.GetAt(1).Identifier,"Controle Groep1 Test6") + do $$$AssertEquals("ICT_GrpKey17a",dtoGamma.ProductSubGroepen.GetAt("1").ProductGroepen.GetAt(2).Identifier,"Controle Groep2 Test6") + do $$$AssertEquals("ICT_GrpKey17b",dtoGamma.ProductSubGroepen.GetAt("1").ProductGroepen.GetAt(3).Identifier,"Controle Groep3 Test6") } else { do $$$AssertEquals(1,0,"TestZoekProductGroepen 6 geen resultaten") // failed @@ -339,10 +339,10 @@ set dtoGamma = implOrgaluxProductGamma.ZoekProductGroepen(ProductCriteria,,LadeSpec) if $IsObject(dtoGamma) { - do $$$AssertEquals(3,dtoGamma.ProductSubGroepen.GetAt("1").ProductGroepen.Count(),"Controle Groep") - do $$$AssertEquals("ICT_GrpKey03",dtoGamma.ProductSubGroepen.GetAt("1").ProductGroepen.GetAt(1).Identifier,"Controle Groep") - do $$$AssertEquals("ICT_GrpKey17a",dtoGamma.ProductSubGroepen.GetAt("1").ProductGroepen.GetAt(2).Identifier,"Controle Groep") - do $$$AssertEquals("ICT_GrpKey17b",dtoGamma.ProductSubGroepen.GetAt("1").ProductGroepen.GetAt(3).Identifier,"Controle Groep") + do $$$AssertEquals(3,dtoGamma.ProductSubGroepen.GetAt("1").ProductGroepen.Count(),"Controle Groep Test7") + do $$$AssertEquals("ICT_GrpKey03",dtoGamma.ProductSubGroepen.GetAt("1").ProductGroepen.GetAt(1).Identifier,"Controle Groep1 Test7") + do $$$AssertEquals("ICT_GrpKey17a",dtoGamma.ProductSubGroepen.GetAt("1").ProductGroepen.GetAt(2).Identifier,"Controle Groep2 Test7") + do $$$AssertEquals("ICT_GrpKey17b",dtoGamma.ProductSubGroepen.GetAt("1").ProductGroepen.GetAt(3).Identifier,"Controle Groep3 Test7") } else { do $$$AssertEquals(1,0,"TestZoekProductGroepen 7 geen resultaten") // failed @@ -376,8 +376,8 @@ set dtoGamma = implOrgaluxProductGamma.ZoekProductGroepen(ProductCriteria,,LadeSpec) if $IsObject(dtoGamma) { - do $$$AssertEquals(1,dtoGamma.ProductSubGroepen.GetAt("1").ProductGroepen.Count(),"Controle Groep") - do $$$AssertEquals("ICT_GrpKey04",dtoGamma.ProductSubGroepen.GetAt("1").ProductGroepen.GetAt(1).Identifier,"Controle Groep") + do $$$AssertEquals(1,dtoGamma.ProductSubGroepen.GetAt("1").ProductGroepen.Count(),"Controle Groep Test8") + do $$$AssertEquals("ICT_GrpKey04",dtoGamma.ProductSubGroepen.GetAt("1").ProductGroepen.GetAt(1).Identifier,"Controle Groep1 Test8") } else { do $$$AssertEquals(1,0,"TestZoekProductGroepen 8 geen resultaten") // failed @@ -411,9 +411,9 @@ set dtoGamma = implOrgaluxProductGamma.ZoekProductGroepen(ProductCriteria,,LadeSpec) if $IsObject(dtoGamma) { - do $$$AssertEquals(2,dtoGamma.ProductSubGroepen.GetAt("1").ProductGroepen.Count(),"Controle Groep") - do $$$AssertEquals("ICT_GrpKey05",dtoGamma.ProductSubGroepen.GetAt("1").ProductGroepen.GetAt(1).Identifier,"Controle Groep") - do $$$AssertEquals("ICT_GrpKey06",dtoGamma.ProductSubGroepen.GetAt("1").ProductGroepen.GetAt(2).Identifier,"Controle Groep") + do $$$AssertEquals(2,dtoGamma.ProductSubGroepen.GetAt("1").ProductGroepen.Count(),"Controle Groep Test9") + do $$$AssertEquals("ICT_GrpKey05",dtoGamma.ProductSubGroepen.GetAt("1").ProductGroepen.GetAt(1).Identifier,"Controle Groep1 Test9") + do $$$AssertEquals("ICT_GrpKey06",dtoGamma.ProductSubGroepen.GetAt("1").ProductGroepen.GetAt(2).Identifier,"Controle Groep2 Test9") } else { do $$$AssertEquals(1,0,"TestZoekProductGroepen 9 geen resultaten") // failed @@ -439,8 +439,8 @@ Do $$$AssertTrue($IsObject(dtoGamma),"Er is een lijst gevonden") Do $$$AssertEquals(1,dtoGamma.AantalProducten,"1 product gevonden") - Do $$$AssertEquals(1,dtoGamma.ProductSubGroepen.GetAt("1").ProductGroepen.Count(),"Controle Groep") - Do $$$AssertEquals("ICT_GrpKey01",dtoGamma.ProductSubGroepen.GetAt("1").ProductGroepen.GetAt(1).Identifier,"Controle Groep") + Do $$$AssertEquals(1,dtoGamma.ProductSubGroepen.GetAt("1").ProductGroepen.Count(),"Controle Groep Test10") + Do $$$AssertEquals("ICT_GrpKey01",dtoGamma.ProductSubGroepen.GetAt("1").ProductGroepen.GetAt(1).Identifier,"Controle Groep1 Test10") ]]> @@ -460,8 +460,8 @@ Do $$$AssertTrue($IsObject(dtoGamma),"Er is een lijst gevonden") Do $$$AssertEquals(1,dtoGamma.AantalProducten,"1 product gevonden") - Do $$$AssertEquals(1,dtoGamma.ProductSubGroepen.GetAt("1").ProductGroepen.Count(),"Controle Groep") - Do $$$AssertEquals("ICT_GrpKey01",dtoGamma.ProductSubGroepen.GetAt("1").ProductGroepen.GetAt(1).Identifier,"Controle Groep") + Do $$$AssertEquals(1,dtoGamma.ProductSubGroepen.GetAt("1").ProductGroepen.Count(),"Controle Groep Test11") + Do $$$AssertEquals("ICT_GrpKey01",dtoGamma.ProductSubGroepen.GetAt("1").ProductGroepen.GetAt(1).Identifier,"Controle Groep1 Test11") ]]> @@ -482,8 +482,8 @@ Do $$$AssertTrue($IsObject(dtoGamma),"Er is een lijst gevonden") Do $$$AssertEquals(1,dtoGamma.AantalProducten,"1 product gevonden") - Do $$$AssertEquals(1,dtoGamma.ProductSubGroepen.GetAt("1").ProductGroepen.Count(),"Controle Groep") - Do $$$AssertEquals("ICT_GrpKey01",dtoGamma.ProductSubGroepen.GetAt("1").ProductGroepen.GetAt(1).Identifier,"Controle Groep") + Do $$$AssertEquals(1,dtoGamma.ProductSubGroepen.GetAt("1").ProductGroepen.Count(),"Controle Groep Test12") + Do $$$AssertEquals("ICT_GrpKey01",dtoGamma.ProductSubGroepen.GetAt("1").ProductGroepen.GetAt(1).Identifier,"Controle Groep1 Test12") ]]> @@ -504,8 +504,8 @@ Do $$$AssertTrue($IsObject(dtoGamma),"Er is een lijst gevonden") Do $$$AssertEquals(1,dtoGamma.AantalProducten,"1 product gevonden") - Do $$$AssertEquals(1,dtoGamma.ProductSubGroepen.GetAt("1").ProductGroepen.Count(),"Controle Groep") - Do $$$AssertEquals("ICT_GrpKey01",dtoGamma.ProductSubGroepen.GetAt("1").ProductGroepen.GetAt(1).Identifier,"Controle Groep") + Do $$$AssertEquals(1,dtoGamma.ProductSubGroepen.GetAt("1").ProductGroepen.Count(),"Controle Groep Test13") + Do $$$AssertEquals("ICT_GrpKey01",dtoGamma.ProductSubGroepen.GetAt("1").ProductGroepen.GetAt(1).Identifier,"Controle Groep1 Test13") ]]> @@ -534,8 +534,8 @@ Do $$$AssertTrue($IsObject(dtoGamma),"Er is een lijst gevonden") Do $$$AssertEquals(1,dtoGamma.AantalProducten,"1 product gevonden") - Do $$$AssertEquals(1,dtoGamma.ProductSubGroepen.GetAt("1").ProductGroepen.Count(),"Controle Groep") - Do $$$AssertEquals("ICT_GrpKey05",dtoGamma.ProductSubGroepen.GetAt("1").ProductGroepen.GetAt(1).Identifier,"Controle Groep") + Do $$$AssertEquals(1,dtoGamma.ProductSubGroepen.GetAt("1").ProductGroepen.Count(),"Controle Groep Test14") + Do $$$AssertEquals("ICT_GrpKey05",dtoGamma.ProductSubGroepen.GetAt("1").ProductGroepen.GetAt(1).Identifier,"Controle Groep1 Test14") ]]> @@ -563,8 +563,8 @@ Do $$$AssertTrue($IsObject(dtoGamma),"Er is een lijst gevonden") Do $$$AssertEquals(1,dtoGamma.AantalProducten,"1 product gevonden") - Do $$$AssertEquals(1,dtoGamma.ProductSubGroepen.GetAt("1").ProductGroepen.Count(),"Controle Groep") - Do $$$AssertEquals("ICT_GrpKey05",dtoGamma.ProductSubGroepen.GetAt("1").ProductGroepen.GetAt(1).Identifier,"Controle Groep") + Do $$$AssertEquals(1,dtoGamma.ProductSubGroepen.GetAt("1").ProductGroepen.Count(),"Controle Groep Test15") + Do $$$AssertEquals("ICT_GrpKey05",dtoGamma.ProductSubGroepen.GetAt("1").ProductGroepen.GetAt(1).Identifier,"Controle Groep1 Test15") ]]> @@ -593,8 +593,8 @@ Do $$$AssertTrue($IsObject(dtoGamma),"Er is een lijst gevonden") Do $$$AssertEquals(1,dtoGamma.AantalProducten,"1 product gevonden") - Do $$$AssertEquals(1,dtoGamma.ProductSubGroepen.GetAt("1").ProductGroepen.Count(),"Controle Groep") - Do $$$AssertEquals("ICT_GrpKey05",dtoGamma.ProductSubGroepen.GetAt("1").ProductGroepen.GetAt(1).Identifier,"Controle Groep") + Do $$$AssertEquals(1,dtoGamma.ProductSubGroepen.GetAt("1").ProductGroepen.Count(),"Controle Groep Test16 ") + Do $$$AssertEquals("ICT_GrpKey05",dtoGamma.ProductSubGroepen.GetAt("1").ProductGroepen.GetAt(1).Identifier,"Controle Groep1 Test16") ]]> @@ -621,8 +621,8 @@ Do $$$AssertTrue($IsObject(dtoGamma),"Er is een lijst gevonden") Do $$$AssertEquals(1,dtoGamma.AantalProducten,"1 product gevonden") - Do $$$AssertEquals(1,dtoGamma.ProductSubGroepen.GetAt("1").ProductGroepen.Count(),"Controle Groep") - Do $$$AssertEquals("ICT_GrpKey05",dtoGamma.ProductSubGroepen.GetAt("1").ProductGroepen.GetAt(1).Identifier,"Controle Groep") + Do $$$AssertEquals(1,dtoGamma.ProductSubGroepen.GetAt("1").ProductGroepen.Count(),"Controle Groep Tests16a") + Do $$$AssertEquals("ICT_GrpKey05",dtoGamma.ProductSubGroepen.GetAt("1").ProductGroepen.GetAt(1).Identifier,"Controle Groep1 Test16a") ]]> @@ -649,8 +649,8 @@ Do $$$AssertTrue($IsObject(dtoGamma),"Er is een lijst gevonden") Do $$$AssertEquals(1,dtoGamma.AantalProducten,"1 product gevonden") - Do $$$AssertEquals(1,dtoGamma.ProductSubGroepen.GetAt("1").ProductGroepen.Count(),"Controle Groep") - Do $$$AssertEquals("ICT_GrpKey05",dtoGamma.ProductSubGroepen.GetAt("1").ProductGroepen.GetAt(1).Identifier,"Controle Groep") + Do $$$AssertEquals(1,dtoGamma.ProductSubGroepen.GetAt("1").ProductGroepen.Count(),"Controle Groep Test16b") + Do $$$AssertEquals("ICT_GrpKey05",dtoGamma.ProductSubGroepen.GetAt("1").ProductGroepen.GetAt(1).Identifier,"Controle Groep1 Test16b") ]]> @@ -679,8 +679,8 @@ Do $$$AssertTrue($IsObject(dtoGamma),"Er is een lijst gevonden") Do $$$AssertEquals(1,dtoGamma.AantalProducten,"1 product gevonden") - Do $$$AssertEquals(1,dtoGamma.ProductSubGroepen.GetAt("1").ProductGroepen.Count(),"Controle Groep") - Do $$$AssertEquals("ICT_GrpKey05",dtoGamma.ProductSubGroepen.GetAt("1").ProductGroepen.GetAt(1).Identifier,"Controle Groep") + Do $$$AssertEquals(1,dtoGamma.ProductSubGroepen.GetAt("1").ProductGroepen.Count(),"Controle Groep Test17") + Do $$$AssertEquals("ICT_GrpKey05",dtoGamma.ProductSubGroepen.GetAt("1").ProductGroepen.GetAt(1).Identifier,"Controle Groep1 Test17") ]]> @@ -698,7 +698,7 @@ set dtoGamma = implOrgaluxProductGamma.ZoekProductGroepen(ProductCriteria,) if $IsObject(dtoGamma) { - do $$$AssertEquals(9,dtoGamma.ProductSubGroepen.GetAt("1").ProductGroepen.Count(),"Controle Groep") + do $$$AssertEquals(10,dtoGamma.ProductSubGroepen.GetAt("1").ProductGroepen.Count(),"Controle Groep TestHogeLade") } else { do $$$AssertTrue(0,"TestZoekProductGroepen HogeLade geen resultaten") // failed @@ -730,7 +730,7 @@ set dtoGamma = implOrgaluxProductGamma.ZoekProductGroepen(ProductCriteria,,) if $IsObject(dtoGamma) { - do $$$AssertEquals(6,dtoGamma.ProductSubGroepen.GetAt("1").ProductGroepen.Count(),"Controle Groep") + do $$$AssertEquals(7,dtoGamma.ProductSubGroepen.GetAt("1").ProductGroepen.Count(),"Controle Groep Test LageLade") } else { do $$$AssertTrue(0,"TestZoekProductGroepen LageLade geen resultaten") // failed Index: DOM/PM/ProductKenmerkenSets.cls.xml =================================================================== diff -u -r1391 -r1507 --- DOM/PM/ProductKenmerkenSets.cls.xml (.../ProductKenmerkenSets.cls.xml) (revision 1391) +++ DOM/PM/ProductKenmerkenSets.cls.xml (.../ProductKenmerkenSets.cls.xml) (revision 1507) @@ -7,7 +7,7 @@ 1 0 - + 1 %String @@ -31,19 +31,42 @@ + +Opgelet : er worden voor multiples geen TECH.Events.KenmerkModifiedEventData events geraised ! 1 -BronUnID:%String +BronUnID:%String,DoelUnID:%String DOM.PM.ProductKenmerkenSet + +Maak voor een product een multiple aan. +BronUnID : mag een PRNr of UnID zijn. + - Als PRNr dan word .1 en .2 aangemaakt. + - Als UnID dan wordt bron .1 er een .2 bijgemaakt. +Als BronUnID leeg is, dan wordt automatisch het PRNr gebruikt. + +Return : Lijst met gewijzigde PRNr's + +Opgelet : er worden voor multiples geen TECH.Events.KenmerkModifiedEventData events geraised ! 1 -DOM.PM.ProductKenmerkenSet +UnID:%String +%ListOfDataTypes + +Verwijderen van een kenmerkenset voor opgegeven UnID (Multiple) +Indien er maar één multiple meer overschiet wordt het product automatisch een gewoon product zonder multiple. + +Return : Lijst met gewijzigde PRNr's + +Opgelet : er worden voor multiples geen TECH.Events.KenmerkModifiedEventData events geraised ! 1 UnID:%String +%ListOfDataTypes + Index: APPS/PM/IKenmerkBuilder.cls.xml =================================================================== diff -u -r1218 -r1507 --- APPS/PM/IKenmerkBuilder.cls.xml (.../IKenmerkBuilder.cls.xml) (revision 1218) +++ APPS/PM/IKenmerkBuilder.cls.xml (.../IKenmerkBuilder.cls.xml) (revision 1507) @@ -165,6 +165,9 @@ UnIDsIterator:TECH.Iterator %Status JBL + 2011-02-28 -do ##class(vhUnitTest.Manager).RunTest("/debug/display=all","APPS.PM.TestKenmerkenService") +Do ##class(vhUnitTest.Manager).RunTest("/debug/display=all","APPS.PM.TestKenmerkenService") 1 vhUnitTest.TestCase,TECH.Error.ErrorAdaptor 0 @@ -57,11 +57,11 @@ do $$$AssertEquals(ProductenKenmerken.Kenmerken.Count(),PRNrs.Count(),"Aantal gevonden productkenmerken is het gelijk aan het aantal gevraagde producten.") - do $$$AssertEquals(ProductenKenmerken.Kenmerken.GetAt(1).Kenmerken.Count(),7,"Juiste aantal gedefineerde kenmerken.") + do $$$AssertEquals(ProductenKenmerken.Kenmerken.GetAt(1).Kenmerken.Count(),8,"Juiste aantal gedefineerde kenmerken.") do $$$AssertEquals(ProductenKenmerken.Kenmerken.GetAt(1).IDs.PRNr,PRNrs.GetAt(1),"PRNr komt overeen.") - do $$$AssertEquals(ProductenKenmerken.Kenmerken.GetAt(2).Kenmerken.Count(),14,"Juiste aantal gedefineerde kenmerken.") + do $$$AssertEquals(ProductenKenmerken.Kenmerken.GetAt(2).Kenmerken.Count(),15,"Juiste aantal gedefineerde kenmerken.") do $$$AssertEquals(ProductenKenmerken.Kenmerken.GetAt(2).Kenmerken.GetAt(1).KenmerkNaam,"ProductType","Kenmerknaam is correct ingevuld.") ]]> @@ -80,15 +80,15 @@ do $$$AssertEquals(ProductenKenmerken.Kenmerken.Count(),2,"Aantal gevonden productkenmerken is het gelijk aan het aantal gevraagde producten, twee omdat het een multiple product is.") - do $$$AssertEquals(ProductenKenmerken.Kenmerken.GetAt(1).Kenmerken.Count(),18,"Juiste aantal gedefineerde kenmerken voor ProductKenmerken1.") + do $$$AssertEquals(ProductenKenmerken.Kenmerken.GetAt(1).Kenmerken.Count(),19,"Juiste aantal gedefineerde kenmerken voor ProductKenmerken1.") do $$$AssertEquals(ProductenKenmerken.Kenmerken.GetAt(1).IDs.PRNr,PRNrs.GetAt(1),"PRNr komt overeen.") do $$$AssertEquals(ProductenKenmerken.Kenmerken.GetAt(1).IDs.MultipleNr,1,"MultipleNr 1 is in orde.") do $$$AssertEquals(ProductenKenmerken.Kenmerken.GetAt(2).IDs.MultipleNr,2,"MultipleNr 1 is in orde.") - do $$$AssertEquals(ProductenKenmerken.Kenmerken.GetAt(2).Kenmerken.Count(),18,"Juiste aantal gedefineerde kenmerken ProductKenmerken2.") + do $$$AssertEquals(ProductenKenmerken.Kenmerken.GetAt(2).Kenmerken.Count(),19,"Juiste aantal gedefineerde kenmerken ProductKenmerken2.") do $$$AssertEquals(ProductenKenmerken.Kenmerken.GetAt(2).Kenmerken.GetAt(1).KenmerkNaam,"ProductType","Kenmerknaam is correct ingevuld.") ]]> @@ -285,6 +285,67 @@ ]]> + + +Test het verwijderen van een kenmerkenset, waardoor er nog één multiple kenmerken set overschiet. +Ineens wordt ook een MultipleToOne uitgevoerd, zodat er één nieuwe kenmerken set bijkomt. +Startsituatie : 1003.1 en 1003.2 +Actie : verwijder 1003.2 +Eindsituatie : 1003 + + + + + +Test het verwijderen van een kenmerkenset, waardoor er nog twee multiple kenmerkensets overschieten. +Startsituatie : 1016.1 en 1016.2 en 1016.3 +Actie : verwijder 1016.2 +Eindsituatie : 1016.1 en 1016.2 + + + 1 KenmerkenModifiedEvent:TECH.Events.KenmerkenModifiedEvent @@ -295,5 +356,40 @@ } ]]> + + + +Test het maken van nieuwe KenmerkenSets voor opgegeven PRNrs. +Het maken zelf wordt getest in een andere unit test, namelijk : +do ##class(vhUnitTest.Manager).RunTest("/display=all","DOM.PM.TestProductKenmerkenSets") + + Index: TECH/Events/KenmerkModifiedEventData.cls.xml =================================================================== diff -u -r1224 -r1507 --- TECH/Events/KenmerkModifiedEventData.cls.xml (.../KenmerkModifiedEventData.cls.xml) (revision 1224) +++ TECH/Events/KenmerkModifiedEventData.cls.xml (.../KenmerkModifiedEventData.cls.xml) (revision 1507) @@ -1,6 +1,13 @@ + KopieerKenmerkenSets(BronUnID As %String) As DOM.PM.ProductKenmerkenSet +-> MaakNieuweKenmerkenSet() As DOM.PM.ProductKenmerkenSet +-> VerwijderKenmerkenSet(UnID As %String) +raisen GEEN events !]]> serial 1 TECH.PubSub.EventData @@ -55,6 +62,9 @@ Waarde + +Waarden + Index: DOM/PM/ProductKenmerkenSet.cls.xml =================================================================== diff -u -r1391 -r1507 --- DOM/PM/ProductKenmerkenSet.cls.xml (.../ProductKenmerkenSet.cls.xml) (revision 1391) +++ DOM/PM/ProductKenmerkenSet.cls.xml (.../ProductKenmerkenSet.cls.xml) (revision 1507) @@ -2,7 +2,7 @@ -JBL + 2011-06-09 +JBL + 2011-06-09 1 1 0 @@ -27,5 +27,12 @@ 1 Waarden:%ListOfDataTypes,KenmerkNaam:%String + + + +Instellen of een event moet geraised worden bij het wijzigen van kenmerken in deze kenmerkenset. +1 +RaiseEvent:%Boolean + Index: JBL Product AMF.prj.xml =================================================================== diff -u -r1258 -r1507 --- JBL Product AMF.prj.xml (.../JBL Product AMF.prj.xml) (revision 1258) +++ JBL Product AMF.prj.xml (.../JBL Product AMF.prj.xml) (revision 1507) @@ -1,9 +1,12 @@ - + + + + @@ -22,6 +25,7 @@ + @@ -42,6 +46,8 @@ + + @@ -53,16 +59,20 @@ + + + + @@ -74,6 +84,12 @@ + + + + + + Index: vhUnitTest/DOM/PM/TestProductKenmerkenSets.cls.xml =================================================================== diff -u --- vhUnitTest/DOM/PM/TestProductKenmerkenSets.cls.xml (revision 0) +++ vhUnitTest/DOM/PM/TestProductKenmerkenSets.cls.xml (revision 1507) @@ -0,0 +1,118 @@ + + + + +JBL + 2011-06-21 + +Do ##class(vhUnitTest.Manager).RunTest("/debug/display=all","DOM.PM.TestProductKenmerkenSets") +1 +vhUnitTest.TestCase +0 + + +vhUnitTest.DOM.PM.TestData +1 + + + +%Status + + + + +%Status + + + + + + + + + + + + Index: TECH/Concurrency/DbUtils.cls.xml =================================================================== diff -u -r1426 -r1507 --- TECH/Concurrency/DbUtils.cls.xml (.../DbUtils.cls.xml) (revision 1426) +++ TECH/Concurrency/DbUtils.cls.xml (.../DbUtils.cls.xml) (revision 1507) @@ -43,7 +43,6 @@ Else { // Release de zelf geplaatste lock voor de error - d WLIP^vhDBG(127,"%UnlockId "_Object_" ("_Object.%Id()_") [DbUtils]") Do Object.%UnlockId(Object.%Id(),0) Do ResultSet.Close() $$$ThrowError($$$errGeneralError,"De InstanceVersion van het te saven object met %Id='" _ Object.%Id() _ "' van klasse '" _ Object.%ClassName() _ "' werd niet gevonden in de databank!") @@ -52,7 +51,6 @@ If (Object.InstanceVersion < InstanceVersionDB) { // Release de zelf geplaatste lock voor de error - d WLIP^vhDBG(127,"%UnlockId "_Object_" ("_Object.%Id()_") [DbUtils]") set sc = Object.%UnlockId(Object.%Id(),0) if 'sc $$$ThrowError($$$errGeneralError,"UnlockError") Do ResultSet.Close() @@ -138,6 +136,14 @@ ]]> + +1 +Object:%Persistent,DeepClone:%Boolean +%Library.RegisteredObject + + + Hernoemd van CheckOptimisticConcurrencyNaSqlUpdate wegens te lang! Index: Default_JorenB.prj.xml =================================================================== diff -u -r1133 -r1507 --- Default_JorenB.prj.xml (.../Default_JorenB.prj.xml) (revision 1133) +++ Default_JorenB.prj.xml (.../Default_JorenB.prj.xml) (revision 1507) @@ -1,11 +1,73 @@ - + + + + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + + + + Index: APPS/PM/OL/MasterAutoGenerator.cls.xml =================================================================== diff -u -r1133 -r1507 --- APPS/PM/OL/MasterAutoGenerator.cls.xml (.../MasterAutoGenerator.cls.xml) (revision 1133) +++ APPS/PM/OL/MasterAutoGenerator.cls.xml (.../MasterAutoGenerator.cls.xml) (revision 1507) @@ -102,6 +102,57 @@ ]]> + +APPS.PM.OL.ProductKenmerken + + + + +KortTekstPatroonFactory + + + + + +JBL + 2011-06-21 +Geef voor het opgegeven UnID of PRNr de AUTO's +indien het opgegeven UnID of PRNr een MASTER is. +1 +UnID:%String +%Status + + + Prefetch all KenmerkWaardeMappings (for better performance) -1 UnID:%String -1 APPS.PM.OL.ProductKenmerken -JBL + 2011-02-28 +JBL + 2011-02-28 1 %RegisteredObject,%XML.Adaptor 0 -ProductKenmerken +APPS.PM.dto.Kenm.ProductKenmerken list Index: APPS/PM/OL/ProductKenmerken.cls.xml =================================================================== diff -u -r1073 -r1507 --- APPS/PM/OL/ProductKenmerken.cls.xml (.../ProductKenmerken.cls.xml) (revision 1073) +++ APPS/PM/OL/ProductKenmerken.cls.xml (.../ProductKenmerken.cls.xml) (revision 1507) @@ -330,38 +330,69 @@ ]]> + +%ListOfDataTypes + + + ImportLog:ImportLog %Status 50) WL^vhDBG("PotentieleVarianten #="_PotentieleVarianten.Count()) ; Alleen grote aantallen tonen in DebugWin - Set sc=$$$OK - Set CntVarianten=0 - Set i="" - For { - Set PotVariant=PotentieleVarianten.GetNext(.i) - Quit:(i="") ; Exit FOR - ;d WL^vhDBG("Check Prod "_PotVariant.PRNr_" "_PotVariant.KortTekst) - If PotVariant.IsVariant(..VariabeleKenmerken) { - // Kenmerken omzetten naar de variant en bewaren - Set sc=..BewaarKenmerkenVanVariant(ImportLog,PotVariant) - ;d WL^vhDBG("Status Bewaard voor Variant (PRNr:"_PotVariant.PRNr_") "_PotVariant.KortTekst_" = "_$S($$$ISOK(sc):"OK", 1:$$ParseStatus^vhLib(sc))_"") - Set CntVarianten=CntVarianten+1 - Quit:($$$ISERR(sc)) ; Exit FOR - } + Set Varianten = ..GeefVarianten() + Set VariantIt = ##class(TECH.ListIterator).%New(Varianten) + While (VariantIt.HasNext()){ + Set VariantPRNr = VariantIt.Next() + Set VariantObject = ##class(APPS.PM.OL.KortTekstPatroon).%New().CreatePatroonMatch(VariantPRNr,..VariabeleKenmerken) + + Set sc=..BewaarKenmerkenVanVariant(ImportLog,VariantObject) + d WLIP^vhDBG(127,"Status Bewaard voor Variant (PRNr:"_Variant_") "_PotVariant.KortTekst_" = "_$S($$$ISOK(sc):"OK", 1:$$ParseStatus^vhLib(sc))_"") } - - ;d WL^vhDBG("KortTekstPatroon : Code= "_KTPatroon.PatroonCode_" "_..KortTekst) ; _KTPatroon.KenmerkInKortTekstDefsToString()) - ;d WL^vhDBG("AUTOs bewaard # : "_CntVarianten_$S(CntVarianten=PotentieleVarianten.Count():" (alle varianten)", 1:" van "_PotentieleVarianten.Count()_" mogelijke varianten.")) - d WL^vhDBG($$LCVTSimple^vhLib($LB(..KortTekst,"KortTekstPatroon: ",..KortTekstPatroon.PatroonCode,,"AUTOs bewaard # : ",CntVarianten)_$S(CntVarianten=PotentieleVarianten.Count():$LB(" (alle varianten)"), 1:$LB(" van ",PotentieleVarianten.Count()," mogelijke varianten.")),$$$TAB)) - - Set:(CntVarianten=0) sc=$$$ERROR($$$GeneralError,"Geen varianten gevonden voor deze master ("_..UnID_" "_..KortTekst_" #KT="_PotentieleVarianten.Count()_")") + Set:(Varianten.Count()=0) sc=$$$ERROR($$$GeneralError,"Geen varianten gevonden voor deze master ("_..UnID_" "_..KortTekst_" #KT="_Varianten.Count()_")") Quit sc ]]> Index: vhUnitTest/DOM/PM/TestData.cls.xml =================================================================== diff -u -r1074 -r1507 --- vhUnitTest/DOM/PM/TestData.cls.xml (.../TestData.cls.xml) (revision 1074) +++ vhUnitTest/DOM/PM/TestData.cls.xml (.../TestData.cls.xml) (revision 1507) @@ -12,6 +12,8 @@ + +Opmerking eventueel nog toevoegen een masterproduct met multiples (vb : PRNr : 64879) @@ -50,6 +72,9 @@ do ..DeleteKenmerkenViaPRNr(PRNr) Kill ^KPR(PRNr) Kill ^PRSTOCK("D",PRNr) + Kill ^Prod.Ken.DataIndexD("OL","ProdMulti",PRNr) + Kill ^Prod.Ken.DataDefinitieD(PRNr) + For SubID=1:1:5 Kill ^Prod.Ken.DataDefinitieD(PRNr_"."_SubID) } do ..RemoveGroepSleutelsFromMetaDef() ]]> @@ -107,8 +132,10 @@ For i=1:1:$LL(lbUnIDs) { Set UnID=$LG(lbUnIDs,i) Set sc=##class(Prod.Kenmerk.DataDefinitie).DeleteViaUnID(UnID) + If $$$ISERR(sc) write $$ParseStatus^vhLib(sc),! ; throw error ofzo } + For SubID = 1 : 1 : 5 Kill ^Prod.Ken.DataDefinitieD(PRNr_"."_SubID) Quit ]]> @@ -126,28 +153,31 @@ Do $$$ProdKenmSetAt("","Sleutel") Do $$$ProdKenmSetAt("","InfoSleutel") Do $$$ProdKenmSetAt("ICT_GrpKey01","GroepSleutel") + Do $$$ProdKenmSetAt($LB("SINGLE"),"GeneratieType") Do $$$ProdKenmSetAt($LB("vhUnitTest.com"),"WebSites") Do $$$ProdKenmSetAt($LB("Keuken"),"MeubelToepassing") Do $$$ProdKenmSetAt($LB("Voorraad_Brood_Ontbijt"),"ZoneToepassing") Do $$$ProdKenmSetAt($LB("Set"),"SamenstellingsType") } - if PRNr="1002" { + Elseif PRNr="1002" { Do $$$ProdKenmSetAt("","Sleutel") Do $$$ProdKenmSetAt("","InfoSleutel") Do $$$ProdKenmSetAt("ICT_GrpKey02","GroepSleutel") + Do $$$ProdKenmSetAt($LB("SINGLE"),"GeneratieType") Do $$$ProdKenmSetAt($LB("vhUnitTest.com"),"WebSites") Do $$$ProdKenmSetAt($LB("Badkamer"),"MeubelToepassing") Do $$$ProdKenmSetAt($LB("Voorraad_OngekoeldeDranken"),"ZoneToepassing") Do $$$ProdKenmSetAt($LB("Set"),"SamenstellingsType") } - If PRNr="1003" { + Elseif PRNr="1003" { Set UnID = "1003.1" Set sc=..BLProdMulti.AddProdMultiKenmerk(UnID) Do $$$ProdKenmSetAt("","Sleutel") Do $$$ProdKenmSetAt("","InfoSleutel") Do $$$ProdKenmSetAt("ICT_GrpKey03","GroepSleutel") + Do $$$ProdKenmSetAt($LB("SINGLE"),"GeneratieType") Do $$$ProdKenmSetAt($LB("vhUnitTest.com"),"WebSites") Do $$$ProdKenmSetAt($LB("Keuken"),"MeubelToepassing") Do $$$ProdKenmSetAt($LB("Opbergen_Bestek","Voorbereiden_Snijplanken"),"ZoneToepassing") @@ -166,14 +196,13 @@ Do $$$ProdKenmSetAt($LB("wit"),"KleurFilter") Do $$$ProdKenmSetAt($LB("TIPS_Staaf_geschikt_voor_bordenplaten","TIPS_Antislipmat_AanTeRaden_SepBestellen"),"BOWeten") - } - If PRNr="1003" { Set UnID = "1003.2" Set sc=..BLProdMulti.AddProdMultiKenmerk(UnID) Do $$$ProdKenmSetAt("","Sleutel") Do $$$ProdKenmSetAt("","InfoSleutel") Do $$$ProdKenmSetAt("ICT_GrpKey03","GroepSleutel") + Do $$$ProdKenmSetAt($LB("SINGLE"),"GeneratieType") Do $$$ProdKenmSetAt($LB("vhUnitTest.com"),"WebSites") Do $$$ProdKenmSetAt($LB("Keuken"),"MeubelToepassing") Do $$$ProdKenmSetAt($LB("Opbergen_Bestek","Voorbereiden_Snijplanken"),"ZoneToepassing") @@ -194,10 +223,11 @@ Do $$$ProdKenmSetAt($LB("TIPS_Staaf_geschikt_voor_bordenplaten"),"BOWeten") } - If PRNr="1004"{ + ElseIf PRNr="1004"{ Do $$$ProdKenmSetAt("","Sleutel") Do $$$ProdKenmSetAt("","InfoSleutel") Do $$$ProdKenmSetAt("ICT_GrpKey04","GroepSleutel") + Do $$$ProdKenmSetAt($LB("SINGLE"),"GeneratieType") Do $$$ProdKenmSetAt($LB("vhUnitTest.com"),"WebSites") Do $$$ProdKenmSetAt($LB("Keuken"),"MeubelToepassing") Do $$$ProdKenmSetAt($LB("Opbergen_Borden"),"ZoneToepassing") @@ -213,10 +243,11 @@ Do $$$ProdKenmSetAt("40","ProductHoogte") } - If PRNr="1005" { + ElseIf PRNr="1005" { Do $$$ProdKenmSetAt("","Sleutel") Do $$$ProdKenmSetAt("","InfoSleutel") Do $$$ProdKenmSetAt("ICT_GrpKey05","GroepSleutel") + Do $$$ProdKenmSetAt($LB("SINGLE"),"GeneratieType") Do $$$ProdKenmSetAt($LB("vhUnitTest.com"),"WebSites") Do $$$ProdKenmSetAt($LB("Keuken"),"MeubelToepassing") Do $$$ProdKenmSetAt($LB("Opbergen_Borden"),"ZoneToepassing") @@ -232,10 +263,11 @@ Do $$$ProdKenmSetAt("50","ProductHoogte") } - If PRNr="1006" { + ElseIf PRNr="1006" { Do $$$ProdKenmSetAt("","Sleutel") Do $$$ProdKenmSetAt("","InfoSleutel") Do $$$ProdKenmSetAt("ICT_GrpKey06","GroepSleutel") + Do $$$ProdKenmSetAt($LB("SINGLE"),"GeneratieType") Do $$$ProdKenmSetAt($LB("vhUnitTest.com"),"WebSites") Do $$$ProdKenmSetAt($LB("Keuken"),"MeubelToepassing") Do $$$ProdKenmSetAt($LB("Opbergen_Borden"),"ZoneToepassing") @@ -251,10 +283,11 @@ Do $$$ProdKenmSetAt("70","ProductHoogte") } - If PRNr="1007" { + ElseIf PRNr="1007" { Do $$$ProdKenmSetAt("","Sleutel") Do $$$ProdKenmSetAt("","InfoSleutel") Do $$$ProdKenmSetAt("ICT_GrpKey07","GroepSleutel") + Do $$$ProdKenmSetAt($LB("SINGLE"),"GeneratieType") Do $$$ProdKenmSetAt($LB("vhUnitTest.com"),"WebSites") Do $$$ProdKenmSetAt($LB("Keuken"),"MeubelToepassing") Do $$$ProdKenmSetAt($LB("Opbergen_Borden"),"ZoneToepassing") @@ -272,11 +305,12 @@ } - If PRNr="1008" { + ElseIf PRNr="1008" { Set sc=..BLProdMulti.AddProdMultiKenmerk(UnID) Do $$$ProdKenmSetAt("","Sleutel") Do $$$ProdKenmSetAt("","InfoSleutel") Do $$$ProdKenmSetAt("ICT_GrpKey10","GroepSleutel") + Do $$$ProdKenmSetAt($LB("SINGLE"),"GeneratieType") Do $$$ProdKenmSetAt($LB("vhUnitTest.com"),"WebSites") Do $$$ProdKenmSetAt($LB("Keuken"),"MeubelToepassing") Do $$$ProdKenmSetAt($LB("SpoelenEnAfval_Afvalscheiding"),"ZoneToepassing") @@ -293,11 +327,12 @@ Do $$$ProdKenmSetAt($LB("TIPS_Antislipmat_AanTeRaden_SepBestellen"),"BOWeten") } - If PRNr="1009" { + ElseIf PRNr="1009" { Set sc=..BLProdMulti.AddProdMultiKenmerk(UnID) Do $$$ProdKenmSetAt("","Sleutel") Do $$$ProdKenmSetAt("","InfoSleutel") Do $$$ProdKenmSetAt("ICT_GrpKey10","GroepSleutel") + Do $$$ProdKenmSetAt($LB("SINGLE"),"GeneratieType") Do $$$ProdKenmSetAt($LB("vhUnitTest.com"),"WebSites") Do $$$ProdKenmSetAt($LB("Keuken"),"MeubelToepassing") Do $$$ProdKenmSetAt($LB("SpoelenEnAfval_Afvalscheiding"),"ZoneToepassing") @@ -315,11 +350,12 @@ } - If PRNr="1010" { + ElseIf PRNr="1010" { Set sc=..BLProdMulti.AddProdMultiKenmerk(UnID) Do $$$ProdKenmSetAt("","Sleutel") Do $$$ProdKenmSetAt("","InfoSleutel") Do $$$ProdKenmSetAt("ICT_GrpKey10","GroepSleutel") + Do $$$ProdKenmSetAt($LB("SINGLE"),"GeneratieType") Do $$$ProdKenmSetAt($LB("vhUnitTest.com"),"WebSites") Do $$$ProdKenmSetAt($LB("Keuken"),"MeubelToepassing") Do $$$ProdKenmSetAt($LB("SpoelenEnAfval_Afvalscheiding"),"ZoneToepassing") @@ -338,10 +374,11 @@ Set $piece(^KPR(PRNr,"J5005"),"\",19)= 100 // ProductPrijs } - If PRNr="1011" { + ElseIf PRNr="1011" { Do $$$ProdKenmSetAt("","Sleutel") Do $$$ProdKenmSetAt("","InfoSleutel") Do $$$ProdKenmSetAt("ICT_GrpKey11","GroepSleutel") + Do $$$ProdKenmSetAt($LB("SINGLE"),"GeneratieType") Do $$$ProdKenmSetAt($LB("vhUnitTest.com"),"WebSites") Do $$$ProdKenmSetAt($LB("Keuken"),"MeubelToepassing") Do $$$ProdKenmSetAt($LB("SpoelenEnAfval_Afvalscheiding"),"ZoneToepassing") @@ -360,10 +397,11 @@ Set $piece(^KPR(PRNr,"J5005"),"\",19)= 100 // ProductPrijs } - If PRNr="1012" { + ElseIf PRNr="1012" { Do $$$ProdKenmSetAt("","Sleutel") Do $$$ProdKenmSetAt("","InfoSleutel") Do $$$ProdKenmSetAt("ICT_GrpKey12","GroepSleutel") + Do $$$ProdKenmSetAt($LB("SINGLE"),"GeneratieType") Do $$$ProdKenmSetAt($LB("vhUnitTest.com"),"WebSites") Do $$$ProdKenmSetAt($LB("Keuken"),"MeubelToepassing") Do $$$ProdKenmSetAt($LB("SpoelenEnAfval_Afvalscheiding"),"ZoneToepassing") @@ -383,12 +421,13 @@ } - If PRNr="1013" { + ElseIf PRNr="1013" { Set UnID = "1013.1" Set sc=..BLProdMulti.AddProdMultiKenmerk(UnID) Do $$$ProdKenmSetAt("","Sleutel") Do $$$ProdKenmSetAt("","InfoSleutel") Do $$$ProdKenmSetAt("ICT_GrpKey13","GroepSleutel") + Do $$$ProdKenmSetAt($LB("SINGLE"),"GeneratieType") Do $$$ProdKenmSetAt($LB("vhUnitTest.com"),"WebSites") Do $$$ProdKenmSetAt($LB("Keuken"),"MeubelToepassing") Do $$$ProdKenmSetAt($LB("KokenEnBakken_Potten_Pannen"),"ZoneToepassing") @@ -407,14 +446,13 @@ Do $$$ProdKenmSetAt($LB("wit"),"KleurFilter") Do $$$ProdKenmSetAt($LB("TIPS_Staaf_geschikt_voor_bordenplaten","TIPS_Antislipmat_AanTeRaden_SepBestellen"),"BOWeten") - } - - If PRNr="1013" { + Set UnID = "1013.2" Set sc=..BLProdMulti.AddProdMultiKenmerk(UnID) Do $$$ProdKenmSetAt("","Sleutel") Do $$$ProdKenmSetAt("","InfoSleutel") Do $$$ProdKenmSetAt("ICT_GrpKey13","GroepSleutel") + Do $$$ProdKenmSetAt($LB("SINGLE"),"GeneratieType") Do $$$ProdKenmSetAt($LB("vhUnitTest.com"),"WebSites") Do $$$ProdKenmSetAt($LB("Keuken"),"MeubelToepassing") Do $$$ProdKenmSetAt($LB("KokenEnBakken_Potten_Pannen"),"ZoneToepassing") @@ -437,10 +475,11 @@ // 1014 en 1015 en 1016 (Added by WimV) // Testen of producten geselecteerd worden indien kenmerk(en) niet aanwezig in product - If PRNr="1014" { + ElseIf PRNr="1014" { Do $$$ProdKenmSetAt("","Sleutel") Do $$$ProdKenmSetAt("","InfoSleutel") Do $$$ProdKenmSetAt("ICT_GrpKey14","GroepSleutel") + Do $$$ProdKenmSetAt($LB("SINGLE"),"GeneratieType") Do $$$ProdKenmSetAt($LB("vhUnitTest.com"),"WebSites") Do $$$ProdKenmSetAt($LB("Keuken"),"MeubelToepassing") Do $$$ProdKenmSetAt($LB("Voorbereiden_Messen"),"ZoneToepassing") @@ -459,10 +498,11 @@ Do $$$ProdKenmSetAt($LB("grijs"),"KleurFilter") } - If PRNr="1015" { + ElseIf PRNr="1015" { Do $$$ProdKenmSetAt("","Sleutel") Do $$$ProdKenmSetAt("","InfoSleutel") Do $$$ProdKenmSetAt("ICT_GrpKey14","GroepSleutel") + Do $$$ProdKenmSetAt($LB("SINGLE"),"GeneratieType") Do $$$ProdKenmSetAt($LB("vhUnitTest.com"),"WebSites") Do $$$ProdKenmSetAt($LB("Keuken"),"MeubelToepassing") Do $$$ProdKenmSetAt($LB("Voorbereiden_Messen"),"ZoneToepassing") @@ -473,14 +513,15 @@ Do $$$ProdKenmSetAt("grijs","Kleur") } - If PRNr="1016" { // Voor deze producten zijn de kenmerken Website, MeubelToepassing, ZoneToepassing (resp.) niet aanwezig, de rest is zelfde als PRNr 1014 + ElseIf PRNr="1016" { // Voor deze producten zijn de kenmerken Website, MeubelToepassing, ZoneToepassing (resp.) niet aanwezig, de rest is zelfde als PRNr 1014 For idxSubID="1","2","3" { Set UnID = "1016"_"."_idxSubID Set sc=..BLProdMulti.AddProdMultiKenmerk(UnID) Do $$$ProdKenmSetAt("","Sleutel") Do $$$ProdKenmSetAt("","InfoSleutel") Do $$$ProdKenmSetAt("ICT_GrpKey14","GroepSleutel") + Do $$$ProdKenmSetAt($LB("SINGLE"),"GeneratieType") Do:(idxSubID'=1) $$$ProdKenmSetAt($LB("vhUnitTest.com"),"WebSites") Do:(idxSubID'=2) $$$ProdKenmSetAt($LB("Keuken"),"MeubelToepassing") Do:(idxSubID'=3) $$$ProdKenmSetAt($LB("Voorbereiden_Messen"),"ZoneToepassing") @@ -500,12 +541,13 @@ } } - If PRNr="1017" { + ElseIf PRNr="1017" { Set UnID = "1017.1" Set sc=..BLProdMulti.AddProdMultiKenmerk(UnID) Do $$$ProdKenmSetAt("","Sleutel") Do $$$ProdKenmSetAt("","InfoSleutel") Do $$$ProdKenmSetAt("ICT_GrpKey17a","GroepSleutel") + Do $$$ProdKenmSetAt($LB("SINGLE"),"GeneratieType") Do $$$ProdKenmSetAt($LB("vhUnitTest.com"),"WebSites") Do $$$ProdKenmSetAt($LB("Keuken"),"MeubelToepassing") Do $$$ProdKenmSetAt($LB("Opbergen_Bestek","Voorbereiden_Snijplanken"),"ZoneToepassing") @@ -524,14 +566,13 @@ Do $$$ProdKenmSetAt($LB("wit"),"KleurFilter") Do $$$ProdKenmSetAt($LB("TIPS_Staaf_geschikt_voor_bordenplaten","TIPS_Antislipmat_AanTeRaden_SepBestellen"),"BOWeten") - } - - If PRNr="1017" { + Set UnID = "1017.2" Set sc=..BLProdMulti.AddProdMultiKenmerk(UnID) Do $$$ProdKenmSetAt("","Sleutel") Do $$$ProdKenmSetAt("","InfoSleutel") Do $$$ProdKenmSetAt("ICT_GrpKey17b","GroepSleutel") + Do $$$ProdKenmSetAt($LB("SINGLE"),"GeneratieType") Do $$$ProdKenmSetAt($LB("vhUnitTest.com"),"WebSites") Do $$$ProdKenmSetAt($LB("Keuken"),"MeubelToepassing") Do $$$ProdKenmSetAt($LB("Opbergen_Bestek","Voorbereiden_Snijplanken"),"ZoneToepassing") @@ -552,12 +593,96 @@ Do $$$ProdKenmSetAt($LB("TIPS_Staaf_geschikt_voor_bordenplaten"),"BOWeten") } - If PRNr="1099" { + ElseIf PRNr="1018" { + Do $$$ProdKenmSetAt("","Sleutel") + Do $$$ProdKenmSetAt("","InfoSleutel") + Do $$$ProdKenmSetAt("ICT_GrpKey18","GroepSleutel") + Do $$$ProdKenmSetAt($LB("MASTER"),"GeneratieType") + Do $$$ProdKenmSetAt($LB("vhUnitTest.com"),"WebSites") + Do $$$ProdKenmSetAt($LB("Keuken"),"MeubelToepassing") + Do $$$ProdKenmSetAt($LB("Voorraad_Brood_Ontbijt"),"ZoneToepassing") + Do $$$ProdKenmSetAt($LB("Set"),"SamenstellingsType") + Do $$$ProdKenmSetAt($LB("275;300;400;450;500;550;600;700;800;900;1000;1100;1200;1300;1400"),"MasterVoorBreedtes") + Do $$$ProdKenmSetAt($LB("270;300;350;400"),"MasterVoorDieptes") + Do $$$ProdKenmSetAt($LB("16;18"),"MasterVoorWandDiktes") + Do $$$ProdKenmSetAt($LB("18"),"WandDikte") + Do $$$ProdKenmSetAt($LB("400"),"Diepte") + Do $$$ProdKenmSetAt($LB("1000"),"LadeBreedteMin") + + } + + ElseIf PRNr="1019" { + Do $$$ProdKenmSetAt("","Sleutel") + Do $$$ProdKenmSetAt("","InfoSleutel") + Do $$$ProdKenmSetAt("ICT_GrpKey19","GroepSleutel") + Do $$$ProdKenmSetAt($LB("AUTO"),"GeneratieType") + Do $$$ProdKenmSetAt($LB("vhUnitTest.com"),"WebSites") + Do $$$ProdKenmSetAt($LB("Badkamer"),"MeubelToepassing") + Do $$$ProdKenmSetAt($LB("Voorraad_OngekoeldeDranken"),"ZoneToepassing") + Do $$$ProdKenmSetAt($LB("Set"),"SamenstellingsType") + } + + ElseIf PRNr="1020" { + Do $$$ProdKenmSetAt("","Sleutel") + Do $$$ProdKenmSetAt("","InfoSleutel") + Do $$$ProdKenmSetAt("ICT_GrpKey20","GroepSleutel") + Do $$$ProdKenmSetAt($LB("AUTO"),"GeneratieType") + Do $$$ProdKenmSetAt($LB("vhUnitTest.com"),"WebSites") + Do $$$ProdKenmSetAt($LB("Badkamer"),"MeubelToepassing") + Do $$$ProdKenmSetAt($LB("Voorraad_OngekoeldeDranken"),"ZoneToepassing") + Do $$$ProdKenmSetAt($LB("Set"),"SamenstellingsType") + } + + ElseIf PRNr="1021" { + Do $$$ProdKenmSetAt("","Sleutel") + Do $$$ProdKenmSetAt("","InfoSleutel") + Do $$$ProdKenmSetAt("ICT_GrpKey21","GroepSleutel") + Do $$$ProdKenmSetAt($LB("AUTO"),"GeneratieType") + Do $$$ProdKenmSetAt($LB("vhUnitTest.com"),"WebSites") + Do $$$ProdKenmSetAt($LB("Badkamer"),"MeubelToepassing") + Do $$$ProdKenmSetAt($LB("Voorraad_OngekoeldeDranken"),"ZoneToepassing") + Do $$$ProdKenmSetAt($LB("Set"),"SamenstellingsType") + Do $$$ProdKenmSetAt($LB("400"),"Diepte") + Do $$$ProdKenmSetAt($LB("275"),"LadeBreedteAangeraden") + Do $$$ProdKenmSetAt($LB("275"),"LadeBreedteMin") + Do $$$ProdKenmSetAt($LB("275"),"LadeBreedteMax") + Do $$$ProdKenmSetAt($LB("Alle_TBX_geen_bevestigingen_nodig"),"LadeFamilie") + Do $$$ProdKenmSetAt($LB("Antislipmatten"),"ProductType") + Do $$$ProdKenmSetAt($LB("16"),"WandDikte") + Do $$$ProdKenmSetAt($LB("BS_ACC_antislipmat"),"GroepSleutel") + Do $$$ProdKenmSetAt($LB("AOxx"),"InfoSleutel") + } + + Elseif PRNr="1022" { + Do $$$ProdKenmSetAt("","Sleutel") + Do $$$ProdKenmSetAt("","InfoSleutel") + Do $$$ProdKenmSetAt("ICT_GrpKey22","GroepSleutel") + Do $$$ProdKenmSetAt($LB("SINGLE"),"GeneratieType") + Do $$$ProdKenmSetAt($LB("vhUnitTest.com"),"WebSites") + Do $$$ProdKenmSetAt($LB("Badkamer"),"MeubelToepassing") + Do $$$ProdKenmSetAt($LB("Voorraad_OngekoeldeDranken"),"ZoneToepassing") + Do $$$ProdKenmSetAt($LB("Set"),"SamenstellingsType") + } + + Elseif PRNr="1023" { + Do $$$ProdKenmSetAt("","Sleutel") + Do $$$ProdKenmSetAt("","InfoSleutel") + Do $$$ProdKenmSetAt("ICT_GrpKey23","GroepSleutel") + Do $$$ProdKenmSetAt($LB("SINGLE"),"GeneratieType") + Do $$$ProdKenmSetAt($LB("vhUnitTest.com"),"WebSites") + Do $$$ProdKenmSetAt($LB("Badkamer"),"MeubelToepassing") + Do $$$ProdKenmSetAt($LB("Voorraad_OngekoeldeDranken"),"ZoneToepassing") + Do $$$ProdKenmSetAt($LB("Set"),"SamenstellingsType") + } + + + ElseIf PRNr="1099" { Set UnID = "1099.1" Set sc=..BLProdMulti.AddProdMultiKenmerk(UnID) Do $$$ProdKenmSetAt("","Sleutel") Do $$$ProdKenmSetAt("","InfoSleutel") Do $$$ProdKenmSetAt("GS_ACC_antislipmat","GroepSleutel") + Do $$$ProdKenmSetAt($LB("SINGLE"),"GeneratieType") Do $$$ProdKenmSetAt($LB("vhUnitTest.com"),"WebSites") Do $$$ProdKenmSetAt($LB("Keuken"),"MeubelToepassing") Do $$$ProdKenmSetAt($LB("Basisproducten_Antislipmatten"),"ZoneToepassing") @@ -576,6 +701,7 @@ Set sc=..BLProdMulti.AddProdMultiKenmerk(UnID) Do $$$ProdKenmSetAt("","Sleutel") Do $$$ProdKenmSetAt("","InfoSleutel") + Do $$$ProdKenmSetAt($LB("SINGLE"),"GeneratieType") Do $$$ProdKenmSetAt("GS_ACC_antislipmat","GroepSleutel") Do $$$ProdKenmSetAt($LB("vhUnitTest.com"),"WebSites") Do $$$ProdKenmSetAt($LB("Keuken"),"MeubelToepassing") Index: vhUnitTest/APPS/PM/TestProductService.cls.xml =================================================================== diff -u -r1409 -r1507 --- vhUnitTest/APPS/PM/TestProductService.cls.xml (.../TestProductService.cls.xml) (revision 1409) +++ vhUnitTest/APPS/PM/TestProductService.cls.xml (.../TestProductService.cls.xml) (revision 1507) @@ -48,7 +48,7 @@ Index: vhUnitTest/TECH/Concurrency/TestOperationScope.cls.xml =================================================================== diff -u --- vhUnitTest/TECH/Concurrency/TestOperationScope.cls.xml (revision 0) +++ vhUnitTest/TECH/Concurrency/TestOperationScope.cls.xml (revision 1507) @@ -0,0 +1,74 @@ + + + + +Do ##class(vhUnitTest.Manager).RunTest("/debug/display=all","TECH.Concurrency.TestOperationScope") +1 +AbstractTxTest +0 + + +%String + + + +%Status + + + + +%Status + + + + + + + + + + + + Index: DOM/PM/impl/DataM/DataMProductAPI.cls.xml =================================================================== diff -u -r1336 -r1507 --- DOM/PM/impl/DataM/DataMProductAPI.cls.xml (.../DataMProductAPI.cls.xml) (revision 1336) +++ DOM/PM/impl/DataM/DataMProductAPI.cls.xml (.../DataMProductAPI.cls.xml) (revision 1507) @@ -163,5 +163,86 @@ + + + +Geef de enige kenmerkenset van het opgegeven PRNr +PRNr:%Integer,KenmerkGroep:%String +DOM.PM.ProductKenmerkenSet + + + + + +Geef meerdere kenmerkenset van het opgegeven PRNr, bij multiples +PRNr:%Integer,KenmerkGroep:%String +DOM.PM.ProductKenmerkenSets + + + + +ProductKenmerkenSet:DOM.PM.ProductKenmerkenSet +Prod.Kenmerk.Orgalux + + + + + +ZetKenmerWaarden voor de opgegeven +ProductenKenmerken:APPS.PM.dto.Kenm.ProductenKenmerken +%Status + 0) + { + Set KenmerkenModifiedEvent = ##class(TECH.Events.KenmerkenModifiedEvent).%New(KenmerkenModifiedEventData) + Do ##class(TECH.PubSub.OrchestrationContext).GetEventRaiser().RaiseEventAsync(KenmerkenModifiedEvent) + } + Quit $$$OK +]]> + Index: TECH/Concurrency/Transactie.cls.xml =================================================================== diff -u -r1074 -r1507 --- TECH/Concurrency/Transactie.cls.xml (.../Transactie.cls.xml) (revision 1074) +++ TECH/Concurrency/Transactie.cls.xml (.../Transactie.cls.xml) (revision 1507) @@ -165,10 +165,14 @@ 1 @@ -201,7 +205,9 @@ Bericht 1 - Index: Prod/Kenmerk/DataDefinitie.cls.xml =================================================================== diff -u -r1377 -r1507 --- Prod/Kenmerk/DataDefinitie.cls.xml (.../DataDefinitie.cls.xml) (revision 1377) +++ Prod/Kenmerk/DataDefinitie.cls.xml (.../DataDefinitie.cls.xml) (revision 1507) @@ -448,7 +448,6 @@ If blnOverwrite Set sc=..DeleteViaUnID(ToUnID,$LB(GroepID)) Else If ..Exists(ToUnID,GroepID) Set sc=$$$ERROR($$$GeneralError,$$$msgDestProdNotEmpty(ToUnID)) Quit:($$$ISERR(sc)) sc - ; Copy all kenmerken for this GroepID &sql(DECLARE crsCP CURSOR FOR SELECT ID,Kenmerk->Groep INTO :DDefID,:KenmerkGroep FROM Prod_Kenmerk.DataDefinitie @@ -458,15 +457,21 @@ For &sql(FETCH crsCP) Quit:SQLCODE Do Quit:($$$ISERR(sc)) . If $LL($G(lbExcludeGroepIDs)) Quit:$LF(lbExcludeGroepIDs,KenmerkGroep) - . Set objFrom=##class(Prod.Kenmerk.DataDefinitie).%OpenId(DDefID) + . Set objFrom=##class(Prod.Kenmerk.DataDefinitie).OpenId(DDefID) . Set objNew=objFrom.%ConstructClone(0) + . ;Set DDefIDNew = "381469.1||"_$Piece(DDefID,"||",2,99) + . ;w DDefIDNew,! + . ;Set objNew = ##class(Prod.Kenmerk.DataDefinitie).OpenId(DDefIDNew) . Set objNew.UnID=ToUnID . ;Do objNew.ProductSetObjectId(ToPRNr) . Set objNew.WijzigTijdstip="" ; $zdt($H,4) + . Set:UserID="" UserID = ##class(TECH.Context.RuntimeContext).Instance().GeefGebruikerInitialen() . Set:($L($G(UserID))) objNew.WijzigGebruiker=UserID - . Set sc=objNew.%Save() + . Set sc=objNew.Save() + . Lock -^Prod.Ken.DataDefinitieD(ToUnID,"") . Set objFrom="" . Set objNew="" + . k objFrom,objNew Set sc=$G(sc,$$$ERROR($$$GeneralError,$$$msgNoKenmToCopy(FromUnID,GroepID))) &sql(CLOSE crsCP) Quit sc Index: BL/Kenm/ProdMulti.cls.xml =================================================================== diff -u -r1074 -r1507 --- BL/Kenm/ProdMulti.cls.xml (.../ProdMulti.cls.xml) (revision 1074) +++ BL/Kenm/ProdMulti.cls.xml (.../ProdMulti.cls.xml) (revision 1507) @@ -2,6 +2,7 @@ + Basis-klasse voor het gebruik van de Kenmerk.Data/Meta-Definities %VHMacro,BL.Kenm.Common 1 @@ -212,8 +213,7 @@ %Status @@ -226,15 +226,17 @@ %Status 1) $$$ERROR($$$GeneralError,$$$msgNotTheLastMultiple(UnID)) - + Set sc=##class(Prod.Kenmerk.DataDefinitie).CopyViaUnID(UnID,PRNr,$LB(Groep),0,"") - d WL^vhDBG("MultipleToOne: CopyViaUnID from "_UnID_" to "_PRNr_" Status="_$$ParseStatus^vhLib(sc)) + + /// d WL^vhDBG("MultipleToOne: CopyViaUnID from "_UnID_" to "_PRNr_" Status="_$$ParseStatus^vhLib(sc)) If $$$ISOK(sc) Do . Set sc=..RemoveProdMultiKenmerk(PRNr) . If ($G(NewProductCreated,1)) Do @@ -297,21 +299,22 @@ AddMultipleSub() ; Sub-routine returns sc As %Status Quit:('..AllowMultiple) $$$ERROR($$$GeneralError,$$$msgMultipleNotAllowed(..MetaGroepID)) Quit:(UnID="") $$$OK - Set sc=..OneToMultiple(.UnID) - Quit:($$$ISERR(sc)) sc - - Set Groep=..MetaGroepID - Set PRNr=..GetCommonID(UnID) - Set NewSubID=..GetNewSubID(PRNr) - Set NewUnID=..GetFullID(PRNr,NewSubID) - ;d WL^vhDBG("Add multiple: New SubID="_NewSubID) - Set sc=##class(Prod.Kenmerk.DataDefinitie).CopyViaUnID(UnID,NewUnID,$LB(Groep),0,"") - If $$$ISERR(sc) Do - . Set NewUnID="" - . ; Delete any parts of the already created new product - . Set sc2=##class(Prod.Kenmerk.DataDefinitie).DeleteViaUnID(NewUnID,$LB(Groep)) - . Do WL^vhDBG("Add new multiple : roll-back DeleteViaUnID: status="_$$ParseStatus^vhLib(sc2)) + + If ($$$ISOK(sc)){ + Set Groep=..MetaGroepID + Set PRNr=..GetCommonID(UnID) + Set NewSubID=..GetNewSubID(PRNr) + Set NewUnID=..GetFullID(PRNr,NewSubID) + + Set sc=##class(Prod.Kenmerk.DataDefinitie).CopyViaUnID(UnID,NewUnID,$LB(Groep),0,"") + If $$$ISERR(sc) { + Set NewUnID="" + ; Delete any parts of the already created new product + Set sc2=##class(Prod.Kenmerk.DataDefinitie).DeleteViaUnID(NewUnID,$LB(Groep)) + Do WLIP^vhDBG(127,"Add new multiple : roll-back DeleteViaUnID: status="_$$ParseStatus^vhLib(sc2)) + } + } Quit sc ]]> Index: TECH/Concurrency/VhPersistent.cls.xml =================================================================== diff -u -r1074 -r1507 --- TECH/Concurrency/VhPersistent.cls.xml (.../VhPersistent.cls.xml) (revision 1074) +++ TECH/Concurrency/VhPersistent.cls.xml (.../VhPersistent.cls.xml) (revision 1507) @@ -44,6 +44,13 @@ ]]> + +DeepClone:%Boolean=0,NogIets:%String +%Library.RegisteredObject + + + insert:%Boolean 1 @@ -64,6 +71,7 @@ Id:%String,Shared:%Boolean %Status Id:%String,Shared:%Boolean %Status LockType:%String %Status + + +1 +Bericht +1 + + Index: DOM/PM/impl/ProductKenmerkenSet.cls.xml =================================================================== diff -u --- DOM/PM/impl/ProductKenmerkenSet.cls.xml (revision 0) +++ DOM/PM/impl/ProductKenmerkenSet.cls.xml (revision 1507) @@ -0,0 +1,143 @@ + + + + +JBL + 2011-06-09 +1 +%RegisteredObject,DOM.PM.ProductKenmerkenSet +0 + + +%Integer +1 + + + +%String +1 + + + +%String +1 + + + +%Boolean +1 +1 + + + +KenmerkGroep:%String,PRNr:%Integer,UnID:%String +1 +1 +%Status + + + + +KenmerkNaam:%String +%ListOfDataTypes + + + + +%Integer + + + + +%String + + + + + +Instellen of een event moet geraised worden bij het wijzigen van kenmerken in deze kenmerkenset. +RaiseEvent:%Boolean + + + + +Waarden:%ListOfDataTypes,KenmerkNaam:%String +TECH.Events.KenmerkModifiedEventData + + + + Index: DOM/PM/ProductAPI.cls.xml =================================================================== diff -u -r1391 -r1507 --- DOM/PM/ProductAPI.cls.xml (.../ProductAPI.cls.xml) (revision 1391) +++ DOM/PM/ProductAPI.cls.xml (.../ProductAPI.cls.xml) (revision 1507) @@ -75,5 +75,15 @@ ProductKenmerkenSet:DOM.PM.ProductKenmerkenSet Prod.Kenmerk.Orgalux + + + +ZetKenmerWaarden voor de opgegeven producten en hun kenmerken. +1 +ProductenKenmerken:APPS.PM.dto.Kenm.ProductenKenmerken +%Status + +