PRB: Problems Responding to Schedule+ 1.0 Meeting Requests (182857)



The information in this article applies to:

  • Collaboration Data Objects (CDO) 1.2
  • Collaboration Data Objects (CDO) 1.21

This article was previously published under Q182857

SYMPTOMS

When you use the MeetingItem.Respond method of the Collaboration Data Objects (1.2, 1.21) object model for Schedule+ 1.0 Meeting Requests, the following may occur:
  • The positive or negative response is not registered with Schedule+ 1.0. When you double-click the appointment, it does not show the check mark or x-mark for the attendees who responded.
  • The message
    You are not this person's assistant
    is displayed when the response is opened in Schedule+ 1.0.

CAUSE

The Respond method was designed to create an appropriate Meeting Response object for Outlook and Schedule+ 7.0 meeting requests.

RESOLUTION

For Schedule+ 1.0 meeting requests, you should follow these steps after calling the Respond method:
  1. Set the PR_OWNER_APPT_ID property of the response object to match that of the Meeting Request. (This is what allows Schedule+ 1.0 to recognize it within the originating appointment.)
  2. Set the PR_RCVD_REPRESENTING_ENTRYID and PR_RCVD_REPRESENTING_NAME properties to match PR_SENT_REPRESENTING_* properties of meeting request in order to prevent the message:
    You are not this person's assistant

MORE INFORMATION

If you will be receiving Meeting Requests from both Schedule+ 1.0 and Outlook/Schedule+ 7.0, then you will want to implement logic to handle both types of requests.

Below is sample code for handling both cases:
   'This code assumes you already have the following variables:
   '    oMtg: MeetingItem with MeetingType = MeetingRequest
   '    Resp: Boolean indicating whether to accept the meeting.
   '    oMtgResp: Message Object that represents Meeting Response.

   If Resp Then  'Accept Meeting

     Set oMtgResp = oMtg.Respond(CdoResponseAccepted)

     ' Note: One customer reported that testing
     '     oMtg.Sender.DisplayType = "Remote(6)"
     ' was more accurate on his system.
     If oMtg.Sender.Type = "MS" Then  ' MSMail User
        ' Copy PR_OWNER_APPT_ID
        oMtgResp.Fields(&H00620003).Value = _
              oMtg.Fields(&H00620003).Value

        ' Copy PR_SENT_REPRESENTING_* properties to
        '   PR_RCVD_REPRESENTING_* properties
        oMtgResp.Fields.Add &H00430102, _
              oMtg.Fields(&H00410102).Value
        oMtgResp.Fields.Add &H0044001E, _
              oMtg.Fields(&H0042001E).Value
     End If

     oMtgResp.Text = "Meeting Accepted."

   Else

     Set oMtgResp = oMtg.Respond(CdoResponseDeclined)

     If oMtg.Sender.Type = "MS" Then

        ' Copy PR_OWNER_APPT_ID
        oMtgResp.Fields(&H00620003).Value = _
              oMtg.Fields(&H00620003).Value

        ' Copy PR_SENT_REPRESENTING_* properties to
        '   PR_RCVD_REPRESENTING_* properties.
        oMtgResp.Fields.Add &H00430102, _
              oMtg.Fields(&H00410102).Value
        oMtgResp.Fields.Add &H0044001E, _
              oMtg.Fields(&H0042001E).Value
     End If

     oMtgResp.Text = "Meeting Declined."

   End If

   oMtgResp.Send
				

Modification Type:MinorLast Reviewed:3/4/2004
Keywords:kbcode kberrmsg kbMsg kbprb KB182857