About Recursive Functions
A recursive function is a type of function that calls itself or that calls another function that calls the first function. Siebel eScript allows recursion. Each call to a function is independent of any other call to this function. If a function calls itself too many times, then the script runs out of memory and aborts.
In the following example, the factor function calls itself so that it can factor a number. Factoring is an appropriate use of recursion because it is a repetitive process where the result of one factor uses the same rules to factor the next result:
function factor(i) //recursive function to print factors of i,
{// and return the number of factors in i
if ( 2 <= i )
{
for ( var test = 2; test <= i; test++ )
{
if ( 0 == (i % test) )
{
// found a factor, so print this factor then call
// factor() recursively to find the next factor
return( 1 + factor(i/test) );
}
}
}
// if this point was reached, then factor not found
return( 0 );
}