Qlik Community

Qlik Sense App Development

Discussion board where members can learn more about Qlik Sense App Development and Usage.

rohitk1609
Valued Contributor II

Exit Script not working

Hi Techies,

I have written one application which has three nested loops, two FOR loop and one DO WHILE then exit script and there are another tabs which have some old code. I executed below code two or three times in my script is was executed fine.

Temp_0:

load

*

Inline

[

FIELD_CATEGORY

ABC/

CDE/

EFG/

](delimiter is '/');

Let c=1;

FOR c = 1 to  NoOfRows('Temp_0')-1

TEMP:

Load

*

inline

[

FIELD

ABC

DEF

GHI

];

let a=1;

FOR a = 1 to NoOfRows('TEMP')-1

let Var=FieldValue('FIELD',$(a));

let vCountry = SubField(Var,'|',2);

////////Weekly Loop///////

let vToday = num(now())-14;

let b= '42442';

Do while b <= vToday

let vmessage='';

let b=b+7;

Loop

NEXT a

Next c

exit script

//old code//

but suddenly it was started through error which is :

The control statement is not correctly matched with its corresponding start statement

               Next a



Then I deleted the tables after EXIT SCRIPT and script is started running fine.

My problem is why script is not working if there is old code after exit script ?

Thanks in Advance!

Rohit

Tags (1)
9 Replies
MVP
MVP

Re: Exit Script not working

The statements after EXIT SCRIPT are still parsed to catch any pre-execution detectable syntax errors.

So that is the reason. I would rather use a block comment with /* and have the */ at the very end of the script - that way you don't need to figure out the problem with your old code.

arvind1494
Contributor III

Re: Exit Script not working

Use exit script at the end of script

and don't forget to use ; at the end of statement

rohitk1609
Valued Contributor II

Re: Exit Script not working

It is very sad to know code executes even after EXIT SCRIPT;

MVP
MVP

Re: Exit Script not working

The code is not executing - it is being parsed - validated that it has correct syntax. Parsing and executing are two very different things.

MVP
MVP

Re: Exit Script not working

You don't need to use a ; at the end of a control statement like EXIT SCRIPT. It doesn't do any - but it is unnecessary.

MVP
MVP

Re: Exit Script not working

Parsing is a good thing to be able to catch any errors as soon as possible. The disadvantages are minor ... the only thing is that you will have to use commenting instead of just EXIT SCRIPT. Why don't you correct the syntax errors? Then you can continue to use EXIT SCRIPT.

rohitk1609
Valued Contributor II

Re: Exit Script not working

Hey Petter,

I got your point. Parsing means it looks for any syntax error. If it is not executing it will not load any script outcome data to application, it will just tell me that post exit script there is any error or not. like in my case, why my loop before exit script is failing because loop start from a=1 and post script there is a value 15 in variable a ,  so all time it was saying starting of loop condition won't work. I tried to set variable a definition before exit script or before any loop code but it was taking the value of variable post exit script.

Thanks Petter. from now will use /* instead of exit script.

MVP
MVP

Re: Exit Script not working

You're welcome. Please mark this question as answered so the thread gets closed and marked as such.

Re: Exit Script not working

Maybe there are some exceptions to the general rule hinted from Petter. At least in QV 10 the in this release undocumented feature of must-include was executed after an exit script statement. I don't know if this had now changed.

- Marcus