Index: APPS/PM/KenmerkenService.cls.xml =================================================================== diff -u -r1600 -r1609 --- APPS/PM/KenmerkenService.cls.xml (.../KenmerkenService.cls.xml) (revision 1600) +++ APPS/PM/KenmerkenService.cls.xml (.../KenmerkenService.cls.xml) (revision 1609) @@ -74,7 +74,7 @@ If (Multiples.Count() > 0){ Set UnIDs = Multiples }Else{ - Do UnIDs.Insert(PRNr) + Do UnIDs.Insert(PRNr) ; [Review WV JBL Kenm-Pref] de If-Else structuur --> je gaat ervan uit dat er geen conflicten bestaan tussen PRNr en PRNr.1 ofzo ? } /// UnIDs naar SQLUnIDs @@ -86,6 +86,8 @@ Set SQLUnIDs = SQLUnIDs _"'"_UnIDIt.Next()_"'" Set SQLUnIDsReedsToegevoegd = 1 } + ; [Review WV JBL Kenm-Pref] Aparte oproep ..MaakSqlIN(%ListOfDT) en gebruik ##class(TECH.ListUtils).ListToPieces(UnIDs,"', '") + begin- en eind-quotes (') + }Else { Set ErrorMsg = "GeefProductKenmerken() : Het product met PRNr '"_PRNr_"' bestaat niet." Do ##class(TECH.ExceptionHandler).Throw(##class(TECH.Exceptions.BaseException).%New(##class(TECH.enu.ExceptionCode).GeneralError(),ErrorMsg)) @@ -101,12 +103,14 @@ While (KenmerkGroepIterator.HasNext()){ Set SQLKenmerken = SQLKenmerken_", '"_KenmerkGroepIterator.Next()_"'" } + ; [Review WV JBL Kenm-Pref] idem oproepen via ..MaakSqlIN(%ListOfDT) /// voorbereidend werk Set ProductenKenmerken = ##class(APPS.PM.dto.Kenm.ProductenKenmerken).%New() - Set ProductKenmerken = ##class(APPS.PM.dto.Kenm.ProductKenmerken).%New() - Set ProductKenmerkenGroep = ##class(APPS.PM.dto.Kenm.ProductKenmerkenGroep).%New() - Set ProductKenmerkenSets = ##class(APPS.PM.dto.Kenm.ProductKenmerkenSet).%New() + Set ProductKenmerken = ##class(APPS.PM.dto.Kenm.ProductKenmerken).%New() ; [Review WV JBL Kenm-Pref] is niet nodig volgens mij? + Set ProductKenmerkenGroep = ##class(APPS.PM.dto.Kenm.ProductKenmerkenGroep).%New() ; [Review WV JBL Kenm-Pref] is niet nodig volgens mij? + Set ProductKenmerkenSets = ##class(APPS.PM.dto.Kenm.ProductKenmerkenSet).%New() ; [Review WV JBL Kenm-Pref] is niet nodig volgens mij? + Set Kenmerken = ##class(%ListOfObjects).%New() /// DataDefinities ophalen @@ -123,9 +127,10 @@ While (RS.Next()) { + ; [Review WV JBL Kenm-Pref] de RS.Data("UnID") wordt 5x opgevraagd. Beter in een variable steken? Set PRNr = ##class(BL.Kenm.ProdMulti).GetCommonID(RS.Data("UnID")) - /// Als PRNr veranderd. + /// Als PRNr verandert. If (tmpPRNr '= PRNr){ Set ProductKenmerken = ##class(APPS.PM.dto.Kenm.ProductKenmerken).%New() Set ProductKenmerken.PRNr = PRNr @@ -146,7 +151,7 @@ Set ProductKenmerkenSet = ##class(APPS.PM.dto.Kenm.ProductKenmerkenSet).%New() Set ProductKenmerkenSet.UnID = RS.Data("UnID") /// GeneratieType - Set KenmerkenSets = ProductAPI.GeefProductKenmerkenSets(PRNr, tmpKenmerkGroep) + Set KenmerkenSets = ProductAPI.GeefProductKenmerkenSets(PRNr, tmpKenmerkGroep) ; [Review WV JBL Kenm-Pref] Kunnen we niet beter een oproep maken ProductAPI.GeefProductKenmerkWaarden(...) ? Set KenmerkenSet = KenmerkenSets.GeefKenmerkenSet(RS.Data("UnID")) If (KenmerkenSet.GeefKenmerkWaarden("GeneratieType").Count() > 0){ Set ProductKenmerkenSet.GeneratieType = KenmerkenSet.GeefKenmerkWaarden("GeneratieType").GetAt(1) Index: DOM/PM/impl/DataM/DataMProduct.cls.xml =================================================================== diff -u -r1376 -r1609 --- DOM/PM/impl/DataM/DataMProduct.cls.xml (.../DataMProduct.cls.xml) (revision 1376) +++ DOM/PM/impl/DataM/DataMProduct.cls.xml (.../DataMProduct.cls.xml) (revision 1609) @@ -296,8 +296,8 @@ Set MultipleGroepenIt = ..GeefMultipleGroepen() While (MultipleGroepenIt.HasNext()){ Set MultipleGroep = MultipleGroepenIt.Next() - Set MultipleNrs = ##class(BL.Kenm.ProdMulti).Create(MultipleGroep).GetMultiplesLB(..GeefPRNr()) - If (($ll(MultipleNrs)> 0) && ($Data(MultipleNrs))){ + Set MultipleNrs = ##class(BL.Kenm.ProdMulti).Create(MultipleGroep).GetMultiplesLB(..GeefPRNr()) ; [Review WV JBL Kenm-Pref] De oproep ##class(BL.Kenm.ProdMulti).Create() genereert 'veel' overhead, en zou mogelijks maar 1x opgeroepen moeten worden per MultiGroep (???) + If (($ll(MultipleNrs)> 0) && ($Data(MultipleNrs))) { ; [Review WV JBL Kenm-Pref] Wat is het nut van de $Data() test ? for i=1:1:$ll(MultipleNrs) { Do Multiples.Insert($lg(MultipleNrs,i)) @@ -316,7 +316,7 @@ Set KenmerkGroep = $Order(^Prod.Ken.DataIndexD(KenmerkGroep)) While ((KenmerkGroep '= "")) { - If $Data(^Prod.Ken.DataIndexD(KenmerkGroep,$$$KenmMultiPRNr,..ProductNummer)) + If $Data(^Prod.Ken.DataIndexD(KenmerkGroep,$$$KenmMultiPRNr,..ProductNummer)) ; [Review WV JBL Kenm-Pref] De subnode ..ProductNummer weglaten, dan kan deze method elders als classmethod geïmplementeerd worden. { Do MultipleGroepen.Insert(KenmerkGroep) }