Quintiq file version 2.0 #parent: #root Method PTF_ValidateScript ( String script ) as String id:Method_LibPTF_dlgCreateEditTestScript_PTF_ValidateScript { #keys: '[103546.0.109833688]' Body: [* // Checks the script with various validation scriptwithoutcomment := this.PTF_RemoveComment( script ); rows := scriptwithoutcomment.Tokenize( String::NewLine() ); rownr := 0; errormsg := ""; traverse( rows, Elements, row, errormsg.Length() = 0 ) { parameters := null( Strings ); rownr++; row := row.TrimBoth(); if( row.Length() > 0 ) { // Line by line basic validation row := row.ReplaceAll( ";", "" ); action := this.PTF_GetActionAndParameters( row, parameters ); errormsg := this.PTF_ValidateStatement( action, parameters ); } } if( errormsg.Length() > 0 ) { errormsg := "Line #" + [String]rownr + ": " + errormsg; } else { // Validation considering more than just the line itself errormsg := this.PTF_ValidateComment( scriptwithoutcomment ); if( errormsg.Length() = 0 ) { errormsg := this.PTF_ValidateLoop( scriptwithoutcomment ); } } return errormsg; *] }