Quintiq file version 2.0 
 | 
#parent: #root 
 | 
StaticMethod Create ( 
 | 
  Operation owner, 
 | 
  UnitPeriod unitperiod, 
 | 
  Real quantity, 
 | 
  Boolean hasuser 
 | 
) as PeriodTaskOperation 
 | 
{ 
 | 
  Description: 'Create period task' 
 | 
  TextBody: 
 | 
  [* 
 | 
    // desmondt Jan-1-2015 (modified) 
 | 
     
 | 
    pt := owner.GetPeriodTask( unitperiod ); 
 | 
     
 | 
    if( isnull( pt ) ) 
 | 
    { 
 | 
      pt := owner.PeriodTaskOperation( relnew, 
 | 
                                       StartAsTypeIndex := unitperiod.Period_MP().Start(), 
 | 
                                       OperationID := owner.ID(), 
 | 
                                       UnitPeriod := unitperiod, 
 | 
                                       AsPeriodTaskOperationOfUnitPeriod := unitperiod, 
 | 
                                       Process_MP := owner ); 
 | 
     
 | 
      pt.Update( quantity, hasuser ); 
 | 
      pt.CreatePeriodTaskInCampaigns(); 
 | 
      pt.CreatePeriodTaskInTransitions(); 
 | 
     
 | 
      DependentDemandInputGroup::Synchronize( pt ); 
 | 
    } 
 | 
    return pt; 
 | 
  *] 
 | 
} 
 |