Quintiq file version 2.0 
 | 
#parent: #root 
 | 
Method New ( 
 | 
  internal[GUIComponent] parent, 
 | 
  ProductInStockingPoint_MP pisp 
 | 
) as SafetyStock id:Method_DialogCreateEditSafetyStock_New 
 | 
{ 
 | 
  #keys: '[136682.2.182627980]' 
 | 
  Body: 
 | 
  [* 
 | 
    //Create new SafetyStock 
 | 
    Dialog.EnableBatchEditComponents( false ); 
 | 
    Dialog.ShowHideComponent( false ); 
 | 
     
 | 
     
 | 
    stockingpoint := guard( pisp.StockingPoint_MP(), null( StockingPoint_MP ) ); 
 | 
    owner := guard( pisp.Product_MP(), InventorySpecification::GetDefaultOwner( MacroPlan, stockingpoint ) ); 
 | 
    start := MacroPlan.StartOfPlanning().Date();  
 | 
     
 | 
    data := owner.SafetyStock( relshadow, 
 | 
                               ProductID := owner.ID(), 
 | 
                               StockingPointID := guard(stockingpoint.ID(),""), 
 | 
                               Start := start, HasUserTarget := true); 
 | 
                                
 | 
    data.StockingPoint_MP( relset, stockingpoint ); 
 | 
     
 | 
     
 | 
    Dialog.Data( data ); 
 | 
     
 | 
    result := Dialog.DoModal( parent ); 
 | 
    newobj := null( SafetyStock ); 
 | 
     
 | 
    if( result > 0 ) 
 | 
    {            
 | 
      
 | 
      SafetyStock::Create(  data.Product_MP(), 
 | 
                            data.StockingPoint_MP(), 
 | 
                            data.Start(), 
 | 
                            data.HasTargetInDays(),  
 | 
                            data.UserTargetInDays(),   
 | 
                            data.UserTargetInQuantity(),// Does not have a target in days, the initial targets are 0 
 | 
                            false,  
 | 
                            data.HasUserTarget(), false );      
 | 
     
 | 
    } 
 | 
     
 | 
    return newobj; 
 | 
  *] 
 | 
} 
 |