| Quintiq file version 2.0 | 
| #parent: #root | 
| Method SetSalesDemandQuantity ( | 
|   MacroPlan macroplan, | 
|   String salesDemandInfo | 
| ) | 
| { | 
|   TextBody: | 
|   [* | 
|     // Get sales demand, adjust quantity | 
|     traverse( salesDemandInfo.Tokenize( String::NewLine() ), Elements, sdinfo ) | 
|     { | 
|        | 
|       sd := sdinfo.Tokenize( ',' ); | 
|       product       := sd.Element( 0 ).TrimBoth(); | 
|       stockingPoint := sd.Element( 1 ).TrimBoth(); | 
|       salesSegment  := sd.Element( 2 ).TrimBoth(); | 
|       start         := this.ConvertToDateTime( sd.Element( 3 ), macroplan ); | 
|       qty           := this.ConvertToReal( sd.Element( 4 ) ); | 
|       demand        := select( macroplan, SalesDemand, e, e.ProductID() = product  | 
|                                                           and e.StockingPointID() = stockingPoint | 
|                                                           and e.SalesSegmentName() = salesSegment | 
|                                                           and e.StartDate() = start.Date() ); | 
|       demand.Update( demand.Product_MP(), demand.StockingPoint_MP(), demand.StartDate(), demand.EndDate(), qty, demand.Price(), demand.Priority(), demand.DemandUncertaintyPercentage(), demand.SalesSegment_MP(), demand.Currency_MP(), demand.UnitOfMeasure_MP(), demand.IsExcludedFromFulfillmentKPI(), false ); | 
|     } | 
|   *] | 
|   InterfaceProperties { Accessibility: 'Module' } | 
| } |