| Description | Manage Phone Call Activities |
| Name | ManagePhoneCallActivityIn |
| Namespace | http://sap.com/xi/A1S/Global |
| Process Component Description | Activity Management |
| Process Component Name | ActivityManagement |
| Process Component Namespace | http://sap.com/xi/AP/FO/Activity/Global |
| Deploymnent Unit Description | Foundation |
| Endpoint Activation | By Scoping of Process Component | Operations |
| Release Status | Deprecated |
An interface to migrate phone call activity data from a source system or file.
The web service interface Manage Phone Call Activity In enables you to connect external applications to your SAP system and to create and edit phone call activities in your system. The web service interface Manage Phone Call Activity In is relevant if your company wants to access and manage activity data from external applications.
The web service interface Manage Phone Call Activity In offers the operations MaintainBundle and CheckMaintainBundle.
Here is an example of a simple web service request:
<n0:PhoneCallActivityBundleMaintainRequest_sync_V1 xmlns:n0="http://sap.com/xi/SAPGlobal20/Global">
<BasicMessageHeader>
<ID>00000000000102dcade9bcb0aa000c68</ID>
</BasicMessageHeader>
<PhoneCallActivity actionCode="01">
<Name> A2X Create PhoneCall with Parties, Text, Date, etc. </Name>
<PriorityCode>1</PriorityCode>
<InitiatorCode>3</InitiatorCode>
<InformationSensitivityCode>2</InformationSensitivityCode>
<GroupCode>0009</GroupCode>
<DataOriginTypeCode>4</DataOriginTypeCode>
<LifeCycleStatusCode>2</LifeCycleStatusCode>
<MainActivityParty>
<BusinessPartnerInternalID>MC9785</BusinessPartnerInternalID>
</MainActivityParty>
<CommunicationParty>
<ObjectNodeSenderTechnicalID></ObjectNodeSenderTechnicalID>
<BusinessPartnerInternalID>MCPB9785</BusinessPartnerInternalID>
<MainIndicator></MainIndicator>
</CommunicationParty>
<EmployeeResponsibleParty>
<BusinessPartnerInternalID>MC2471</BusinessPartnerInternalID>
</EmployeeResponsibleParty>
<ActivityUnitParty>
<OrganisationalCentreID>MC10000</OrganisationalCentreID>
</ActivityUnitParty>
<ReferenceParty>
<BusinessPartnerInternalID>MCP9785</BusinessPartnerInternalID>
</ReferenceParty>
<ReferenceParty>
<BusinessPartnerInternalID>MCP9786</BusinessPartnerInternalID>
</ReferenceParty>
<StartDateTime timeZoneCode="CET">2012-06-28T12:00:00.1234567Z</StartDateTime>
<EndDateTime timeZoneCode="CET">2012-06-28T12:30:00.1234567Z</EndDateTime>
<Text actionCode="01">
<TextTypeCode>10002</TextTypeCode>
<ContentText>A2X Example for text type "Body Text"</ContentText>
</Text>
<Text actionCode="01">
<TextTypeCode>10011</TextTypeCode>
<ContentText>A2X Example for text type "Internal Comment"</ContentText>
</Text>
</PhoneCallActivity>
</n0:PhoneCallActivityBundleMaintainRequest_sync_V1>
Existence of referenced business data:
The following business data are only referenced and will not be created by the service operations. They must exist in the system already at the time the web service is called:
Parties:
Business partners and related projections like customers, employees, and so on
Organizational centers
Maintain Bundle operations enable external applications to create and change business document data. Check Maintain Bundle operations enable external applications to simulate maintain bundle requests without changing business document data. In particular, Check Maintain Bundle operations have the following functions:
Return system messages similar to corresponding maintain bundle operations
Provide the same message type as the corresponding operation Maintain Bundle
Do not assign internal numbers from a productive number range interval (number range statuses are not increased)
Do not change business documents
Action codes represent an instruction to the recipient of the web service request to process transmitted message node elements.
| Action Code | Description |
|---|---|
| 01 | Create; the system returns an error message if the node element already exists. |
| 02 | Update; the system returns an error message if the node element does not exist. |
| 03 | Delete; the system returns an error message if the node element does not exist. |
| 04 | Save; the system creates or changes the node element data. |
| 05 | Remove; the system deletes the node element. If the node element does not exist, the system does not send an error message. |
| 06 | No Action; the system does not change the node element. |
Default action code: 04 (Save).
Note: Action code 04 (Save) creates business documents if the system could not identify a matching target business document. This applies in particular if no business document ID or UUID is provided by the web service consumer. The web service consumer (external application) is responsible for providing correct business document IDs or UUIDs and to avoid accidental creation of duplicate business documents.
The processing of node elements with cardinality > 1 (for example a list of parties with a certain party role) can be controlled using List Complete Transmission Indicators (LCTI). The LCTI indicates whether a list of node elements is transmitted completely. The LCTI of a node element with cardinality > 1 is modeled as an attribute of its parent node element (attribute name: <name of child element>ListCompleteTransmissionIndicator).
| LCTI | Description |
|---|---|
| false | The list of node elements is not transmitted completely. Hence, all node elements that are not transmitted remain unchanged. If transmitted node elements in the list can be uniquely identified, the system processes the node elements according the action code. If transmitted node elements in the list cannot be uniquely identified, the system appends the node element to the corresponding list of node elements in the target business document. |
| true | The list of elements is completely transmitted. Hence, all node elements that are not transmitted are removed. If no node element is transmitted, the complete list is removed. |
Default list complete transmission indicator: false.
Note: The LCTI refers to the completeness of the list of node elements and does not imply completeness of sub-elements.
Optional leaf elements in request messages that are not transmitted within a web service request are not changed in corresponding business documents.
Maintain bundle and check maintain bundle operations are mass-enabled stateless synchronous web service operations. Transferring or requesting amounts of data that are too large causes communication timeouts. The web service consumer is responsible for ensuring reasonable sizes of data for mass operations.
Maintain bundle and check maintain bundle operations support exactly one execution (idem potency). To ensure exactly one execution of web service requests, the web service consumer has to provide unique values for the elements ID or UUID of the BasicMessageHeader node element.
Using change state identifier (element name ChangeStateID), external applications can enforce that a modifying operation is not executed because the state of the business document has changed since the external application last read its data.
The change state ID is an uninterpretable string that is provided by query and read operations and can be utilized by all modifying operations. If the change state identifier is provided when calling a modifying operation, the system does not perform the operation if the state of the business document instance has changed since the change state ID was computed. If the change state ID is not provided by the web service consumer, the system performs the web service operation without checking the state of the business document.
The web service consumer (external application) is responsible for preventing accidental changes to business documents.
Request node elements with cardinality > 1 contain an object node sender technical identifier to relate response message elements and log items to corresponding node elements in the request message.
The object node sender technical identifiers are provided as ObjectNodeSenderTechnicalID in request message types and referred to as ReferenceObjectNodeSenderTechnicalID in corresponding response message types.
If the object node sender technical ID is initial, the object node sender technical ID of the parent node element in the request is returned as the reference object node sender technical ID. If the object node sender technical IDs of all parent node elements are initial, the reference object node sender technical ID is returned as initial as well.
Note: The values specified in the ObjectNodeSenderTechnicalID are transient values that establish the correspondence between elements for only a single call. The web service consumer is not required to specify them or to use the same values for different calls. Also, the service provider does not interpret these values at all. Instead the service provider returns them to the web service consumer in the ReferenceObjectNodeSenderTechnicalID elements.
Note: The ObjectNodeSenderTechnicalID is also used to identify failed business document modifications in a mass operation.
Example
Request:
<Child>
<ObjectNodeSenderTechnicalID>999_A<ObjectNodeSenderTechnicalID>
<Content>Child A: Some correct content</Content>
</Child>
<Child>
<ObjectNodeSenderTechnicalID>999_B<ObjectNodeSenderTechnicalID>
<Content>Child B: Some erroneous content</Content>
</Child>
Response:
<Log>
<Item>
<ReferenceObjectNodeSenderTechnicalID>999_B </ReferenceObjectNodeSenderTechnicalID>
<Note>Error message for Child B</Note>
</Item>
</Log>
The structure of the response message consists of two parts:
A business document-specific part containing information about IDs and UUIDs of the created and changed business documents
Log items containing system messages including errors, warnings, and information messages raised by the system during processing of the web service request
{include:AP_INBOUND_SERVICE_INTERFACE
Possible scenarios include the following:
Create Phone Call Activity
The MaintainBundle operation is used to create activities.
Update Phone Call Activity
The MaintainBundle operation is used to update activities.
Example to create a phone call activity:
<n0:PhoneCallActivityBundleMaintainRequest_sync_V1 xmlns:n0="http://sap.com/xi/SAPGlobal20/Global"> <BasicMessageHeader> <ID>00000000000102dcade9bcb0aa000c68</ID> </BasicMessageHeader> <PhoneCallActivity actionCode="01"> <Name>A2X Create PhoneCall with Parties, Text, Date, etc. </Name> <PriorityCode>1</PriorityCode> <InitiatorCode>3</InitiatorCode> <InformationSensitivityCode>2</InformationSensitivityCode> <GroupCode>0009</GroupCode> <DataOriginTypeCode>4</DataOriginTypeCode> <LifeCycleStatusCode>2</LifeCycleStatusCode> <MainActivityParty> <BusinessPartnerInternalID>MC9785</BusinessPartnerInternalID> </MainActivityParty> <CommunicationParty> <ObjectNodeSenderTechnicalID></ObjectNodeSenderTechnicalID> <BusinessPartnerInternalID>MCPB9785</BusinessPartnerInternalID> <MainIndicator></MainIndicator> </CommunicationParty> <EmployeeResponsibleParty> <BusinessPartnerInternalID>MC2471</BusinessPartnerInternalID> </EmployeeResponsibleParty> <ActivityUnitParty> <OrganisationalCentreID>MC10000</OrganisationalCentreID> </ActivityUnitParty> <ReferenceParty> <BusinessPartnerInternalID>MCP6049</BusinessPartnerInternalID> </ReferenceParty> <ReferenceParty> <BusinessPartnerInternalID>MCPB9785</BusinessPartnerInternalID> </ReferenceParty> <ReferenceParty> <BusinessPartnerInternalID>MCPC9785</BusinessPartnerInternalID> </ReferenceParty> <StartDateTime timeZoneCode="CET">2012-06-28T12:00:00.1234567Z</StartDateTime> <EndDateTime timeZoneCode="CET">2012-07-01T13:00:00.1234567Z</EndDateTime> <Text actionCode="01"> <TextTypeCode>10002</TextTypeCode> <ContentText>A2X Example for text type "Body Text"</ContentText> </Text> <Text actionCode="01"> <TextTypeCode>10011</TextTypeCode> <ContentText>A2X Example for text type "Internal Comment"</ContentText> </Text> </PhoneCallActivity> </n0:PhoneCallActivityBundleMaintainRequest_sync_V1>
<n0:PhoneCallActivityBundleMaintainRequest_sync_V1 xmlns:n0="http://sap.com/xi/SAPGlobal20/Global"> <BasicMessageHeader> <ID>00000000000102dcade9bcb0aa000c68</ID> </BasicMessageHeader> <PhoneCallActivity actionCode="02"> <Name>A2X Update PhoneCall with Party, etc. </Name> <ID>288</ID> <Name languageCode="EN"> A2X Update PhoneCall w. Parties 001</Name> <GroupCode>0012</GroupCode> </PhoneCallActivity> </n0:PhoneCallActivityBundleMaintainRequest_sync_V1>
Attention: The party ID and party role are not unique keys for a party instance. Thus, for parties with 1:n cardinality, in case of updates (change and delete) the ListCompleteTransmissionIndicator needs to be set and the whole list of updated parties that should replace the existing list of parties has to be provided.
Example data for ReferenceParty:
List of existing ReferenceParty to be changed:
MCP6049
MCPB9785
MCPC9785
What do we want to achieve?
Delete party MCP6049
Keep party MCPB9785
Change party MCPC9785 -> MCP17101
Add party MCP17102
Add party MDECP9786
Due to the fact that no unique identification of a party instance is possible using party ID and party role, the ReferencePartyListCompleteTransimissionIndicator is to be set to "true". Therefore, the behavior will be as follows: The list of parties is completely transmitted. Hence, all parties that are not transmitted are removed. If no party is transmitted, the complete list is removed.
In the following the desired list of parties is to be provided:
MCPB9785
MCP17101
MCP17102
MDECP9786
The respective XML document to achieve this looks like the following:
<n0:PhoneCallActivityBundleMaintainRequest_sync_V1 xmlns:n0="http://sap.com/xi/SAPGlobal20/Global"> <BasicMessageHeader> <ID>00000000000102dcade9bcb0aa000c68</ID> </BasicMessageHeader> <PhoneCallActivity actionCode="02" referencePartyListCompleteTransimissionIndicator="true"> <ID>325</ID> <ReferenceParty> <BusinessPartnerInternalID>MCPB9785</BusinessPartnerInternalID> </ReferenceParty> <ReferenceParty> <BusinessPartnerInternalID>MCP17101</BusinessPartnerInternalID> </ReferenceParty> <ReferenceParty> <BusinessPartnerInternalID>MCP17102</BusinessPartnerInternalID> </ReferenceParty> <ReferenceParty> <BusinessPartnerInternalID>MDECP9786</BusinessPartnerInternalID> </ReferenceParty> </PhoneCallActivity> </n0:PhoneCallActivityBundleMaintainRequest_sync_V1>
In case a new party instance has to be appended to the existing list of parties, it can be achieved by just providing the new party and setting the ListCompleteTransimissionIndicator to "false".
Example data:
List of existing parties:
MCP6049
MCPB9785
MCPC9785
What do we want to achieve?
Keep MCP6049
Keep MCPB9785
Keep MCPC9785
Add MCP8300
Add MCP60500
In the following just the list of new parties has to be provided:
MCP8300
MCP60500
The respective XML document to achieve this looks like the following:
<n0:PhoneCallActivityBundleMaintainRequest_sync_V1 xmlns:n0="http://sap.com/xi/SAPGlobal20/Global"> <BasicMessageHeader> <ID>00000000000102dcade9bcb0aa000c68</ID> </BasicMessageHeader> <PhoneCallActivity actionCode="02" referencePartyListCompleteTransimissionIndicator="false"> <!-- append new party instances with LCTI = "false" --> <ID>325</ID> <ReferenceParty> <BusinessPartnerInternalID>MCP8300</BusinessPartnerInternalID> </ReferenceParty> <ReferenceParty> <BusinessPartnerInternalID>MCP60500</BusinessPartnerInternalID> </ReferenceParty> </PhoneCallActivity> </n0:PhoneCallActivityBundleMaintainRequest_sync_V1>
| Description | Maintain phone call activities |
| Name | MaintainBundle |
| Synchronous | yes |
| Release Status | Deprecated |
To create, update, or delete phone call activities.
The request message of the operation MaintainBundle contains a BasicMessageHeader node element as well as a PhoneCallActivity node element that contains the data to be created or updated. The node can occur multiple times in the request message. This means that multiple phone call activities can be created and updated through a single web service request.
The response message type of the operation MaintainBundle contains log items, processing information, and a phone call activity-specific node with ReferenceObjectNodeSenderTechnicalID, ChangeStateID, as well as ID and UUID.
The attribute contains all general phone call information such as ID, UUID, name, priority code, and other data.
The data for this node is related to general data on the phone call activity UI.
There is no InternalID element which could be set, as the UI is not showing such an ID anywhere. Nevertheless, it is generated in the backend. Therefore, the UUID element should be used to identify the phone call.
The attribute is a unique identifier of the phone call. It is typically not shown in the UI and is automatically generated by the system.
The attribute is a unique identifier of the phone call. It will be generated by the web service or can be provided by the consumer.
The Document Type Code which can be defined in the Business Configuration for Activities. If no special Document Type Code was defined in BC or shall be used, this Parameter can be ignored.
| MigratedDataAdaptationTypeCode | Description |
|---|---|
| 1 | Unchanged |
| 2 | Changed |
| 3 | Quantity |
| 4 | Items Changed or Omitted |
The attribute is the subject of the phone call, as it will be shown in the UI.
The attribute specifies the priority by the following codes:
| PriorityCode | Description |
|---|---|
| 1 | Immediate |
| 2 | Urgent |
| 3 | Normal |
| 7 | Low |
If not specified by the consumer, a default is set by the web service.
The attribute specifies the sensitivity of the phone call.
| InformationSensitivityCode | Description |
|---|---|
| 1 | Normal |
| 2 | Personal |
| 3 | Private |
| 4 | Confidential |
The attribute is used to group phone calls under a certain business aspect.
If not specified by the consumer, a default is set by the web service.
The attribute is used to indicate the direction of an phone call. It is particularly used in reporting in order to group phone call activities in terms of whether an activity was initiated from within an enterprise, or from outside by a customer, prospect, and so on.
If not specified by the consumer, a default is set by the web service basing on the given parties.
| InitiatorCode | Description |
|---|---|
| 2 | Inbound |
| 3 | Outbound |
The attribute specifies the origin of the phone call.
| DataOriginTypeCode | Description |
|---|---|
| 1 | Manual Data Entry |
| 2 | Groupware |
| 3 | Direct Mailing |
| 4 | Telephony |
If not specified by the consumer, a default is set by the web service.
The attributes specify the period in which the activity is scheduled for processing.
A timestamp for each attribute has to be provided. Both dates have to be set together.
If not specified by the consumer, a default is set by the web service.
The attribute indicates roughly the status of the phone call.
| LifeCycleStatusCode | Description |
|---|---|
| 1 | Open |
| 2 | In Process |
| 3 | Completed |
If not specified by the consumer, a default is set by the web service.
Parties can be priovided and identified in various ways and not every option is available for every party:
| Description | |
|---|---|
| BPInternalID | Internal ID of the business partner |
| EmployeeInternalID | Internal employee ID of the business partner |
| EmailURI | EMailURI of the business partner. The EmailURI has to be uniquely assigned to a business partner. If this is not the case no identification is possible. If no party can be identified by the provided EmailURI, a party without ID is created with the EmailURI stored in a document address |
| Name | The name cannot be used for identification. It will be stored in the address with a party that could not be identified by a given EmailURI |
The following parties are available:
| Party | Description |
|---|---|
| CommunicationParty | The node element contains the identification for the party. Either the business partner internal ID, employee ID or EMailURI can be provided. |
| EmployeeResponsibleParty | The node element contains the identification for the party. The business partner internal ID or employee ID has to be provided. |
| Main Activity Party | The employee responsible party is the employee who is responsible for the activity task. It can be specified by the business partner ID. |
| Reference Party | The reference party is the party to which the activity task is related. It can be specified either by the business partner ID or the employee ID. |
| Activity Unit Party | The activity unit party is an org unit, where the activity task is reported. It can be specified by the org center ID. |
By the attribute, the phone call activity can be linked to other business documents like an opportunity or campaign.
ID, UUID, and TypeCode of the related business document have to be provided as well as the RefRoleCode specifying the type of relationship.
The most important RefRoleCodes are
| RefRoleCode | Description |
|---|---|
| 1 | Predecessor |
| 2 | Successor |
Example to link an opportunity as predecessor:
<BusinessTransactionDocumentReference> <ID>4711</ID> <TypeCode>72</TypeCode> <RoleCode>1</RoleCode> </BusinessTransactionDocumentReference>
Campaigns will always be linked as predecessors, independent of how the consumer specifies the RoleCode.
This attribute allows adding texts for the phone call. The following text types are allowed:
| TextTypeCode | Description |
|---|---|
| 10002 | Activity Body |
| 10011 | Internal Comment |
While there is only one activity body (subject description of the phone call) allowed, there can be multiple internal comments. Therefore, for each internal comment, a timestamp as CreationDateTime can be provided to realize a sequence of comments.
Example:
<Text actionCode="01"> <TextTypeCode>10002</TextTypeCode> <ContentText>Prepare Customer Meeting...</ContentText> </Text> <Text actionCode="01"> <TextTypeCode>10011</TextTypeCode> <ContentText>Has to be clarified with Bob</ContentText> <CreationDateTime>2012-06-31T12:45:00.0000000Z</CreationDateTime> </Text> <Text actionCode="01"> <TextTypeCode>10011</TextTypeCode> <ContentText>Bob agrees</ContentText> <CreationDateTime>2012-06-31T12:55:00.0000000Z</CreationDateTime> </Text>
The attribute can be used to add and remove activity task attachments.
Data for this node can be found on the activity task UI as attachments. On the user interface, files and links can be created. In the web service request, links and files are differentiated through the CategoryCode:
| Category code | Description |
|---|---|
| 2 | Document |
| 3 | Link |
The different types of attachments are differentiated by the TypeCode:
| Type code | Description |
|---|---|
| 10001 | Standard Attachment |
To create link attachments, document elements must be as follows:
| Element | Value |
|---|---|
| VisibleIndicator | true |
| CategoryCode | 3 |
| TypeCode | <none> |
| AlternativeName | <Document Title> |
| ExternalLinkWebURI | <link URI> |
| Description | <Comment> |
To create file attachments, document elements must be as follows:
| Element | Value |
|---|---|
| VisibleIndicator | true |
| CategoryCode | 2 |
| TypeCode | <none> |
| Name | <Document Title> |
| AlternativeName | <Document Title> |
| Description | <Comment> |
| Description | Check phone call activities |
| Name | CheckMaintainBundle |
| Synchronous | yes |
| Release Status | Deprecated |
To check if a phone call activity can be created, updated, or deleted without errors.
The web service request- and response message types for the CheckMaintainBundle operation are the same as those of the MaintainBundle operation. The explanations given can therefore also be applied to the CheckMaintainBundle operation.
Show full documentation