Activity (ActivityPointer) table
The Activity (ActivityPointer) table stores data about activities or tasks a user performs. An activity is any action that can be entered on a calendar and has time dimensions (start time, stop time, due date, and duration).
When you create an activity record in Dataverse, it creates a corresponding activity pointer record. The activity record and its associated activity pointer record have the same value for the ActivityId
column.
The ActivityPointer.ActivityTypeCode
column defines the type of the activity. The possible values for this column are defined in the activitypointer_activitytypecode
global option set.
Inherited statecode and statuscode options
When you write code that sets or modifies activity columns, it's important to keep in mind that the statecode
and statuscode
columns ofActivityPointer
derived types can have a somewhat different purpose from the base ActivityPointer
statecode
and statuscode
column definitions. The following sections describe these differences.
StateCode option differences
In this section, let's review state code option differences between ActivityPointer
and derived types.
ActivityPointer.StateCode defines four options:
Label | Value |
---|---|
Open | 0 |
Completed | 1 |
Canceled | 2 |
Scheduled | 3 |
- Appointment, Chat, RecurringAppointmentMaster, and custom activities have all four
statecode
options. - Email, Fax, Letter, PhoneCall, Task, and SocialActivity have the first three
statecode
options. There's no valid option to set the state of these activity types as Scheduled.
StatusCode label differences
The statuscode
options provide reasons for the statecode
of the record. You can add new statuscode
options so that each table has a different set. Some of the options have the same value as the ActivityPointer statuscode
, but the labels can be different.
Labels for statuscode
options vary based on whether you're retrieving rows as an ActivityPointer or as a specific activity type such as an Appointment, Email, or Task.
For example, if you retrieve an ActivityPointer
row that represents an Appointment
, the label for statuscode
value 1
is Open rather than Free.
Labels are listed in the definition of the default statuscode
options for each table:
- ActivityPointer.StatusCode Options
- Appointment.StatusCode Options
- Chat.StatusCode Options
- Email.StatusCode Options
- Fax.StatusCode Options
- Letter.StatusCode Options
- PhoneCall.StatusCode Options
- RecurringAppointmentMaster.StatusCode Options
- Task.StatusCode Options
- SocialActivity.StatusCode Options
Control how activities are sorted by date
When you display a list of activity entities in date order, you can only sort on the common date columns defined in the ActivityPointer table. However, sometimes you want different sorting behaviors depending on the type of activity. For example, you might want to sort email activities by the "sent on" date rather than the "modified on" date. Use the sortdate
column to control how activities are sorted by date.
By default, the value of the sortdate
column is null. Include logic to set a value for the column and then use the sortdate
column in the query you define for the view.
You can set the sortdate
column value using a workflow or a plugin. For consistent results, you should set this value for every type of activity and any existing activity data in the system.