Manage Learn to apply best practices and optimize your operations.

LotusScript sorts lists alphabetically

There are a lot of things you can accomplish using the List data type in Lotus Notes. But it doesn't allow you to sort objects alphabetically. This LotusScript code will do the trick.

The List data type is one of the most useful features in Lotus Notes. It allows you to change the size of a list at any point while the application is still running. LotusScript doesn't allocate any storage space at compile time for the elements of a list.

Lists automatically shrink or grow when elements are either deleted or added. You access each element in a list by a unique String value, called a list tag.

The second advantage of using a List over an Array is the variety of objects you can store. You can also define your own key to sort objects based on specific requirements. My company uses large amounts of indicators in our applications, such as Row, materials, Carbon details, etc.

Because of this, we can't use Array since we need these to use indicators as a key that lets us loop through and build reports on the Web. For example, we might use something like:

Dim Indicators List As String
Indicators("Row Materials")=4
Indicators("Carbon details")=5

Forall ind in Indicators
   Print |Observation name:
|+ind+| values : | + 
end forall

In this example, you can see how easily List keeps user-defined names as a key. Corresponding values can then be retrieved by a passing key (List tag). While building these reports, I needed to use a sorting mechanism with List. When the previously mentioned code runs, it will display:

Row Materials : 4
Carbon details : 5

But I need Carbon details to be printed first. In this case, I need to sort my list based on the List tag so that the objects display alphabetically. Here is the LotusScript code to sort the List based on the List tag.

LotusScript to sort lists alphabetically
(Click on code for enlarged view and script download.)

Do you have comments on this tip? Let us know.

This tip was submitted to the tip library by member Rishi Sahi. Please let others know how useful it is via the rating scale below. Do you have a useful Lotus Notes/Domino technical tip or code snippet to share? Submit it to our monthly tip contest and you could win a prize.

Related resources from

Dig Deeper on LotusScript

  • Favorite iSeries cheat sheets

    Here you'll find a collection of valuable cheat sheets gathered from across the iSeries/ community. These cheat ...