Quintiq file version 2.0 
 | 
#parent: #root 
 | 
Method NewTripWithProduct ( 
 | 
  internal[GUIComponent] parent, 
 | 
  ProductInStockingPointInPeriodPlanningLeaf pispip 
 | 
) as Trip id:Method_DialogCreateEditTrip_NewTripWithProduct 
 | 
{ 
 | 
  #keys: '[110880.9.504905322]' 
 | 
  Body: 
 | 
  [* 
 | 
    // New trip with given pispip 
 | 
     
 | 
    data := construct( shadow [Trip], ID := OS::GenerateGUIDAsString() );// assign with temporary id 
 | 
     
 | 
    Dialog.Data( data ); 
 | 
    DataHolderTargetPISPIP.Data( pispip ); 
 | 
    Dialog.SetDefaultValue(); 
 | 
     
 | 
    result := this.DoModal( parent ); 
 | 
    trip := null( Trip ); 
 | 
     
 | 
    if( result > 0 ) 
 | 
    { 
 | 
       // To cater for case user change the arrival date 
 | 
       if( pispip.Start() <> SelectionPeriodArrival.Data().Start() ) 
 | 
       { 
 | 
         pispip := select( pispip,  
 | 
                           ProductInStockingPoint_MP.ProductInStockingPointInPeriodPlanning.astype( ProductInStockingPointInPeriodPlanningLeaf ), 
 | 
                           pispipleaf, 
 | 
                           pispipleaf.Start() = SelectionPeriodArrival.Data().Start() ); 
 | 
       } 
 | 
        
 | 
       trip := Trip::CreateWithProductInTrip( data.LaneLeg(), 
 | 
                                              pispip ); 
 | 
    } 
 | 
     
 | 
    return trip; 
 | 
  *] 
 | 
} 
 |