Index: APPS/PM/dto/Kenm/KenmerkMetadataList.cls.xml =================================================================== diff -u -r1112 -r1519 --- APPS/PM/dto/Kenm/KenmerkMetadataList.cls.xml (.../KenmerkMetadataList.cls.xml) (revision 1112) +++ APPS/PM/dto/Kenm/KenmerkMetadataList.cls.xml (.../KenmerkMetadataList.cls.xml) (revision 1519) @@ -8,8 +8,8 @@ %RegisteredObject,%XML.Adaptor 0 - -APPS.PM.dto.Kenm.KenmerkMetadata + +APPS.PM.dto.Kenm.KenmerkGroepMetadata list Index: Prod/Kenmerk/DataDefinitie.cls.xml =================================================================== diff -u -r1507 -r1519 --- Prod/Kenmerk/DataDefinitie.cls.xml (.../DataDefinitie.cls.xml) (revision 1507) +++ Prod/Kenmerk/DataDefinitie.cls.xml (.../DataDefinitie.cls.xml) (revision 1519) @@ -201,7 +201,7 @@ Oproepen via : Set sc=##class(Prod.Kenmerk.DataDefinitie).WijzigOfMaak("OL",89973,"Diepte","45",";",17) 1 -GroepID:%String,UnID:%String,KenmerkNaam:%String,Waarden,Delimiter:%String,UserID:%String,Formule:%String="" +GroepID:%String,UnID:%String,KenmerkNaam:%String,Waarden,Delimiter:%String,UserID:%String,Formule:%String="",RaiseEvent:%Boolean=1 1 %Status Index: APPS/PM/dto/Kenm/KenmerkGroepMetadata.cls.xml =================================================================== diff -u --- APPS/PM/dto/Kenm/KenmerkGroepMetadata.cls.xml (revision 0) +++ APPS/PM/dto/Kenm/KenmerkGroepMetadata.cls.xml (revision 1519) @@ -0,0 +1,27 @@ + + + + +JBL + 2011-06-25 +1 +%RegisteredObject,%XML.Adaptor +0 + + +%String + + + +%Boolean + + + +%Boolean + + + +APPS.PM.dto.Kenm.KenmerkMetadata +list + + + Index: DOM/PM/impl/ProductKenmerkenSet.cls.xml =================================================================== diff -u -r1517 -r1519 --- DOM/PM/impl/ProductKenmerkenSet.cls.xml (.../ProductKenmerkenSet.cls.xml) (revision 1517) +++ DOM/PM/impl/ProductKenmerkenSet.cls.xml (.../ProductKenmerkenSet.cls.xml) (revision 1519) @@ -96,10 +96,24 @@ Set Wijziging = "" Set Identifier = ##class(Prod.Kenmerk.DataDefinitie).BuildDataDefinitionID(..KenmerkGroep,..UnID,KenmerkNaam) + + /// Als het kenmerk nog niet aanwezig is, mag het toch aangemaakt worden. If '##class(Prod.Kenmerk.DataDefinitie).%ExistsId(Identifier) { - Set ErrorMsg = "Kenmerk "_Identifier_" voor UnID "_..UnID_" is niet gevonden." + /// Nieuw kenmerk aanmaken. + Set LBWaarden = ##class(TECH.ListUtils).ListToListbuild(Waarden) + Set GebruikerInitialen = ##class(TECH.Context.RuntimeContext).Instance().GeefGebruikerInitialen() + Set RaiseEvent = 0 + + Set sc=##class(Prod.Kenmerk.DataDefinitie).WijzigOfMaak(..KenmerkGroep,..UnID,KenmerkNaam,LBWaarden,,GebruikerInitialen,,RaiseEvent) + + If ($$$ISERR(sc)){ + Set ErrorMsg = "Prod.Kenmerk.DataDefinitie is niet correct verlopen. Kenmerk is niet aangemaakt voor "_..KenmerkGroep_"||"_..UnID_"||"_KenmerkNaam_". "_$$ParseStatus^vhLib(sc) + }Else{ + Set Wijziging = ##class(TECH.Events.KenmerkModifiedEventData).%New(..UnID,..KenmerkGroep,KenmerkNaam,Waarden) + } }Else{ + Set Kenmerk = ##class(Prod.Kenmerk.DataDefinitie).OpenId(Identifier) If ($IsObject(Kenmerk)) { @@ -117,7 +131,7 @@ If (IsGewijzigd) { Do Kenmerk.Waarden.Clear() - Do ##class(TECH.ListUtils).CopyList(Waarden,Kenmerk.Waarden) + Set Kenmerk.Waarden = ##class(TECH.ListUtils).CopyList(Waarden,Kenmerk.Waarden) Set Kenmerk.IsEventRaiser = ..RaiseEvent //Indien bulk wijziging is mag dit geen event raisen en is aanroeper verantwoordelijk voor zelf het event te raisen. Set Status = Kenmerk.Save() If $$$ISERR(Status) Index: vhUnitTest/APPS/PM/TestKenmerkenService.cls.xml =================================================================== diff -u -r1517 -r1519 --- vhUnitTest/APPS/PM/TestKenmerkenService.cls.xml (.../TestKenmerkenService.cls.xml) (revision 1517) +++ vhUnitTest/APPS/PM/TestKenmerkenService.cls.xml (.../TestKenmerkenService.cls.xml) (revision 1519) @@ -103,10 +103,13 @@ Set KenmerkGroepen = ##class(%ListOfDataTypes).%New() Do KenmerkGroepen.Insert("OL") - Set KenmerkMetadata = KenmerkenService.GeefMetadata(KenmerkGroepen).Items + Set KenmerkGroepMetadata = KenmerkenService.GeefMetadata(KenmerkGroepen).KenmerkGroepen - Do $$$AssertEquals(KenmerkMetadata.Count(),51,"Correct aantal kenmerken (#51)") + Do $$$AssertEquals(KenmerkGroepMetadata.Count(),1,"Correct aantal kenmerkengroepen (#1)") + Do $$$AssertEquals(KenmerkGroepMetadata.GetAt(1).Naam,"OL","Correcte naam kenmerkengroep (OL)") + Set KenmerkMetadata = KenmerkGroepMetadata.GetAt(1).Kenmerken + Set EenKenmerkMetadata = KenmerkMetadata.GetAt(1) Do $$$AssertEquals(EenKenmerkMetadata.Naam,"ProductType","Kenmerknaam is correct ingevuld.") Do $$$AssertEquals(EenKenmerkMetadata.Multipliciteit.Minimum,0,"Multipliciteit minimum correct ingevuld.") Index: APPS/PM/KenmerkenService.cls.xml =================================================================== diff -u -r1517 -r1519 --- APPS/PM/KenmerkenService.cls.xml (.../KenmerkenService.cls.xml) (revision 1517) +++ APPS/PM/KenmerkenService.cls.xml (.../KenmerkenService.cls.xml) (revision 1519) @@ -201,7 +201,7 @@ APPS.PM.dto.Kenm.KenmerkMetadataList