613-518-1166 info@zimdatabases.com

ZIM Language Reference

{ } (Case)

< All Topics

Selects one in a series of values.


{ expression1 , expression2 }




any value expression




any value expression


Return Value

The value of the first of the expressions that is not $Null.


The expressions within the braces are evaluated from left to right. The case expression takes the value of the first expression that is not $Null. The expressions can themselves be written in case format.

Case expressions provide a useful way of dealing with values that are conditional, depending on another value. Each “case” within the braces is evaluated from left to right until one case yields a value that is not $Null. The case expression returns this value.

Case expressions can minimize the code that is required to produce certain conditional results. For example

let Status = {‘tall’ where Height > 6, ‘short’}


if Height > 6

  let Status = ‘tall’


  let Status = ‘short’


Case expressions can ensure that a value is provided in situations where a field or widget alone can sometimes be $Null. For example:

let Salary = {fAddEmps.Salary, 0}

Case expressions can also be used to determine the action to be taken by certain commands as shown in the following example:

break 1

  {$year(InvDate) + 1 where $month(InvDate) >= 5,$year(InvDate)}

  heading …


detail line “Employee Number: ” {EmpNum, “N/A”}

The preceding command prints, in a report, the string N/A where employee numbers are missing.

Was this article helpful?
0 out Of 5 Stars
5 Stars 0%
4 Stars 0%
3 Stars 0%
2 Stars 0%
1 Stars 0%
How can we improve this article?
Table of Contents