loop failure
I have a data quality issue and built a simple block of code to set some choice and idx values. The code works fine on a current selected record. However enclose it in a for or while loop and it fails. What have I got wrong? Needs to loop there are 11000 + records in the table. I'm suree there must be batter ways but the loop failure has me puzzled. Current ninox version is being used.
Code without the loop
var wtxt := " ";
var q := 0;
var counter := 0;
var cstop := count(select IR_SNow_Apps_to_OSIs) + 1;
var rec := record(IR_SNow_Apps_to_OSIs,0);
q := index(this.app_id_name, "-");
if q > 0 then
IdxTC1 := q;
TypeChoice1 := 1
else
wtxt := app_id_name;
let r := index(wtxt, " ");
if r > 0 then
IdxTC1 := r;
TypeChoice1 := 2
else
IdxTC1 := 0;
TypeChoice1 := 3
end
end;
wtxt := substr(app_id_name, IdxTC1 + 1, length(app_id_name));
let p := index(wtxt, "-");
if p > 0 then
idxTC2 := p;
TypeChoice2 := 1
else
let r := index(wtxt, " ");
if r > 0 then
idxTC2 := r;
TypeChoice2 := 2
else
idxTC2 := 0;
TypeChoice2 := 3
end
end
Code block with loop
var wtxt := " ";
var q := 0;
var counter := 0;
var cstop := count(select IR_SNow_Apps_to_OSIs) + 1;
var rec := record(IR_SNow_Apps_to_OSIs,0);
while counter <= cstop do
rec := record(IR_SNow_Apps_to_OSIs,counter);
q := index(this.app_id_name, "-");
if q > 0 then
IdxTC1 := q;
TypeChoice1 := 1
else
wtxt := app_id_name;
let r := index(wtxt, " ");
if r > 0 then
IdxTC1 := r;
TypeChoice1 := 2
else
IdxTC1 := 0;
TypeChoice1 := 3
end
end;
wtxt := substr(app_id_name, IdxTC1 + 1, length(app_id_name));
let p := index(wtxt, "-");
if p > 0 then
idxTC2 := p;
TypeChoice2 := 1
else
let r := index(wtxt, " ");
if r > 0 then
idxTC2 := r;
TypeChoice2 := 2
else
idxTC2 := 0;
TypeChoice2 := 3
end
end
end
3 replies
-
Phillip, You never increment "counter" so it looks like you have an infinite loop.
-
feeling very silly, thank you !
-
I am somewhat experienced on the topic
Content aside
- 4 yrs agoLast active
- 3Replies
- 365Views