Quintiq file version 2.0 #parent: #root Method PTF_ValidateStatement ( String action, structured[String] parameters ) as String id:Method_LibPTF_dlgCreateEditTestScript_PTF_ValidateStatement { #keys: '[103546.0.109833699]' Body: [* // Checks the statement with various validation based on the action errormsg := "" paramsize := parameters.Size(); // No parameters if( action = LibPTF_StandardAction::AutoClose() or action = LibPTF_StandardAction::CloseAllForms() or action = LibPTF_StandardAction::EndLoop() or action = LibPTF_StandardAction::ProfilerStart() ) { errormsg := this.PTF_ValidateParametersSize( action, paramsize, 0 ); } // Exactly one parameter else if( action = LibPTF_StandardAction::OpenView() or action = LibPTF_StandardAction::Loop() ) { errormsg := this.PTF_ValidateParametersSize( action, paramsize, 1 ); if( errormsg.Length() = 0 and action = LibPTF_StandardAction::Loop() ) { errormsg := this.PTF_ValidateGreaterThanZeroInteger( action, parameters.Element( 0 ), 1 ); } } // Exactly two parameter else if( action = LibPTF_StandardAction::ScrollGCToBottom() or action = LibPTF_StandardAction::ScrollGCToNow() or action = LibPTF_StandardAction::ScrollGCToTop() or action = LibPTF_StandardAction::ScrollListToLast() or action = LibPTF_StandardAction::Wait() ) { errormsg := this.PTF_ValidateParametersSize( action, paramsize, 2 ); // This whole block will be executed if action = "Wait" if( action = LibPTF_StandardAction::Wait() ) { if( errormsg.Length() = 0 ) { errormsg := this.PTF_ValidatePositiveNumericValue( action, parameters.Element( 0 ), 1 ); if( errormsg.Length() = 0 ) { errormsg := this.PTF_ValidatePositiveNumericValue( action, parameters.Element( 1 ), 2 ); } } else { custommsg := 'Action "' + action + '" should have 1 or 2 parameters. Found ' + [String]paramsize + ' instead.' + String::NewLine(); errormsg := this.PTF_ValidateParametersSizeShowCustomMsg( action, paramsize, 1, custommsg ); if( errormsg.Length() = 0 ) { errormsg := this.PTF_ValidatePositiveNumericValue( action, parameters.Element( 0 ), 1 ); } } } } // Exactly three parameters else if( action = LibPTF_StandardAction::ScrollGCLeftRight() or action = LibPTF_StandardAction::ScrollGCPageLeftRight() or action = LibPTF_StandardAction::ScrollGCPageUpDown() or action = LibPTF_StandardAction::ScrollGCUpDown() or action = LibPTF_StandardAction::SelectListFrom() or action = LibPTF_StandardAction::ZoomGC() ) { errormsg := this.PTF_ValidateParametersSize( action, paramsize, 3 ); if( errormsg.Length() = 0 ) { if( action = LibPTF_StandardAction::SelectListFrom() ) { errormsg := this.PTF_ValidatePositiveInteger( action, parameters.Element( 2 ), 3 ); } // Other actions: "ScrollGCLeftRight", "ScrollGCPageLeftRight", "ScrollGCPageUpDown", "ScrollGCUpDown", "ZoomGC" else { errormsg := this.PTF_ValidateInteger( action, parameters.Element( 2 ), 3 ); } } } // Zero or one parameter else if( action = LibPTF_StandardAction::ProfilerReset() or action = LibPTF_StandardAction::ProfilerStop() ) { errormsg := this.PTF_ValidateParametersWithOptionalParamSize( action, paramsize, 0, 1 ); } return errormsg; *] }