例: LockProvisional method (NotesAgent - LotusScript®)

次のビューアクションは、「Guys」グループのすべてのメンバーに対し、「Main Agent」というエージェントをロックしようとします。エージェントがまだロックされていない場合、またはロックされているが有効なユーザーが Guys のメンバーに含まれている場合は、ロックは成功します。暫定ロックが設定されます。

%INCLUDE "lsxbeerr.lss"

Sub Click(Source As Button)
  Dim session As New NotesSession
  Dim db As NotesDatabase
  Set db = session.CurrentDatabase
  
  REM Exit if locking is not enabled
  If Not db.IsDesignLockingEnabled Then
    Print "Design locking not enabled"
    Exit Sub
  End If
  
  REM Get agent
  Dim agent As NotesAgent
  Set agent = db.GetAgent("Main Agent")
  
  REM Lock the agent
  REM Not locked if return is False or error is raised
  On Error Goto errh
  If agent.LockProvisional("Guys") Then
    Print "Agent locked - " & agent.Name
  Else
    Print "Agent NOT locked - " & agent.Name
  End If
  Exit Sub
errh:
  If Err() = lsERR_NOTES_LOCKED Then
    Print "Agent NOT locked - " & agent.Name
  Else
    Messagebox "Error " & Err() & ": " & Error(),, "Error"
  End If
  Exit Sub
End Sub