JBL + 2011-05-30 vhLib.Macro APPS.common.KlantKost.KlantKostService 0 APPS.common.KlantKost.impl.MaandKostAggregator initvalue:%CacheString 1 1 %Status elke nacht (na backup) moeten de klantkosten van de voorbije kalendermaand herberekend worden Jaar:%Integer,Maand:%Integer Jaar:%Integer,Maand:%Integer Maak factoren éénmalig aan in cache databank voor het berekenen van kosten. Dit moet slechts éénmalig worden uitgevoerd 1 %Status Totale kostprijs vertegenwoordiging per uur Set ContactFactor = ##class(APPS.common.KlantKost.impl.data.MeervoudigeFactor).%New("Contact") Set Status = ContactFactor.%Save() If ($$$ISERR(Status)) w $$ParseStatus^vhLib(Status) /// KostprijsRestTijdFactor => ( Totale kostprijs v d vertegenwoordiging x (resterende tijd / totale werktijd ) ) / totaal aantal bezoeken in referentieperiode Set KostprijsRestTijdFactor = ##class(APPS.common.KlantKost.impl.data.MeervoudigeFactor).%New("KostprijsResterendeTijd") Set Status = KostprijsRestTijdFactor.%Save() If ($$$ISERR(Status)) w $$ParseStatus^vhLib(Status) /// IP For Regio = 2,3,4,5,6,8 { Set Waarde = 53.05 Set Factor = ##class(APPS.common.KlantKost.impl.data.Factor).%New(ContactFactor,"Regio"_Regio,Waarde,GeldigVanaf) Do Factor.%Save() Set Waarde = 133.7315328791 Set Factor = ##class(APPS.common.KlantKost.impl.data.Factor).%New(KostprijsRestTijdFactor,"Regio"_Regio,Waarde,GeldigVanaf) Do Factor.%Save() } /// KS BE For Regio = 10,11,12,14,15,16,17,18 { Set Waarde = 36.52 Set Factor = ##class(APPS.common.KlantKost.impl.data.Factor).%New(ContactFactor,"Regio"_Regio,Waarde,GeldigVanaf) Do Factor.%Save() Set Waarde = 57.6405793977 Set Factor = ##class(APPS.common.KlantKost.impl.data.Factor).%New(KostprijsRestTijdFactor,"Regio"_Regio,Waarde,GeldigVanaf) Do Factor.%Save() } /// KS NL For Regio = 21,22,23,24,25,26,27 { Set Waarde = 32.38 Set Factor = ##class(APPS.common.KlantKost.impl.data.Factor).%New(ContactFactor,"Regio"_Regio,Waarde,GeldigVanaf) Do Factor.%Save() Set Waarde = 43.3604735424 Set Factor = ##class(APPS.common.KlantKost.impl.data.Factor).%New(KostprijsRestTijdFactor,"Regio"_Regio,Waarde,GeldigVanaf) Do Factor.%Save() } /// ARCH For Regio = 30,31,38 { Set Waarde = 39.88 Set Factor = ##class(APPS.common.KlantKost.impl.data.Factor).%New(ContactFactor,"Regio"_Regio,Waarde,GeldigVanaf) Do Factor.%Save() Set Waarde = 255.7984623719 Set Factor = ##class(APPS.common.KlantKost.impl.data.Factor).%New(KostprijsRestTijdFactor,"Regio"_Regio,Waarde,GeldigVanaf) Do Factor.%Save() } Quit $$$OK ]]> Maakt de task aan voor de scheduler van caché Dit moet slechts éénmalig worden uitgevoerd w ##class(APPS.common.KlantKost.impl.KlantKostService).InitTask() 1 %Status