APPS.PM.OL.Common,Prod.Product,BL.Derde.KlantSpecifiek 1 %RegisteredObject 0 %String 1 APPS.PM.OL.ProductKenmerken 1 Hoofdgroep van de Kenmerken (=MetaGroep) = "OL" %String 1 BL-object voor het behandelen van de Multiples (= meerdere kenmerken-sets per product) BL.Kenm.ProdMulti 1 Beheert en bepaalt de KortTekstPatroon-objecten nodig voor het zoeken van varianten van een Master KortTekstPatroonFactory 1 Houdt de KenmerkWaardeMap-objecten in het geheugen, zodat ze niet telkens opnieuw moeten geopend worden KenmerkWaardeMap list 1 Beheert de verwerkingslog van de huidige import, voor iedere lijn (uit de excel) ImportLog 1 Oproepen via s sc=##class(APPS.PM.OL.MasterAutoGenerator).GenereerVariantenVoorMaster(UnID) w sc,! 1 UnID:%String %Status 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. UnID gebruiken indien multiples aanwezig zijn. PRNr zal in dit geval niet werken. Return : Lijst met UnID's van de auto's in %String. 1 UnID:%String %ListOfDataTypes BLProdMulti:BL.Kenm.ProdMulti,ImportLog:ImportLog,KTPatroonFactory:KortTekstPatroonFactory 1 1 %Status decreases performance) } If '$IsObject(..ImportLog) { Set ..ImportLog=##class(APPS.PM.OL.ImportLog).%New(..BLProdMulti) } If '$IsObject(..KTPatroonFactory) { Set ..KTPatroonFactory=##class(KortTekstPatroonFactory).%New() } Do ..PrefetchKenmerkWaardeMappings() Quit $$$OK ]]> Prefetch all KenmerkWaardeMappings (for better performance) ProdKM:APPS.PM.OL.ProductKenmerken %Status UnID:%String %Status UnID:%String APPS.PM.OL.ProductKenmerken 1 %Status Geeft lijst van UnIDs terug van de gegenereerde varianten (AUTOs from MASTER) %ListOfDataTypes Geeft een overzicht van de gegenereerde varianten (AUTOs from MASTER) AantalKolommen:%Integer=4 %String 1 { Set Body=Body_KolomSeparator } Set UnID=MatrixOfUnIDs.Rijen.GetAt(RijIndex).GetAt(KolomIndex) If $L(UnID) { Set KortTekst=##class(Prod.Kenmerk.Orgalux).%New(UnID).GetKortTekst() ; $$$ProductGet(ProdKM.PRNr,$$$KortTekst) Set Body=Body_UnID_" : "_KortTekst } Else { // Getransponeerde lijst kan lege waarden bevatten, meer bepaald de laatste kolom. Set Body=Body_"" } } Set Body=Body_$$$CRLF } Quit Body ]]> List:%ListOfDataTypes,AantalKolommen:%Integer,LaatsteRijAanvullen:%Boolean=0 %ListOfDataTypes AantalItems) NewList.Insert(List.GetAt(ListIndex)) ;Do NewList.Insert(List.GetAt(ListIndex)) } } Quit NewList ]]>