De kostcontext heeft referenties naar allerlei tabellen en dient als facade voor het gebruik van die tabellen. De context zorgt ervoor dat de lookups op basis van een tag gebruikt worden als de productprijsspecificatie een tag bevat, en gebruikt anders de lookups op basis van datum. Input voor de context zijn: - Via de constructor: - ProductFamilie en ProductType vb "TBX", "Intivo" - Een BerekeningsSpecificatie - Via "zetters" - Een ProductPrijsSpecificatie. ook via een zetter in te stellen na constructie van het object, om gemakkelijk op een bestaande context de prijsspecificatie te wijzigen. De context die we gebruiken in productiecode maakt zelf de nodige objecten aan: - KostenplaatsWaardeTabel - ProductbewerkingsInfoTabel - Een KlantSpecifiekeHalffabTabel op basis van klant en personality - Een KlantSpecifiekeProductPrijzenTabel op basis van klant en personality - KostSpec op basis van Familie en ProductType, via de KostRepository Een testcontext kan uiteraard helemaal anders zijn tabellen bepalen of van de test krijgen. TECH.Error 1 %RegisteredObject 0 DOM.PM.enu.Familie 1 DOM.PM.enu.Variant 1 DOM.PM.Maatwerk.Calc.Common.BerekeningsSpecificatie 1 DOM.PM.Maatwerk.Calc.Kost.impl.KostRepository 1 DOM.PM.Maatwerk.Calc.Kost.KostSpec 1 DOM.PM.Maatwerk.Calc.Kost.impl.KostenPlaatsWaardeTabel 1 %Boolean 1 Familie:DOM.PM.enu.Familie,Variant:DOM.PM.enu.Variant,BerekeningsSpecificatie:DOM.PM.Maatwerk.Calc.Common.BerekeningsSpecificatie 1 1 %Status %Integer KostenPlaats:%String DOM.PM.Maatwerk.Calc.Kost.impl.KostenPlaatsWaardeInfo DOM.PM.Maatwerk.Calc.Kost.KostSpec ProductID:%String %Integer BerekeningsSpecificatie:DOM.PM.Maatwerk.Calc.Common.BerekeningsSpecificatie Value:DOM.PM.Maatwerk.Calc.Common.BerekeningsSpecificatie 1 %Status 1 DOM.PM.Maatwerk.Calc.Kost.KostSpec Exceptie:TECH.IException