Quintiq file version 2.0 
 | 
#parent: #root 
 | 
Method CreateActualPISPIP ( 
 | 
  internal[GUIComponent] parent, 
 | 
  ProductInStockingPointInPeriod selectedpispip 
 | 
) as ActualProductInStockingPointInPeriod id:Method_DialogCreateEditActualPISPIP_CreateActualPISPIP 
 | 
{ 
 | 
  #keys: '[137118.0.315917565]' 
 | 
  Body: 
 | 
  [* 
 | 
    // Create from actual pispip list 
 | 
    // Assign values/relations to ActualPISPIP to populate the dialog 
 | 
    pispip := selectedpispip; 
 | 
    pisp := selectedpispip.ProductInStockingPoint_MP(); 
 | 
    product := pisp.Product_MP(); 
 | 
    stockingpoint := pisp.StockingPoint_MP(); 
 | 
    actualdate := pispip.Period_MP().EndDate() - 1; // Default actual date will be the latest date for actual in the period (period's enddate - 1) 
 | 
    manufactureDate := ifexpr( guard( product.HasShelfLifeOrMaturation(), false ),  
 | 
                                   ActualProductInStockingPointInPeriod::GetMinimumManufacturedDate( product, stockingpoint,actualdate ), Date::MinDate() ); 
 | 
       
 | 
    data := MacroPlan.Actual( relshadow, ActualProductInStockingPointInPeriod, ProductID := product.ID(), StockingPointID := stockingpoint.ID(), Date := actualdate, ManufacturedDate := manufactureDate );                  
 | 
    data.ProductInStockingPoint_MP( relset, pisp ); 
 | 
     
 | 
    Dialog.Data( data ); 
 | 
     
 | 
    ValueHolderIsBatchEdit.Value( [String] false ); 
 | 
    Dialog.ShowHideComponents( [Boolean] ValueHolderIsBatchEdit.Value() ); 
 | 
     
 | 
    result := this.DoModal( parent ); 
 | 
     
 | 
    newobj := null( ActualProductInStockingPointInPeriod ); 
 | 
     
 | 
    if( result > 0 ) 
 | 
    { 
 | 
      //if manufactured date is restricted, default it to date of actual pispip 
 | 
      manufactureddate := this.GetManufacturedDateWithUIRestriction( GUIDateSelectorManufacturedDate.DateTime().Date(), GUIDateTimeSelectorDate.DateTime().Date() ); 
 | 
      newobj := ActualProductInStockingPointInPeriod::Create( MacroPlan, 
 | 
                                                              SelectionProduct.Data(), 
 | 
                                                              SelectionStockingPoint.Data(), 
 | 
                                                              GUIDateTimeSelectorDate.DateTime().Date(), 
 | 
                                                              manufactureddate, 
 | 
                                                              ApplicationLibMacroPlanner.FormatStringToReal( EditorInventoryLevelEnd.Text()), 
 | 
                                                              EditorDescription.Text(), 
 | 
                                                              false ); 
 | 
    } 
 | 
     
 | 
    return newobj; 
 | 
  *] 
 | 
} 
 |