Renders a calendar entry in iCalendar
format.
Parameter |
Description |
recurid |
The recurrence identifier (RECURRENCE-ID item)
for a recurring calendar event. The format of a recurrence identifier
is a time in UTC format, for example, 20120913T160000Z . |
Return value |
Description |
string |
The calendar entry in iCalendar format. |
Possible exception |
Value |
Text |
Description |
NotesError.NOTES_ERR_INVALIDID |
4757 |
Invalid ID |
The identifier for the NotesCalendarEntry object
is not valid. |
NotesError.NOTES_ERR_RECURID_NOTFOUND |
4808 |
Recurrence-ID not found |
The recurrence identifier for the NotesCalendarEntry object is not valid. |
NotesError.NOTES_ERR_IDNOTFOUND |
4814 |
Identifier not found |
The recurrence identifier for the NotesCalendarEntry object does not identify
an entry in the calendar, or the scope and recurid are
missing for a recurring entry. |
Usage
This method returns complete iCalendar
data
for the entry. For recurring entries, the data may contain multiple VEVENT
entries.
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 recurid:string = sessionScope.currentrecurid;
var dbdir:NotesDbDirectory = session.getDbDirectory("");
var maildb:NotesDatabase = dbdir.openMailDatabase();
var cal:NotesCalendar = session.getCalendar(maildb);
var cale:NotesCalendarEntry = cal.getEntry(uid);
if (recurid == null || recurid == "") {
var calestr:string = cale.read();
} else {
calestr = cale.read(recurid);
}
requestScope.status = calestr;
} catch(e) {
requestScope.status = e.message;
}
LotusScript® syntax
and examples
NotesCalendarEntry.Read(Optional Byval uid As String) As String
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
recurid = session.Getenvironmentstring("currentrecurid")
Call maildb.Openmail()
Set cal = session.getCalendar(maildb)
Set cale = cal.Getentry(uid)
If recurid = "" Then
calestr = cale.Read()
Else
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
String NotesCalendarEntry.read()
String NotesCalendarEntry.read(String uid)
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);
String recurid = session.getEnvironmentString("currentrecurid");
if (recurid == null || recurid.length() == 0) {
calestr = cale.read();
} else {
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();
}
}
}