NotesCalendarEntry (JavaScript)

Represents a Domino® calendar entry.

Usage

This object provides access to one entry of the calendar and scheduling services in a Domino® mail application in standard iCalendar format. See Internet Calendaring and Scheduling Core Object Specification (iCalendar) at http://tools.ietf.org/html/rfc5545 for the format.
NotesCalendar provides methods for getting and creating calendar entries.
Entries include meetings, appointments, reminders, and other events that the owner places on the calendar, and notices from other users after they are processed. Unprocessed notices are handled by NotesCalendarNotice.

Examples

This button event reads the calendar entry for a given UID, or its first instance in the case of a recurring entry.
try {

var uid:string = sessionScope.currentuid;
if (uid == null || uid == "") {
	requestScope.status = "No current UID";
	return;
}
var dbdir:NotesDbDirectory = session.getDbDirectory("");
var maildb:NotesDatabase = dbdir.openMailDatabase();
var cal:NotesCalendar = session.getCalendar(maildb);
var cale:NotesCalendarEntry = cal.getEntry(uid);
var calestr:String = cale.read();
var i:long = calestr.indexOf("RECURRENCE-ID:");
if (i >= 0) {
	var recurid:string = calestr.substr(i + 14, 16);
	calestr = cale.read(recurid);
}
requestScope.status = calestr;

} catch(e) {
	if (e.message.indexOf("getEntry") >= 0) {
		requestScope.status = "No entry for UID " + uid;
	} else {
		requestScope.status = e.message;
	}
}

LotusScript® syntax and examples

NotesCalendarEntry
This agent reads the calendar entry for a given UID, or its first instance in the case of a recurring entry.
Sub Initialize
	Dim session As New NotesSession
	Dim maildb As New NotesDatabase("", "")
	Dim cal As NotesCalendar
	Dim cale As NotesCalendarEntry
	Dim uid As String
	Dim calestr As String
	Dim recurid As String
	Dim i As Integer
	Dim db As NotesDatabase
	Dim doc As NotesDocument
	Dim body As NotesRichTextItem
	uid = session.Getenvironmentstring("currentuid")
	If uid = "" Then
		MessageBox "No current UID",, "Error"
		Exit sub
	End If
	Call maildb.Openmail()
	Set cal = session.getCalendar(maildb)
	Set cale = cal.Getentry(uid)
	calestr = cale.Read()
	i = InStr(calestr, "RECURRENCE-ID:")
	If i > 0 Then
		recurid = Mid$(calestr, i + 14, 16)
		calestr = cale.Read(recurid)
	End If
	REM Write results to document
	Set db = session.Currentdatabase
	Set doc = db.Createdocument()
	doc.Form = "main"
	doc.Subject = "Calendar entry"
	Set body = doc.Createrichtextitem("body")
	body.Appendtext(calestr)
	Call doc.Save(true, true)
End Sub

Java syntax and examples

NotesCalendarEntry
This agent reads the calendar entry for a given UID, or its first instance in the case of a recurring entry.
import lotus.domino.*;

public class JavaAgent extends AgentBase {

    public void NotesMain() {

      try {
          Session session = getSession();
          AgentContext agentContext = session.getAgentContext();

          // (Your code goes here)
          String uid = session.getEnvironmentString("currentuid");
          String calestr = "";
          if (uid != null) {
              DbDirectory dbdir = session.getDbDirectory("");
              Database maildb = dbdir.openMailDatabase();
              NotesCalendar cal = session.getCalendar(maildb);
              NotesCalendarEntry cale = cal.getEntry(uid);
              calestr = cale.read();
              int i = calestr.indexOf("RECURRENCE-ID:");
              if (i >= 0) {
            	  String recurid = calestr.substring(i + 14, i + 30);
            	  calestr = cale.read(recurid);
              }
          } else {
        	  calestr = "Null UID";
          }
          // Write result to document
          Database db = agentContext.getCurrentDatabase();
          Document doc = db.createDocument();
          doc.appendItemValue("Form", "main");
          doc.appendItemValue("subject", "Calendar entry");
          RichTextItem body = doc.createRichTextItem("body");
          body.appendText(calestr);
          doc.save(true, true);

      } catch(Exception e) {
          e.printStackTrace();
       }
   }
}