Index: JBL Product AMF.prj.xml =================================================================== diff -u -r1689 -r1727 --- JBL Product AMF.prj.xml (.../JBL Product AMF.prj.xml) (revision 1689) +++ JBL Product AMF.prj.xml (.../JBL Product AMF.prj.xml) (revision 1727) @@ -1,6 +1,6 @@ - + @@ -33,6 +33,7 @@ + Index: APPS/common/dto/VhPersistent.cls.xml =================================================================== diff -u --- APPS/common/dto/VhPersistent.cls.xml (revision 0) +++ APPS/common/dto/VhPersistent.cls.xml (revision 1727) @@ -0,0 +1,14 @@ + + + +1 +%RegisteredObject,%XML.Adaptor +0 + + +%Integer +0 +1 + + + Index: DOM/PM/ProductKenmerkenSet.cls.xml =================================================================== diff -u -r1507 -r1727 --- DOM/PM/ProductKenmerkenSet.cls.xml (.../ProductKenmerkenSet.cls.xml) (revision 1507) +++ DOM/PM/ProductKenmerkenSet.cls.xml (.../ProductKenmerkenSet.cls.xml) (revision 1727) @@ -25,7 +25,7 @@ 1 -Waarden:%ListOfDataTypes,KenmerkNaam:%String +Waarden:%ListOfDataTypes,KenmerkNaam:%String,InstanceVersion:%Integer Index: APPS/PM/KenmerkenService.cls.xml =================================================================== diff -u -r1689 -r1727 --- APPS/PM/KenmerkenService.cls.xml (.../KenmerkenService.cls.xml) (revision 1689) +++ APPS/PM/KenmerkenService.cls.xml (.../KenmerkenService.cls.xml) (revision 1727) @@ -63,7 +63,7 @@ /// DataDefinities ophalen Set RS=##class(%ResultSet).%New() - Set SQLStatement = "SELECT PRNr, UnID, KenmerkGroep, KenmerkNaam, Waarden FROM Prod_Kenmerk.DataDefinitie where" + Set SQLStatement = "SELECT PRNr, UnID, KenmerkGroep, KenmerkNaam, Waarden, InstanceVersion FROM Prod_Kenmerk.DataDefinitie where" // nadien nagaan of er iets in kenmerkGroepen zit, als het ledig is wordt in alle kenmerkgroepen gezocht. if ($IsObject(KenmerkGroepen) && (KenmerkGroepen.Count() '= 0)) { @@ -88,6 +88,7 @@ If (KenmerkNaam '= "GeneratieType"){ Set PRNr = RS.Data("PRNr") Set UnID = RS.Data("UnID") + Set InstanceVersion = RS.Data("InstanceVersion") Set KenmerkGroep = RS.Data("KenmerkGroep") /// Als PRNr verandert. @@ -122,7 +123,10 @@ Set ProductKenmerk = ##class(APPS.PM.dto.Kenm.ProductKenmerk).%New() Set ProductKenmerk.Naam = KenmerkNaam - Set ProductKenmerk.Waarden = ##class(TECH.ListUtils).ListbuildToList(RS.Data("Waarden")) // tmpDataDef.Waarden + Set ProductKenmerk.Waarden = ##class(TECH.ListUtils).ListbuildToList(RS.Data("Waarden")) + If (InstanceVersion '= "") { + Set ProductKenmerk.InstanceVersion = InstanceVersion + } Do ProductKenmerkenSet.Kenmerken.Insert(ProductKenmerk) Index: vhUnitTest/APPS/PM/TestKenmerkenService.cls.xml =================================================================== diff -u -r1681 -r1727 --- vhUnitTest/APPS/PM/TestKenmerkenService.cls.xml (.../TestKenmerkenService.cls.xml) (revision 1681) +++ vhUnitTest/APPS/PM/TestKenmerkenService.cls.xml (.../TestKenmerkenService.cls.xml) (revision 1727) @@ -255,26 +255,76 @@ Set Kenmerken.GetAt(4).Naam = "NietBestaandKenmerk" Set Kenmerken.GetAt(4).Waarden = Waarden - Set ..ErrorMsg="" Set $ZTRAP = "Catch" Do KenmerkenService.BewaarProductenKenmerken(ProductenKenmerken) GoTo Catch -Catch Set $ZTRAP = "" - Set ..ErrorMsg="" - +Catch Set $ZTRAP = "" Do $$$AssertFalse(%HeeftModEventOntvangen,"De bulk wijzig event is niet geraised door de rollback") - - Do ModifiedSubscription.%DeleteId(ModifiedSubscription.%Id()) Kill %HeeftModEventOntvangen + Do ModifiedSubscription.%DeleteId(ModifiedSubscription.%Id()) - k ProductenKenmerken + ///Opnieuw ophalen van kenmerken + Set ProductenKenmerken = KenmerkenService.GeefProductKenmerken(PRNrs, KenmerkGroepen) + Set Kenmerken = ProductenKenmerken.Kenmerken.GetAt(1).KenmerkenGroepen.GetAt(1).Sets.GetAt(1).Kenmerken + Do $$$AssertEquals(Kenmerken.GetAt(3).Waarden.GetAt(1),OudeWaarde1,"Gerollbackte eigenschap "_Kenmerken.GetAt(3).Naam_" : "_OudeWaarde1_"") + Do $$$AssertEquals(Kenmerken.GetAt(4).Waarden.GetAt(1),OudeWaarde2,"Gerollbackte eigenschap "_Kenmerken.GetAt(4).Naam_" : "_OudeWaarde2_"") +]]> + + + +Testen als er van een product een kenmerk goed wordt ingesteld +maar ondertussen de InstanceVersion gewijzigd werd. + @@ -309,14 +359,12 @@ /// kenmerk op twee verschillende producten instellen Set ProductenKenmerken.Kenmerken.GetAt(1).KenmerkenGroepen.GetAt(1).Sets.GetAt(1).Kenmerken.GetAt(4).Waarden = Waarden Set ProductenKenmerken.Kenmerken.GetAt(2).KenmerkenGroepen.GetAt(1).Sets.GetAt(1).Kenmerken.GetAt(4).Waarden = Waarden + Do KenmerkenService.BewaarProductenKenmerken(ProductenKenmerken) Do $$$AssertTrue(%HeeftModEventOntvangen,"De bulk wijzig event is opgevangen en had meerdere wijziging data objecten") - Do ModifiedSubscription.%DeleteId(ModifiedSubscription.%Id()) - Kill %HeeftModEventOntvangen - - k ProductenKenmerken + Do ModifiedSubscription.%DeleteId(ModifiedSubscription.%Id()) ///Opnieuw ophalen van kenmerken Set ProductenKenmerken = KenmerkenService.GeefProductKenmerken(PRNrs, KenmerkGroepen) @@ -327,6 +375,74 @@ ]]> + + +Kenmerk van twee producten wijzigen, maar meerdere producten zitten in de lijst. + + + Test het verwijderen van een kenmerkenset, waardoor er nog één multiple kenmerken set overschiet. Index: Prod/Kenmerk/DataDefinitie.cls.xml =================================================================== diff -u -r1722 -r1727 --- Prod/Kenmerk/DataDefinitie.cls.xml (.../DataDefinitie.cls.xml) (revision 1722) +++ Prod/Kenmerk/DataDefinitie.cls.xml (.../DataDefinitie.cls.xml) (revision 1727) @@ -555,7 +555,6 @@ For &sql(FETCH crsCP) Quit:SQLCODE Do Quit:($$$ISERR(sc)) . If $LL($G(lbExcludeGroepIDs)) Quit:$LF(lbExcludeGroepIDs,KenmerkGroep) - . Do WLIP^vhDBG(127,"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) Index: TECH/Concurrency/VhPersistent.cls.xml =================================================================== diff -u -r1507 -r1727 --- TECH/Concurrency/VhPersistent.cls.xml (.../VhPersistent.cls.xml) (revision 1507) +++ TECH/Concurrency/VhPersistent.cls.xml (.../VhPersistent.cls.xml) (revision 1727) @@ -112,6 +112,18 @@ ]]> + +InstanceVersion:%Integer +%Status + + + 1 Bericht Index: APPS/PM/dto/Kenm/ProductKenmerk.cls.xml =================================================================== diff -u -r1517 -r1727 --- APPS/PM/dto/Kenm/ProductKenmerk.cls.xml (.../ProductKenmerk.cls.xml) (revision 1517) +++ APPS/PM/dto/Kenm/ProductKenmerk.cls.xml (.../ProductKenmerk.cls.xml) (revision 1727) @@ -4,11 +4,12 @@ JBL + 2011-02-28 1 -%RegisteredObject,%XML.Adaptor +%RegisteredObject,%XML.Adaptor,APPS.common.dto.VhPersistent 0 %String +1 Index: DOM/PM/impl/ProductKenmerkenSet.cls.xml =================================================================== diff -u -r1519 -r1727 --- DOM/PM/impl/ProductKenmerkenSet.cls.xml (.../ProductKenmerkenSet.cls.xml) (revision 1519) +++ DOM/PM/impl/ProductKenmerkenSet.cls.xml (.../ProductKenmerkenSet.cls.xml) (revision 1727) @@ -88,7 +88,7 @@ -Waarden:%ListOfDataTypes,KenmerkNaam:%String +Waarden:%ListOfDataTypes,KenmerkNaam:%String,InstanceVersion:%Integer TECH.Events.KenmerkModifiedEventData