| Quintiq file version 2.0 | 
| #parent: #root | 
| Function CalcBaseCost | 
| { | 
|   TextBody: | 
|   [* | 
|     // Calculate BaseCost and BaseCostWithinKPIHorizon | 
|     cost := 0.0; | 
|     costwithinhorizon := 0.0; | 
|      | 
|     // Calculate costs depending on what the cost driver is, i.e.fixed | 
|     if( this.CostDriver() = Translations::MP_AccountAssignmentCostDriverFixed() ) | 
|     { | 
|       accountcost := this.GetAccountCost(); | 
|       this.GetBaseFixedCost( cost, costwithinhorizon, accountcost ); | 
|     } | 
|      | 
|     // or Staffing | 
|     else if( this.CostDriver() = Translations::MP_AccountAssignmentCostDriverStaffing() ) | 
|     { | 
|       accountcost := this.GetAccountCost(); | 
|       this.GetBaseCostForStaffing( cost, costwithinhorizon, accountcost ); | 
|     } | 
|     // or NrOfUnits | 
|     else if( this.CostDriver() = Translations::MP_AccountAssignmentCostDriverNrOfUnits() ) | 
|     { | 
|       accountcost := this.GetAccountCost(); | 
|       this.GetBaseCostForNumberOfUnits( cost, costwithinhorizon, accountcost ); | 
|     } | 
|     // or Volume | 
|     else if( this.CostDriver() = Translations::MP_AccountAssignmentCostDriverVolume() ) | 
|     { | 
|       this.GetBaseCostForVolume( cost, costwithinhorizon ); | 
|     } | 
|     // or Time | 
|     else if( this.CostDriver() = Translations::MP_AccountAssignmentCostDriverTime() ) | 
|     { | 
|       this.GetBaseCostForTime( cost, costwithinhorizon ); | 
|     } | 
|     // or Lot | 
|     else if( this.CostDriver() = Translations::MP_AccountAssignmentCostDriverLot() ) | 
|     {               | 
|       this.GetBaseCostForLot( cost, costwithinhorizon ); | 
|     } | 
|     // or Changeover | 
|     else if( this.CostDriver() = Translations::MP_AccountAssignmentCostDriverChangeover() ) | 
|     { | 
|       this.GetBaseCostForChangeover( cost, costwithinhorizon );  | 
|     } | 
|     // or One-time cost | 
|     else if( this.CostDriver() = Translations::MP_AccountAssignmentCostDriverOneTime() ) | 
|     { | 
|       this.GetBaseCostForOneTimeCost( cost, costwithinhorizon );  | 
|     } | 
|      | 
|     this.BaseCost( cost );     | 
|     this.BaseCostWithinKPIHorizon( costwithinhorizon ); | 
|   *] | 
| } |