See how you can enhance your communication management software integration with Interaction Center to associate a call recording file with the corresponding interaction record in the activity clipboard. With this enhancement, you can play the recording by clicking a link in the activity clipboard.
Key Concept
Communication management software (CMS) is a middleware between voice hardware (phone/fax) and Interaction Center that integrates Voice over Internet Protocol (VOIP) phones with Interaction Center softphone functions.
Most call centers record the voice conversations with customers for quality and audit purposes. The current SAP CRM computer telephony integration (CTI) solution does not contain a mechanism to link these sound files with the corresponding interaction record. This means that you cannot track the conversation to the corresponding record in SAP CRM, which could be critical information for the business when determining a call center agent’s overall quality and productivity.
I have developed a solution in SAP CRM 2007 to enable you to link audio files with the corresponding interaction record. You can see sound files attached to a particular interaction record in the activity clipboard and you can play the files by clicking the link.
In this scenario, a customer calls the company customer service number. The interaction center receives the call via telephone. The next available agent picks up the call and initiates recording (this could be an automatic recording based on your CTI setup). The agent then maintains the interaction record and update notes.
When the call ends, the communication management software (CMS) executes the Web service that exports the interaction record number and sound file Universal Naming Convention (UNC) path. The Web service sets up a link in the activity clipboard between the interaction record and the sound file. The auditor picks up the interaction record for a quality check and clicks the Recording link. This starts the media player, which plays the sound file.
With this setup, a quality auditor can easily assess an agent’s performance. The auditor generates a report in SAP CRM for all interactions that ended with the “customer not satisfied” wrap-up code and selects several interactions to analyze. The auditor then opens the interaction record in Interaction Center (IC) and studies the notes the agent entered. Next, the auditor plays the sound files by clicking the link in the activity clipboard and verifies the accuracy of the notes compared to the actual conversation (
Figure 1). The auditor then creates a quality report based on the interaction analysis.
Figure 1
The auditor clicks the Recording links to listen to the agent’s recorded conversation
Note
The sound files are not duplicated or copied over to SAP CRM content management. Only a link is established to the sound file’s storage location.
Prerequisites
You must have implemented IC in your company and performed all the necessary configuration and setup. You should define a business role for your call center agent and assign the necessary functional profile to this business role.
In addition, your system must meet three prerequisites to enable the integration of audio files in your interaction records. Most CMS solutions support these prerequisites:
- The CMS must be able to talk to the SAP CRM system via Web services
- The CMS must support recording the phone conversation in media files and storing it in a network drive. The CMS should be able to provide the UNC path of the file to SAP CRM by calling the appropriate Web service. The UNC is the path of the sound file on a network storage drive (e.g., \Computer_NameRecording2009AB_12081232009.wmv).
- The media file must be in a format that you can play from the agent’s desktop (e.g., .wmv, .avi , .mp3, or any other format for which there is a compatible media player installed in the agent’s computer)
After these prerequisites are in place, follow these 10 steps to set up the audio link in the activity clipboard.
Step 1. Create a New Web Service in SAP CRM
Download the complete code for this step at the end of this article. With this code, the Web service takes the interaction record number and the sound file’s UNC path as input and returns a success or a failure code.
In the Web service creation tool (transaction WEBSERVICE), use the CREATE method for the URLRUNTIME object to create a new instance. With the code I provide, this method stores the URL from the CMS in the SAP CRM database. The method also returns the URL GUID. Use this GUID in the function module BINARY_RELATION_CREATE with the relation type INTO to create a link between the interaction record object type (BUS2000126) and URL object type (URLRUNTIME) as shown in
Figure 2.
lv_ir-objkey = ls_ir_guid. " Ls_IR_GUID is the GUID of IR provided by CMS
lv_ir-objtype = 'BUS2000126'.
lv_url-objkey = ls_url_guid.
lv_url-objtype = 'URLRUNTIME'.
|
Figure 2 |
Create a link between BUS2000126 and URLRUNTIME |
Note
The exact technical details to implement this solution on the CMS vary based on which third-party CMS you use. I implemented this example of a solution with Interactive Intelligence CMS. The basic process remains the same — only the exact implementation details would change based on the technology and architecture of the third-party CMS.
For more information about creating Web services, refer to Markus Kupke’s and Thilo Berndt’s article “
Create Web Services Quickly with the New Web Service Tool.” For a more technical look at the Web service creation tool, refer to their article “
SAP CRM 2006s SAP CRM Web Service Tool A Technical Look.”
Step 2. Enhance the CMS Software to Call the New Web Service
If you have multiple sound files per interaction, the CMS can call this Web service multiple times, once per sound file. The CMS can also call this Web service on the “end of interaction” event. If the Web service returns a failure because a link could not be set up in SAP CRM, the CMS keeps executing the Web service at regular intervals until it receives a success return code from the Web service.
Note
The exact technical details to implement this solution on the CMS vary based on which third-party CMS you use. I implemented this example of a solution with Interactive Intelligence CMS. The basic process remains the same — only the exact implementation details would change based on the technology and architecture of the third-party CMS.
Step 3. Activate an Early Transaction Number Assignment to the Interaction Record
This step activates an early transaction number assignment to the interaction record created after initiating the customer call. This ensures that the interaction record number is passed on to the CMS through contact-attached data. Follow IMG path Customer Relationship Management > Transactions > Basic Settings > Define Transaction Types. Select the Early No. Assgt check box for the transaction type you defined for the interaction record (
Figure 3).
Figure 3
Select the Early No. Assgt check box
Step 4. Create a Simple Business Object Repository Wrapper for the Business Object
This step creates a simple Business Object Repository (BOR) wrapper for the business object URLRUNTIME, which you can then use to indirectly call object methods and attributes in Business Server Pages (BSP) coding.
Follow IMG menu path Customer Relationship Management > UI Framework > UI Framework Definition > Define UI Object Types. Create a new entry and enter the information shown in
Figure 4. Save your changes.
Figure 4
Set up the WRAPPED_URLRUNTIME object type
Step 5. Define a Dummy URL for the Transaction Launcher Configuration
Follow IMG menu path Customer Relationship Management > Interaction Center WebClient > Basic Functions > Transaction Launcher > Define URLs and Parameters. Create a new entry, enter the information shown in
Figure 5, and save your changes. It doesn’t matter which public URL (e.g., google.com or sap.com) you use in the definition because the actual UNC path for the sound file overwrites this URL later in the process.
Figure 5
Define a dummy URL
Step 6. Use the Transaction Launcher Wizard to Create a Definition
The transaction launcher definition allows the system to execute the UNC path as a URL and start the corresponding media player to play the sound file. When the user clicks the Recording link in the activity clipboard, the system calls the DISPLAY method for the wrapper object WRAPPED_URLRUNTIME.
Follow IMG path Customer Relationship Management > Interaction Center WebClient > Basic Functions > Transaction Launcher > Configure Transaction Launcher (Wizard). In the first wizard step, enter a technical ID for the transaction launcher, such as ZURL_TEST_OBJECT. Click the Continue button.
Next, provide the name of the ABAP class that the system will generate with all the necessary code (
Figure 6). Make note of this because you need to refer to this class in step 10. Click the Continue button.
Figure 6
Enter the ABAP class name
Then, define which URL the system should invoke when the DISPLAY method is called (
Figure 7). Later you’ll create an enhancement that overwrites the URL ID (which is called ZURL in my example) dynamically with the UNC path of the sound file.
Figure 7
Define wrapper object method to URL mapping
Click the Continue button to define the transaction parameters (
Figure 8). Because the input parameter for the transaction launcher in this example is dynamically overwritten in step 10, you don’t need to select any parameter in this step. Leave all the fields blank and click the Continue button.
Figure 8
Define the transaction parameters
Next, define how you want the system to save the transaction results in the activity clipboard (
Figure 9). Do not enter anything in this screen because this transaction launcher’s only purpose is to play a media file. It does not receive any return parameters from the called transaction. Click the Continue button and then click the Complete button to create your transaction launcher and save it in the system.
Figure 9
Enter the parameter for activity clipboard integration
Step 7. Create the Text to Display for the Sound Files
Use transaction SOTR_EDIT (Online Text Repository [OTR] text editor) and create a new text object that stores the text to be displayed in the activity clipboard for every recording (
Figure 10). I used the text Recording, but you can use any text you like.
Figure 10
Create the text to be used for the recording in the activity clipboard
Select the same language as you use for your SAP login language. Enter a package name of your choice and ZURL for the alias. The object type should be WAPP, which is the standard SAP setting. Enter the text you want to see in the activity clipboard for all the sound files in the Text field and save your settings. The system populates the Lngth field based on the length of the text that you enter in the Text field.
Note
If you name the package different from ZRECRD, then make sure your entry for Column Attr 1 field in the next step matches your package name.
Step 8. Define the Object Attributes for the Activity Clipboard
Follow IMG menu path Customer Relationship Management > Interaction Center WebClient > Basic Functions > Define Activity Clipboard Profiles. Create a new entry ID as shown in
Figure 11 and save your changes.
Figure 11
Set up the Entry ID
Then, click the Entry Assignment folder in the Dialog Structure. Assign the new entry ZURL to the activity clipboard profile assigned to the business role your call center agent uses — in my example, this is ZTEST_ACT (
Figure 12).
Figure 12
Assign entry ID ZURL to ZTEST_ACT
Step 9. Define the Logical Link and Assign to IC Navigation Bar Profile
In this step you define what the system needs to do when the user clicks the Recording link. This is a two-step process. First the system finds out which object the user is clicking (WRAPPED_URLRUNTIME), and then the system determines which transaction it needs to launch based on this click.
Follow menu path Customer Relationship Management > UI Framework > Technical Role Definition > Define Navigation Bar Profile. Click Define Logical Links in the Dialog Structure. Here you define the transaction launcher that your Recording sound link executes (
Figure 13).
Figure 13
Define the logical link ZCUST-URL
Select Type as C Launch Transaction. Enter the Target ID as EXECLTX, which is the standard SAP setting for launch transactions. In the Parameter field, enter the transaction launcher ID you defined in the step 6. The Parameter Class is the standard SAP transaction launcher class CL_CRM_UI_LTX_NAVBAR_PARAM because I am using the SAP transaction launcher interface. Leave the Icon Name field blank because you are not displaying this link in the navigation bar.
Then select Define Profile > Define Generic OP Mapping from the Dialog Structure. In this screen you assign your logical link (ZCUST-URL) to your IC navigation bar profile for the WRAPPED_URLRUNTIME object when the Display method is called (
Figure 14). I used the navigation bar profile ZTEST_NAV, but you should use the navigation bar profile assigned to the business role your call center agent uses. Select Use Link ID and then select your Logical Link ID from the drop-down menu. Save your changes and continue to the next step.
Figure 14
Assign the logical link to the navigation bar profile ZTEST_NAV
Step 10. Redefine BUILD_OTHER_URL_SIMPLE
Finally, you need to enhance the class ZCL_URL_TEST_VER_3 that you generated when you used the transaction launcher wizard in step 6. With this enhancement, you overwrite the static transaction launcher URL with the dynamic UNC path of the linked sound file. When the user clicks the Recording link, it invokes the transaction launcher along with the UNC path and plays the sound file using the media player.
Redefine the method BUILD_OTHER_URL_SIMPLE using the ABAP Workbench (transaction SE80). In the method, write the code to read the object key for WRAPPED_URLRUNTIME. You can use the sample code provided at the end of this article.
Based on the object key (GUID), create the instance of the object URLRUNTIME and then read the attribute SEGMENTS to get the UNC path of the sound file. Return this UNC path at the end of this method.
Now if an agent starts recording a call, the recording is linked to the corresponding interaction record. The agent or auditor can later come back and play the sound file by clicking the Recording link.
Sumeet Mishra
Sumeet Mishra is a senior SAP CRM consultant in the area of sales, service, Interaction Center, e-commerce, activity management, and marketing. Sumeet has eight years of experience in the software consulting industry and five full life cycle CRM implementations. Sumeet is currently working as a functional lead in a Fortune 500 company’s SAP CRM 7.0 upgrade.
You may contact the author at
sumeet_mishra@hotmail.com.
If you have comments about this article or publication, or would like to submit an article idea, please contact the
editor.