Examples: RunOnServer method

  1. This agent runs the agent named "Agent to be run LotusScript®."
    Sub Initialize
      Dim s As New NotesSession
      Dim db As NotesDatabase
      Dim agent As NotesAgent
      Set db = s.CurrentDatabase
      Set agent = db.GetAgent("Agent to be run LotusScript")
      If agent.RunOnServer = 0 Then
        Messagebox "Agent ran",, "Success"
      Else
        Messagebox "Agent did not run",, "Failure"
      End If
    End Sub

    This is "Agent to be run LotusScript®."

    Sub Initialize
      Dim s As New NotesSession
      Dim agent As NotesAgent
      Set agent = s.CurrentAgent
      Dim db As NotesDatabase
      Set db = s.CurrentDatabase
      Dim memo As New NotesDocument(db)
      memo.Form = "Memo"
      memo.SendTo = s.UserName
      memo.Subject = "Message from LotusScript agent"
      memo.Body = "The agent is running as " & s.UserName
      Call memo.Send(False)
    End Sub
  2. This agent runs the agent named "Agent to be run parameter LotusScript®," passing it the note ID of a newly created document.
    Sub Initialize
      Dim s As New NotesSession
      Dim db As NotesDatabase
      Dim doc As NotesDocument
      Dim agent As NotesAgent
      Set db = s.CurrentDatabase
      REM Create document containing data to be passed
      Set doc = New NotesDocument(db)
      doc.TriggerUserName = s.UserName
      Call doc.Save(True, False)
      REM Start agent and pass note ID of document
      Set agent = _
      db.GetAgent("Agent to be run parameter LotusScript")
      If agent.RunOnServer(doc.NoteID) = 0 Then
        Messagebox "Agent ran",, "Success"
      Else
        Messagebox "Agent did not run",, "Failure"
      End If
    End Sub

    This is "Agent to be run parameter LotusScript®." It accesses the passed note ID through ParameterDocID, accesses the referenced document, and removes it.

    Sub Initialize
      Dim s As New NotesSession
      Dim agent As NotesAgent
      Set agent = s.CurrentAgent
      Dim db As NotesDatabase
      Dim doc As NotesDocument
      Set db = s.CurrentDatabase
      REM Get document used for passing data
      Set doc = db.GetDocumentByID(agent.ParameterDocID)
      REM Send mail containing passed data
      Dim memo As New NotesDocument(db)
      memo.Form = "Memo"
      memo.SendTo = s.UserName
      memo.Subject = "Message from LotusScript agent"
      memo.Body = "The agent was started by " _
      & doc.TriggerUserName(0)
      Call memo.Send(False)
      REM Delete document used for passing data
      Call doc.Remove(True)
    End Sub