| Quintiq file version 2.0 | 
| #parent: #root | 
| StaticMethod ValidateDefaultInventoryHoldingCosts ( | 
|   output String feedback_o, | 
|   output String sanitycheckfeedback_o, | 
|   MacroPlan macroplan, | 
|   String defaultAccountForInventoryValue, | 
|   Boolean hasabsolutecostforinventoryholding, | 
|   Real defaultabsolutecostforinventoryholding, | 
|   Real defaultannualinterestrateforinventoryholding | 
| ) declarative remote as Boolean | 
| { | 
|   TextBody: | 
|   [* | 
|     // Validate default inventory holding cost | 
|     if( defaultAccountForInventoryValue = '' | 
|        or not exists( macroplan, Account_MP, acc, acc.Name() = defaultAccountForInventoryValue ) ) | 
|     { | 
|      feedback_o := Translations::MP_GlobalParameters_MP_ValidateInput_IsInvalidAccount(); | 
|      sanitycheckfeedback_o := SanityCheckCategoryLevel::GetSanityCheckCategoryDataIssue(); | 
|     } | 
|     else if( hasabsolutecostforinventoryholding and defaultabsolutecostforinventoryholding <= 0 ) | 
|     { | 
|      feedback_o := Translations::MP_GlobalParameters_MP_ValidateInput_IsInvalidAbsoluteCost( defaultabsolutecostforinventoryholding ); | 
|      sanitycheckfeedback_o := SanityCheckCategoryLevel::GetSanityCheckCategoryDataIssue(); | 
|     } | 
|     else if( not hasabsolutecostforinventoryholding and defaultannualinterestrateforinventoryholding <= 0 ) | 
|     { | 
|      feedback_o := Translations::MP_GlobalParameters_MP_ValidateInput_IsInvalidAnnualInterestRate( defaultannualinterestrateforinventoryholding ); | 
|      sanitycheckfeedback_o := SanityCheckCategoryLevel::GetSanityCheckCategoryDataIssue(); | 
|     } | 
|      | 
|     return feedback_o = ''; | 
|   *] | 
| } |