Quintiq file version 2.0
|
#parent: #root
|
Method GetHasValidAccountCostFactor (
|
output Strings feedback_o,
|
output Strings sanitycheckfb_o
|
) declarative remote as Boolean
|
{
|
Description: 'Validate if factor of min and max account costs is less than or equal to limit'
|
TextBody:
|
[*
|
// desmondt Nov-3-2014 (created)
|
isvalid := true;
|
factorlimit := this.MacroPlan().GlobalParameters_MP().DifferenceFactor1e6();
|
|
if( this.MaxCost().IsFinite() and this.MinCost().IsFinite() )
|
{
|
costdifffactor := guard( this.MaxCost() / this.MinCost(), this.MaxCost() );
|
isvalid := costdifffactor < factorlimit;
|
}
|
|
if( not isnull( feedback_o ) and not isvalid )
|
{
|
formatfactorlimit := factorlimit.Format( "N(Dec(0), Thousands)" );
|
formatmincost := this.MinCost().Format( "N(Dec(0), Thousands)" );
|
formatmaxcost := this.MaxCost().Format( "N(Dec(0), Thousands)" );
|
feedback_o.Add( SanityCheckMessage::GetFormattedMessage( Translations::MP_Account_MP_Instance( this ),
|
Translations::MP_Account_ViolateHasValidAccountCostRange( formatmincost, formatmaxcost, formatfactorlimit ) ) );
|
sanitycheckfb_o.Add( SanityCheckCategoryLevel::GetSanityCheckCategoryDataWarning() );
|
}
|
|
return isvalid;
|
*]
|
}
|