Recursive function: Operator IN / NOT IN or alternat.method
andy76
Member Posts: 616
Hello,
is it possible to change the forum where I posted a previous message if I inserted it in a not correct place in Mibuso forums?
I have to scroll Reservation Entry table recursively with a lot of
conditions of filter.
this is a function called more times
T337.setrange(....);
T337.setrange(....);
T337.setrange(....);
T337.setrange(....);
T337.setfilter('Entry No.','<>%1',prev.'Entry No.');
now I have a case where the loop is infinite and Navision client closes.
I understand that last filter condition is not enough because if there are
more records with identical previous conditions I can return on previous one
so I have to substitute it in a manner similar to this
declare a variable where I insert all previous Entry No. already scrolled
and then use a new filter similar to following
T337.setrange(....);
T337.setrange(....);
T337.setrange(....);
T337.setrange(....);
T337.setfilter('Entry No.','NOT IN [%1]',prev.myVar);
The problem is that myVar should be of types text to concatenate previous
Entry No separated by commas [,] but after it doesn't go right because 'Entry
No.' of setfilter is of type Integer.
What do you suggest?
Thank you very much
is it possible to change the forum where I posted a previous message if I inserted it in a not correct place in Mibuso forums?
I have to scroll Reservation Entry table recursively with a lot of
conditions of filter.
this is a function called more times
T337.setrange(....);
T337.setrange(....);
T337.setrange(....);
T337.setrange(....);
T337.setfilter('Entry No.','<>%1',prev.'Entry No.');
now I have a case where the loop is infinite and Navision client closes.
I understand that last filter condition is not enough because if there are
more records with identical previous conditions I can return on previous one
so I have to substitute it in a manner similar to this
declare a variable where I insert all previous Entry No. already scrolled
and then use a new filter similar to following
T337.setrange(....);
T337.setrange(....);
T337.setrange(....);
T337.setrange(....);
T337.setfilter('Entry No.','NOT IN [%1]',prev.myVar);
The problem is that myVar should be of types text to concatenate previous
Entry No separated by commas [,] but after it doesn't go right because 'Entry
No.' of setfilter is of type Integer.
What do you suggest?
Thank you very much
0
Comments
-
May be better is to describe what is your target, what you want to do than just solving some never ending loops because wrong design. For me it seems that the meaning of your code is not clear and it can be done in antoher way...0
-
In few words I only have to exclude a range of values in a filter.
rec.SETFILTER("fieldName",'NOT IN [%1]',varRange);
where varRange is a variable of type Text with more not determined values for varRange
for example varRange='12345,6789,8908,....' where the single values are
12345
6789
8908
they are a string created dinamically.
but "fieldName" is of type Integer
Thank you0 -
you code needs to reflect more of a
Setfilter("Entry No.", '<>12345&<>6789&<>8908');0 -
I don't know which are the values and how many they are.
The string of values is populated dinamically at run time.
There can be an only one value or 100.
Do you understand?
Thank you0 -
how are they being entered?
into some text string? value1,value2,etc?kine wrote:May be better is to describe what is your target, what you want to do than just solving some never ending loops because wrong design. For me it seems that the meaning of your code is not clear and it can be done in antoher way...0 -
I'm guessing using marked records could solve your problem.
But I'm only guessing. Because like the others; I don't exactly understand your problem.
Tino Ruijs
Microsoft Dynamics NAV specialist0 -
I know what you want to do, but I do not know why you want to do. I need to know the "meaning of whole" to be able to suggest another way around. This way is not good and there are just problems.0
-
The problem is to exclude the records already passed before and go on recursively on the other ones?0
-
Why not flag the records in some flag and mark them as "processed" to filter them out?0
-
Maybe this is ok.
I will have to try.
Thank you0
Categories
- All Categories
- 73 General
- 73 Announcements
- 66.7K Microsoft Dynamics NAV
- 18.7K NAV Three Tier
- 38.4K NAV/Navision Classic Client
- 3.6K Navision Attain
- 2.4K Navision Financials
- 116 Navision DOS
- 851 Navision e-Commerce
- 1K NAV Tips & Tricks
- 772 NAV Dutch speaking only
- 617 NAV Courses, Exams & Certification
- 2K Microsoft Dynamics-Other
- 1.5K Dynamics AX
- 324 Dynamics CRM
- 111 Dynamics GP
- 10 Dynamics SL
- 1.5K Other
- 990 SQL General
- 383 SQL Performance
- 34 SQL Tips & Tricks
- 35 Design Patterns (General & Best Practices)
- 1 Architectural Patterns
- 10 Design Patterns
- 5 Implementation Patterns
- 53 3rd Party Products, Services & Events
- 1.6K General
- 1.1K General Chat
- 1.6K Website
- 83 Testing
- 1.2K Download section
- 23 How Tos section
- 252 Feedback
- 12 NAV TechDays 2013 Sessions
- 13 NAV TechDays 2012 Sessions

