yypsybs
2023-09-09 3cb5a54def670d97301f07170fcaad213bfc54f2
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
Quintiq file version 2.0
#parent: #root
StaticMethod CreateOrUpdateForPISPIPs (
  ProductInStockingPointInPeriods pispips,
  Real penalty
)
{
  Description: 'Edit inventory point cost from context menu of the PISPIP list in UI.'
  TextBody:
  [*
    // Sort pispips in descending order
    // When creating postponed sales demnad costs for multiple pispips, this reduces the number of objects created for each set of contiguous pispips.
    pispips.Sort( attribute( ProductInStockingPointInPeriod, Start ), false );
    
    traverse( pispips, Elements.astype( ProductInStockingPointInPeriodPlanning ), pispip )
    {
      PostponedSalesDemandCost::CreateOrUpdateForPISPIP( pispip, penalty );
    
      // Without this all the relations will only set at the end of this method.
      Transaction::Transaction().Propagate();
    }
  *]
}