A powerful Data transformation language similar to Pascal is included in all our ETL and Business automation tools.

It can be used with Calculation Transformation FunctionPackage Script Action or inside any text object

##### Why loops are used in programming

One of the main reasons for using computers is to save the tedium of many repetitive tasks. One of the main uses of loops in programs is to carry out such repetitive tasks. A loop will execute one or more lines of code (statements) as many times as you want.

Your choice of loop-type depends on how you want to control and terminate the looping.

##### The For loop

This is the most common loop type. For loops are executed a fixed number of times, determined by a count. They terminate when the count is exhausted. The count (loop) is held in a variable that can be used in the loop. The count can proceed upwards or downwards but always does so by a value of 1 unit. This count variable can be a number or even an enumeration.

##### Counting up

Here is a simple example counting up using numeric values:

var
count : Integer;
begin
For count := 1 to 5 do
Result:= 'Count is now '+IntToStr(count);
end;

##### Counting down

Here is a simple example counting up using numeric values:

var
count : Integer;
begin
For count := 5 downto 1 do
Result:= 'Count is now '+IntToStr(count);
end;

For statements in the examples above have all executed one statement. If you want to execute more than one, you must enclose these in a Begin and End pair.

##### The Repeat loop

The Repeat loop type is used for loops where we do not know in advance how many times we will execute. For example, when we keep asking a user for a value until one is provided, or the user aborts. Here, we are more concerned with the loop termination condition.

Repeat loops always execute at least once. In the end, the Until condition is checked, and the loop aborts of condition work out as true.

A simple example

var
stop : Boolean;          // Our exit condition flag
i : Integer;
begin
i := 1;
exit := False;           // do not exit until we are ready
repeat
i := i+1;                // Increment a count
if Sqr(i) > 99
then stop:= true;     // Exit if the square of our number exceeds 99
until stop;              // Shorthand for 'until exit := true'
result:=I;
end;

Upon exit, i will be 10 (since Sqr(10) > 99)

Here we exit the repeat loop when a Boolean variable is true. Notice that we use a shorthand - just specifying the variable as the condition is sufficient since the variable value is either true or false.

Using a compound condition

var
i : Integer;
begin
i := 1;
repeat
i := i+1;          // Increment a count
until (Sqr(i) > 99) or (Sqrt(i) > 2.5);
result:=i;
end;

Upon exit, i will be 7 (since Sqrt(7) > 2.5)

Notice that compound statements require separating brackets. Notice also that Repeat statements can accommodate multiple statements without the need for a begin/end pair. The repeat and until clauses form a natural pairing.

#### While loops

While loops are very similar to Repeat loops except that they have the exit condition at the start. This means that we use them when we wish to avoid loop execution altogether if the condition for exit is satisfied at the start.

Var
i : Integer;
begin
i := 1;
while (Sqr(i) <= 99) and (Sqrt(i) <= 2.5) do
i := i+1;                // Increment a count
result:=i;
end;

Upon exit, i will be 7 (since Sqrt(7) > 2.5)

Notice that our original Repeat Until condition used Or as the compound condition joiner - we continued until either condition was met. With our While condition, we use And as the joiner - we continue whilst neither condition is met. Have a closer look to see why we do this. The difference is that we repeat an action until something or something else happens. Whereas we keep doing an action while neither something nor something else has happened.

Next: Using Functions