Programmatically Change The Design Of A Local Database

From the Lotus Notes KnowledgeBase (#1280243)

You want to programmatically change or update the design of a local Lotus Notes® database from a template. For your particular scenario, replication is not an option. The database is local to the client, and there is no server replica to pull the design changes from. So you would like to use LotusScript to programmatically change the design.

First of all, the template with which you want to update the database design much also be local to this Notes client. If that is true, one way to accomplish this task is to use the LotusScript Shell command to call the convert program located on the Notes client.
The convert program takes the same commands as the server-based convert task. For example, if you want to update the local names.nsf database with the latest personal address book template, you could use the following code on a Microsoft® Windows® platform because the name of the program on Windows is nconvert.exe:

Sub Initialize
Dim result As Variant
result = Shell("nconvert -d names.nsf * pernames.ntf")
End Sub

When you call the convert program, it reads the notes.ini file and retrieves the ID value form the KeyFileName entry. The convert program runs under the authority of that ID.
You will be prompted to enter the password for that ID before the task continues if

  • the Notes client is not running, or
  • the Notes client is running and you have not selected “Don’t prompt for a password from other Notes-based programs” in your User Security preferences. (If you check that option, you are not prompted for a password if the Notes client is running.)