| Quintiq file version 2.0 | 
| #parent: #root | 
| StaticMethod ValidateInput ( | 
|   output String feedback_o, | 
|   output String sanitycheckfeedback_o, | 
|   MacroPlan macroPlan, | 
|   String code, | 
|   String vehicleModel, | 
|   ThreeDigitCode selection | 
| ) declarative remote as Boolean | 
| { | 
|   TextBody: | 
|   [* | 
|     // lihongji May-14-2024 (created) | 
|     feedback_o            := ""; | 
|     sanitycheckfeedback_o := ""; | 
|      | 
|     if ( code.TrimBoth() = "" or vehicleModel.TrimBoth() = "" ) { | 
|       feedback_o            := ifexpr( code.TrimBoth() = "", Translations::A_VWED_SixDigitCode_Code() + "、", "" )                 +   | 
|                                ifexpr( vehicleModel.TrimBoth() = "", Translations::A_VWED_PR_PP_Budget_VehicleModel() + "、", "" ); | 
|       feedback_o            := Translations::A_VWED_SixDigitCode_VerificationRules1( guard( feedback_o.SubString( 0, feedback_o.Length() - 1 ), "error" ) ); | 
|       sanitycheckfeedback_o := SanityCheckCategoryLevel::GetSanityCheckCategoryPlanningWarning(); | 
|     } else if ( code.TrimBoth() <> "" and exists( macroPlan, ThreeDigitCode, tempTDC, tempTDC.Code() = code and tempTDC <> selection ) ) { | 
|       feedback_o            := Translations::A_VWED_ThreeDigitCode_VerificationRules2(); | 
|       sanitycheckfeedback_o := SanityCheckCategoryLevel::GetSanityCheckCategoryPlanningWarning(); | 
|     } else if ( vehicleModel.TrimBoth() <> "" and not exists( macroPlan, SalesSegment_MP, tempSSMP, tempSSMP.Name() = vehicleModel ) ) { | 
|       feedback_o            := Translations::A_VWED_SixDigitCode_VerificationRules3(); | 
|       sanitycheckfeedback_o := SanityCheckCategoryLevel::GetSanityCheckCategoryPlanningWarning(); | 
|     } | 
|      | 
|     return feedback_o = ""; | 
|   *] | 
| } |