Quintiq file version 2.0
#parent: #root
Method New (
  Unit owner,
  RoutingStep routingstep
) id:Method_DialogCreateEditOperation_New
{
  #keys: '[139394.0.1381149384]'
  Body:
  [*
    // Create operation
    operationinrs := routingstep.Operation( relsize );
    units := MacroPlan.Unit( relsize );
    
    // Select any unit if the selected unit is null
    if( isnull( owner ) )
    {
      owner := Operation::GetDefaultOwner( MacroPlan, routingstep );
    }
    
    operationid := Operation::GetConcatenatedID( routingstep.RoutingID(),
                                                 routingstep.Name(),
                                                 ifexpr( operationinrs < units, guard( owner.ID(), '' ), '' ) );
    
    
    data := owner.Operation( relshadow,
                             Operation,
                             ID := operationid,
                             RoutingStepName := routingstep.Name(),
                             RoutingID := routingstep.Routing().ID() );
    
    this.SetLabels( owner.UnitOfMeasure_MP() );
    
    DataHolderDialogData.Data( &data );
    this.InitializeComponents( false );
    ApplicationMacroPlanner.ShowFormModal( this );
  *]
}
