Zwei Dinge stören mich an dem Script. Zum einen ist es die harte Verdrahtung von Lieferantennummern. Ändern sich die Lieferanten, muss das Programm geändert werden. Besser, Du liest die Lieferanten irgendwo aus. Beispielsweise aus einer Ansicht, in der für jeden Lieferanten ein Dokument existiert.
Zum anderen ist es die Select-Case-Geschichte. Da ist natürlich wieder die harte Verdrahtung der Lieferanten, die ich, wie beschrieben, mit der Ansicht lösen würde. Falls die Lieferantennummer ausgewählt aber ein anderer Inhalt übernommen werden soll, kannst Du entweder mit einem Alias arbeiten, oder lässt Dir mittels Picklist das Dokument zurückgeben (gibt es auch in Script, den genauen Befehl müsste ich jetzt nachschauen, müsste aber in NotesUIWorkspace enthalten sein) und greifst direkt auf die Felder des Dokuments zu.
Außerdem steckt in jedem Case der komplette Code. Das halte ich für nicht wartungsfreundlich. Wenn Du wirklich ein Select Case brauchst (nichts dagegen, ist ein nettes Konstrukt), nutze es nur dazu, um Variable zu setzen, aber wiederhole nicht jedesmal den GLEICHEN Code (hier das uidoc.FieldSetText (...)). Stattdessen schreibe nach dem Select Case einmal den Code mit den ermittelten Variablen. Wenn sich daran etwas ändert, muss das mehrfach angefasst werden: mehr Aufwand, höhere Fehlerquote.