Quintiq file version 2.0
#parent: #root
Method OnUpdateValue (
  shadow[PlanningCell] cell,
  Real newvalue
) id:Method_FormSupplyPlanning_OnUpdateValue
{
  #keys: '[134266.2.80084384]'
  Body:
  [*
    // On update value
    
    pispip := cell.ProductInStockingPointInPeriodPlanning();
    units := null( Units, owning );
    
    if( cell.Process_MP().istype( Operation ) )
    {
      units := selectset( cell.Process_MP().astype( Operation ), RoutingForPlanningMatrix.RoutingStep.Operation.Unit, u, true, true );
    }
    else
    {
      units := construct( Units );
      units.Add( cell.Process_MP().astype( LaneLeg ).AsProcess_MP() );
    }
    
    // Update shadow object to reflect new keyed-in qty
    cell.Quantity( newvalue );
    MacroPlan.SetSupplyForProcess( pispip, cell.Process_MP(), newvalue );
    
    // *********** Comment out for now, and use same thin client behavior
    // Smart plan with user qty
    // MacroPlan.RunSmartPlanForPeriodTask( pispip, newvalue, units, ScenarioManager, cell.Process_MP() );
  *]
}
