Manage Learn to apply best practices and optimize your operations.

Optimizing your code

Here are some ways that you can speed up your Lotus programs

Have you ever seen your clients say : "Who needs this Lotus, it's sooooo sloooow, maybe we need to change it to another programm???"

I did. Then, I started to check why they think so and say so. What I found out was amazing. It really took them 30-40 seconds to enter forms, and more than couple of minutes to print documents - and don't think that document was too big - its size was around 50-60Kb. Imagine the speed of it.

So, I started to check what takes so much time.

What I found out amazed me - every field that has LotusScript - even one letter takes an additional 2K in version 4.6 and 2.5K in version 5. So, if you had some text in LotusScript in a field and just marked it as comment - it takes that much space anyway. So, when checking around, I saw the next thing - form & subform working in this project took together 1.8 Mb. So, basically, every time a user needed to work with forms - 1.8 Mb + 50-60Kb got passed online. (users had remote drives on central machine).

Every field that has LotusScript has 2 additional fields in the design document:
FieldName - describes field itself
$$FieldName - LotusScript Component of field.
$FieldName_0 - Compiled LotusScript of field.

What do they take?
$$FieldName - at least 562 bytes in version 4.5, going to 768 bytes in version 5 + actual size of your code.
$FieldName_O - at least 1.5 K in v4.6, going up to 2.2K in version 5 + actual size of your compiled script.

What I found out - and we had hundreds of fields in the form+subform combination, that couple of techniques pay off really good.

1. Delete all unnecessary code from your LotusScript. It will give you an automatic boost of 2K*number of fields, at least.

2. If you have same function in couple of fields - put it in Globals, and call to it. Search the ways to put 2 functions together, even maybe with more parameters, and put them in the same function if you can. Cut all code from fields - put only an functional call.

3. Check using form parameters to see what fields it still uses that have $FieldName_O type - you will be able to see all fields that still have remnants of LotusScript code - try to recreate them.

4. Change whenever you can from LotusScript to @Formula. It will give you some boost.

5. If you have fields that some users should be able to edit and some not - use hide-when and create computed text in next paragraph - this method works great in tables, and makes forms much shorter.

6. Create another version of the form for printing - and cut all fields from it using method that you can get from me - - I will gladly send you code for it that will not make you need to work on 2 versions, but will allow you to do so much easier.

Dig Deeper on HTML for Lotus Notes Domino

Start the conversation

Send me notifications when other members comment.

Please create a username to comment.




  • iSeries tutorials's tutorials provide in-depth information on the iSeries. Our iSeries tutorials address areas you need to know about...

  • V6R1 upgrade planning checklist

    When upgrading to V6R1, make sure your software will be supported, your programs will function and the correct PTFs have been ...

  • Connecting multiple iSeries systems through DDM

    Working with databases over multiple iSeries systems can be simple when remotely connecting logical partitions with distributed ...