Quintiq file version 2.0
|
#parent: #root
|
StaticMethod GetHasValidSecondaryCapacityFields (
|
output String feedback_o,
|
output String sanitycheckfb_o,
|
Real secondarylotsize,
|
Real secondarymincapacity,
|
Real secondarymaxcapacity,
|
UnitOfMeasure_MP secondaryuom,
|
String primaryuom,
|
GlobalParameters_MP gp
|
) declarative remote as Boolean
|
{
|
Description: 'Validate the secondary capacity fields.'
|
TextBody:
|
[*
|
// Validate the secondary capacity fields for TransportCapacity
|
allowed := true;
|
|
// Check if secondary uom is provided
|
if( isnull( secondaryuom ) )
|
{
|
allowed := false;
|
feedback_o := Translations::MP_TransportCapacity_ValidateInput_IsNullSecondaryUOM();
|
sanitycheckfb_o := SanityCheckCategoryLevel::GetSanityCheckCategoryDataIssue() ;
|
}
|
// check that primary uom is different from secondary uom
|
else if( primaryuom = secondaryuom.Name() )
|
{
|
allowed := false;
|
feedback_o := Translations::MP_TransportCapacity_ValidateInput_IsSecondaryUOMSameFromPrimary( primaryuom );
|
sanitycheckfb_o := SanityCheckCategoryLevel::GetSanityCheckCategoryDataIssue();
|
}
|
// check if secondary lot size is larger than zero
|
else if( secondarylotsize < 0 )
|
{
|
allowed := false;
|
feedback_o := Translations::MP_ValidateInput_IsNegativeLotSize( secondarylotsize );
|
sanitycheckfb_o := SanityCheckCategoryLevel::GetSanityCheckCategoryDataIssue() ;
|
}
|
// check for user capacity
|
// check if min capacity is larger than zero
|
else if( secondarymincapacity < 0.0 )
|
{
|
allowed := false;
|
feedback_o := Translations::MP_TransportCapacity_ValidateInput_IsNegativeMinCapacity( secondarymincapacity );
|
sanitycheckfb_o := SanityCheckCategoryLevel::GetSanityCheckCategoryDataIssue() ;
|
}
|
// check if max capacity is larger than zero
|
else if( secondarymaxcapacity < 0.0 )
|
{
|
allowed := false;
|
feedback_o := Translations::MP_TransportCapacity_ValidateInput_IsNegativeMaxCapacity( secondarymaxcapacity );
|
sanitycheckfb_o := SanityCheckCategoryLevel::GetSanityCheckCategoryDataIssue() ;
|
}
|
// check if max capacity is larger than lot size
|
else if( secondarymaxcapacity < secondarylotsize )
|
{
|
allowed := false;
|
feedback_o := Translations::MP_TransportCapacity_ValidateInput_Secondary_IsMaxCapacityLessThanLotSize( secondarymaxcapacity, secondarylotsize );
|
sanitycheckfb_o := SanityCheckCategoryLevel::GetSanityCheckCategoryDataIssue() ;
|
}
|
// check if max capacity is within the allowed range
|
else if( secondarymaxcapacity <> 0
|
and not GlobalParameters_MP::GetIsValueWithinRange( secondarymaxcapacity,
|
gp.AbsoluteUpperLimit(),
|
gp.AbsoluteLowerLimit() ) )
|
{
|
allowed := false;
|
feedback_o := Translations::MP_TransportCapacity_ValidateInput_InvalidSecondaryMaxCapacity( secondarymaxcapacity,
|
gp.AbsoluteUpperLimit(),
|
gp.AbsoluteLowerLimit() );
|
sanitycheckfb_o := SanityCheckCategoryLevel::GetSanityCheckCategoryDataIssue() ;
|
}
|
// check if min capacity is within the allowed range
|
else if( secondarymincapacity <> 0
|
and not GlobalParameters_MP::GetIsValueWithinRange( secondarymincapacity,
|
gp.AbsoluteUpperLimit(),
|
gp.AbsoluteLowerLimit() ) )
|
{
|
allowed := false;
|
feedback_o := Translations::MP_TransportCapacity_ValidateInput_InvalidSecondaryMinCapacity( secondarymincapacity,
|
gp.AbsoluteUpperLimit(),
|
gp.AbsoluteLowerLimit() );
|
sanitycheckfb_o := SanityCheckCategoryLevel::GetSanityCheckCategoryDataIssue() ;
|
}
|
// check if min & max capacity combination is valid
|
else if( secondarymincapacity > secondarymaxcapacity )
|
{
|
allowed := false;
|
feedback_o := Translations::MP_TransportCapacity_ValidateInput_Secondary_IsMaxCapacityLessThanMinCapacity( secondarymaxcapacity, secondarymincapacity );
|
sanitycheckfb_o := SanityCheckCategoryLevel::GetSanityCheckCategoryDataIssue() ;
|
}
|
|
return allowed;
|
*]
|
}
|