lazhen
2024-06-14 42e52dd7a48775cd83be92cc46ea42aa124cb15c
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
Quintiq file version 2.0
#parent: #root
StaticMethod GenerateForecast (
  ArchiveExecutionStatus archiveExecutionStatus,
  MacroPlan macroPlan
)
{
  TextBody:
  [*
    traverse ( macroPlan, SalesDemand.astype( Forecast ), f ) {
      f.Delete();
    }
    
    traverse ( archiveExecutionStatus, TemporaryDemandData, tdd ) {
      targetProduct_MP       := select( macroPlan, Product_MP, tempPMP, tempPMP.ID() = tdd.ProductID() );
      targetStockingPoint_MP := select( macroPlan, StockingPoint_MP, tempSPMP, tempSPMP.ID() = tdd.StockingPointID() );
      info( tdd.SalesSegmentName() );
      if ( not isnull( targetProduct_MP ) and not isnull( targetStockingPoint_MP ) ) {
        Forecast::Create( targetProduct_MP,
                          targetStockingPoint_MP,
                          [String]tdd.ID(),
                          tdd.StartDate(),
                          tdd.EndDate(),
                          tdd.Quantity(),
                          [Real]tdd.Price(),
                          tdd.PriorityName(),
                          tdd.SalesSegmentName(),
                          tdd.CurrencyID(),
                          tdd.UnitOfMeasureName(),
                          0.0,
                          false,
                          false
                         );
      }
    }
  *]
}