JBL + 2011-06-09 1 %RegisteredObject,DOM.PM.ProductKenmerkenSets 0 %Integer 1 %String 1 %ListOfObjects 1 KenmerkGroep:%String,PRNr:%Integer 1 1 %Status %Integer %String %Integer Geen één kenmerkset voor product met een gekend UnID UnID:%String DOM.PM.ProductKenmerkenSet 1 0) { Set MultiplesIt = ##class(TECH.ListIterator).%New(Multiples) While MultiplesIt.HasNext(){ Set UnID = MultiplesIt.Next() Do ..KenmerkenSets.Insert(##class(DOM.PM.impl.ProductKenmerkenSet).%New(..KenmerkGroep,..PRNr,UnID)) } } Else { Do ..KenmerkenSets.Insert(##class(DOM.PM.impl.ProductKenmerkenSet).%New(..KenmerkGroep,..PRNr,..PRNr)) } } ]]> Geeft een iterator terug van ProductKenmerkenSet. Met voor iedere multiple een TECH.Iterator 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 worden .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. VerwijderAutoProducten : mag enkel op true gezet worden als het intern wordt aangeroepen. Return : Lijst met PRNr's die verwijderd zijn. Opgelet : er worden voor multiples geen TECH.Events.KenmerkModifiedEventData events geraised ! UnID:%String,VerwijderAutoProducten:%Boolean=0 %ListOfDataTypes $ListLength(lbMulti)){ Do ##class(Prod.Kenmerk.DataDefinitie).DeleteViaUnID(UnIDToRemove,$LB(..KenmerkGroep)) } } } } Quit GewijzigdePRNrs ]]> UnID:%String 1 %Status