admin
2025-01-22 7e31442f0e9b07764e9c6a9680d3d4aeba5fe1de
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
Quintiq file version 2.0
#parent: #root
StaticMethod CreateOrUpdateForStockingPointInPeriods (
  StockingPointInPeriods stockingpointinperiods,
  Real maxcapacity,
  Boolean isthisperiodonwards
)
{
  Description: 'Edit stocking point capacity from context menu of the SPIP list.'
  TextBody:
  [*
    // soh yee Sep-11-2012 (created)
    
    // Sort descendingly.
    // For merging purpose ( not implemented yet ) and for avoiding of creating sp capacity with all having same time unit when all sp period do not have a sp capacity.
    stockingpointinperiods.Sort( attribute( StockingPointInPeriod, Start ), false );
    
    traverse( stockingpointinperiods, Elements, spip )
    {
      StockingPointCapacity::CreateOrUpdateForStockingPointInPeriod( spip, maxcapacity, isthisperiodonwards );
    
      // Without this all the relations will only set at the end of this method.
      Transaction::Transaction().Propagate();
    }
    
    
    // Get all stocking points and clean up their stocking point capacities to remove repetition
    sps := selectset( stockingpointinperiods.Element( 0 ).MacroPlan(), StockingPoint_MP, sp, 
                      sp.StockingPointCapacity( relsize ) > 0 );
                                       
    StockingPointCapacity::RemoveRedundant( sps );
  *]
}