Quintiq file version 2.0
|
#parent: #root
|
Method GenerateOptCampaignUnits
|
{
|
TextBody:
|
[*
|
//Get existing opt campaign units
|
debuginfo( "__>>>__", this.DefinitionName(), this.Key(), 'GenerateOptCampaignUnits' )
|
optcampaignunitstoberemoved := this.OptCampaignUnit( relget );
|
|
//Select the units which should be included for the campaign optimizer
|
unitswithcampaigns := selectset( this.Macroplan(), Unit, u, u.HasCampaignType() )
|
|
//Create the opt campaign units
|
traverse( unitswithcampaigns, Elements, unit )
|
{
|
optcampaignunit := select( this, OptCampaignUnit, ocu, ocu.UnitID() = unit.ID() );
|
|
if( isnull( optcampaignunit ) )
|
{
|
optcampaignunit := OptCampaignUnit::Create( this, unit );
|
}
|
//remove the optcampaignunit from the original set if it already existed
|
optcampaignunitstoberemoved.Remove( optcampaignunit );
|
}
|
|
//remove the obsolete optcampaignunits
|
OptCampaignUnit::Delete( optcampaignunitstoberemoved );
|
*]
|
}
|