Showing results for 
Search instead for 
Did you mean: 

Get Rid of the Set and ClearCollect Limitations in the ForAll function

The ForAll documentation has this paragraph:


"When writing your formula, keep in mind that records can be processed in any order and, when possible, in parallel. The first record of the table may be processed after the last record. Take care to avoid ordering dependencies. For this reason, you can't use the UpdateContextClear, and ClearCollect functions within a ForAll function because they could easily be used to hold variables that would be susceptible to this effect. You can use Collect, but the order in which records are added is undefined."


It says to take care to avoid ordering dependencies, and then takes away extremely useful options just to make *sure* we cannot make dependency mistakes. It does not even list here that you can't use Set, but you definitely cannot. This has been an extremely problematic limitation in the ForAll function.

Please let us at least use Set inside ForAll. This is the only loop available to us and we cannot even completely utilize it. I do not appreciate having a "failsafe" in place that makes the function extremely difficult to utilize.

Status: New
Super User
Super User

So many workarounds for something so basic and you call it LOW CODE (what an hypocrisy!)

Kudo Kingpin

@CNT, I agree. Inside of ForAll loops I have been using Collect(Collection, {...}) with Patch(Collection, First(Collection), {...}) as a substitute for Set! It is crazy that that would be necessary and even crazier for them to call it low code...

Kudo Kingpin

This limitation has become even more notable now that ThisRecord can be used but does not perform correctly when inside a Lookup or Filter function inside a ForAll!

Please let us set variables inside a ForAll

New Member

I think we can agree that Low Code is not "No Code", and it takes considerable effort to get from basic level of user, using out of the box solutions, to doing more complex coding. Would be great if these limitations could be removed, to help us get coding, rather than trying to find workarounds for an issue that doesn't need to be there.