RTOM Integration Guide RTOM_Integration_Guide[1].pdf[1]

64
SAP Real-Time Offer Management Integration Guide Release 7.1 SP01

description

RTOM_Integration_Guide[1].pdf

Transcript of RTOM Integration Guide RTOM_Integration_Guide[1].pdf[1]

Page 1: RTOM Integration Guide RTOM_Integration_Guide[1].pdf[1]

SAP Real-Time Offer Management

Integration Guide

Release 7 .1 SP01

Page 2: RTOM Integration Guide RTOM_Integration_Guide[1].pdf[1]

18.02.2011

(C) SAP AG 2

Copyright © Copyright 2011 SAP AG. All rights reserved. No part of this publication may be reproduced or transmitted in any form or for any purpose without the express permission of SAP AG. The information contained herein may be changed without prior notice. Some software products marketed by SAP AG and its distributors contain proprietary software components of other software vendors. Microsoft, Windows, Excel, Outlook, and PowerPoint are registered trademarks of Microsoft Corporation. IBM, DB2, DB2 Universal Database, System i, System i5, System p, System p5, System x, System z, System z10, System z9, z10, z9, iSeries, pSeries, xSeries, zSeries, eServer, z/VM, z/OS, i5/OS, S/390, OS/390, OS/400, AS/400, S/390 Parallel Enterprise Server, PowerVM, Power Architecture, POWER6+, POWER6, POWER5+, POWER5, POWER, OpenPower, PowerPC, BatchPipes, BladeCenter, System Storage, GPFS, HACMP, RETAIN, DB2 Connect, RACF, Redbooks, OS/2, Parallel Sysplex, MVS/ESA, AIX, Intelligent Miner, WebSphere, Netfinity, Tivoli and Informix are trademarks or registered trademarks of IBM Corporation. Linux is the registered trademark of Linus Torvalds in the U.S. and other countries. Adobe, the Adobe logo, Acrobat, PostScript, and Reader are either trademarks or registered trademarks of Adobe Systems Incorporated in the United States and/or other countries. Oracle is a registered trademark of Oracle Corporation. UNIX, X/Open, OSF/1, and Motif are registered trademarks of the Open Group. Citrix, ICA, Program Neighborhood, MetaFrame, WinFrame, VideoFrame, and MultiWin are trademarks or registered trademarks of Citrix Systems, Inc. HTML, XML, XHTML and W3C are trademarks or registered trademarks of W3C®, World Wide Web Consortium, Massachusetts Institute of Technology. Java is a registered trademark of Sun Microsystems, Inc. JavaScript is a registered trademark of Sun Microsystems, Inc., used under license for technology invented and implemented by Netscape. SAP, R/3, SAP NetWeaver, Duet, PartnerEdge, ByDesign, Clear Enterprise, SAP BusinessObjects Explorer and other SAP products and services mentioned herein as well as their respective logos are trademarks or registered trademarks of SAP AG in Germany and other countries. Business Objects and the Business Objects logo, BusinessObjects, Crystal Reports, Crystal Decisions, Web Intelligence, Xcelsius, and other Business Objects products and services mentioned herein as well as their respective logos are trademarks or registered trademarks of SAP France in the United States and in other countries. All other product and service names mentioned are the trademarks of their respective companies. Data contained in this document serves informational purposes only. National product specifications may vary.

Page 3: RTOM Integration Guide RTOM_Integration_Guide[1].pdf[1]

18.02.2011

(C) SAP AG 3

These materials are subject to change without notice. These materials are provided by SAP AG and its affiliated companies ("SAP Group") for informational purposes only, without representation or warranty of any kind, and SAP Group shall not be liable for errors or omissions with respect to the materials. The only warranties for SAP Group products and services are those that are set forth in the express warranty statements accompanying such products and services, if any. Nothing herein should be construed as constituting an additional warranty

Page 4: RTOM Integration Guide RTOM_Integration_Guide[1].pdf[1]

18.02.2011

(C) SAP AG 4

Icons in Body Text

Icon Meaning

Caution

Example

Note

Recommendation

Syntax

Additional icons are used in SAP Library documentation to help you identify different types of

information at a glance. For more information, see Help on Help General Information Classes and Information Classes for Business Information Warehouse on the first page of any version of SAP Library.

Typographic Conventions

Type Style Description

Example text Words or characters quoted from the screen. These include field names, screen titles, pushbuttons labels, menu names, menu paths, and menu options.

Cross-references to other documentation.

Example text Emphasized words or phrases in body text, graphic titles, and table titles.

EXAMPLE TEXT Technical names of system objects. These include report names, program names, transaction codes, table names, and key concepts of a programming language when they are surrounded by body text, for example, SELECT and INCLUDE.

Example text Output on the screen. This includes file and directory names and their paths, messages, names of variables and parameters, source text, and names of installation, upgrade and database tools.

Example text Exact user entry. These are words or characters that you enter in the system exactly as they appear in the documentation.

<Example text> Variable user entry. Angle brackets indicate that you replace these words and characters with appropriate entries to make entries in the system.

EXAMPLE TEXT Keys on the keyboard, for example, F2 or ENTER.

Page 5: RTOM Integration Guide RTOM_Integration_Guide[1].pdf[1]

18.02.2011

(C) SAP AG 5

Table of Contents

Integration of SAP Real-Time Offer Management ....................................................................... 6

Extending the IC-RTOM Integration with New Events ........................................................... 22

SAP Real-Time Offer Management Application Toolkit ............................................................. 25

RTOM Application Toolkit Integration Manager ..................................................................... 27

Working with Real-Time Offer Management Events .......................................................... 29

Working with Real-Time Offer Management Data Sources ............................................... 32

Working with Real-Time Offer Management Landscape Configuration ............................. 33

Working with Real-Time Offer Management Feedback ..................................................... 35

Working with Real-Time Offer Management Deployment Parameters .............................. 36

Working with Real-Time Offer Management Recommendation Parameters ..................... 37

Publishing Real-Time Offer Management Updates ............................................................ 38

RTOM Application Toolkit Monitoring Tools ........................................................................... 39

Working with Real-Time Offer Management Session Viewer ............................................ 40

Working with the Real-Time Offer Management Job Log .................................................. 41

RTOM Application Toolkit Business Tools ............................................................................. 42

Working with Real-Time Offer Management Business Logic Studio .................................. 44

Expressions ..................................................................................................................... 53

Working with the Real-Time Offer Management Simulator ................................................ 63

Page 6: RTOM Integration Guide RTOM_Integration_Guide[1].pdf[1]

18.02.2011

(C) SAP AG 6

Integration of SAP Real-Time Offer Management

SAP Real-Time Offer Management is part of the following business processes:

Inbound Telesales with CRM Sales Order [External]

Order Capturing in Call Center [External]

Campaign Development in SAP CRM [External]

Note

To use this business process, you must integrate RTOM with marketing in SAP Customer Relationship Management (SAP CRM).

Implementation Considerations

For more information about SAP CRM installation, see http://service.sap.com/crm-inst.

Note

In standard, we support attributes of the type number up to 100 million.

Integration

Integration Settings for Marketing in SAP CRM

Make Customizing Settings for Marketing Integration

1. Activate the business function SAP Real-Time Offer Management (CRM_RTOM_1).

2. If you are setting up marketing in SAP CRM for integration with SAP for Utilities, you must extend the value range before you can create a campaign type for SAP for Utilities. To do so, perform the following steps:

1. Go to transaction ABAP Dictionary (SE11).

2. Enter domain CRM_MKTPL_RTOM_ACTIVE and choose Change.

3. Choose the Value Range tab and enter the fixed value U and the short

description Utilities.

4. Save your entries.

3. In Customizing for Customer Relationship Management under Marketing Marketing Planning and Campaign Management Basic Data Define Types/Objectives/Tactics

, create a campaign type for SAP Real-Time Offer Management campaigns.

4. In Customizing for Customer Relationship Management under Marketing Marketing Planning and Campaign Management Basic Data Define Priorities for Marketing

Projects , define additional priorities (optional).

5. In Customizing for Customer Relationship Management under Marketing Marketing Planning and Campaign Management SAP Real-Time Offer Management Define

Business Goals , define additional business goals (optional).

Page 7: RTOM Integration Guide RTOM_Integration_Guide[1].pdf[1]

18.02.2011

(C) SAP AG 7

6. To import RTOM condition groups and attributes in your system and client, apply SAP

Note 1456227 and make sure an RTOM entry exists in Customizing for Customer

Relationship Management under CRM Cross-Application Components Rule Builder

Define Rule Policy Types .

7. To activate the RTOM condition groups and attributes for SAP for Telecommunications or SAP for Utilities, make the required settings in Customizing for Customer Relationship

Management under Marketing Marketing Planning and Campaign Management

SAP Real-Time Offer Management Activate Condition Attributes for Industries .

Note

The Interaction Center (IC) attributes that are relevant for all industries are activated by default.

Configure the Consumer Proxy for SAP Real-Time Offer Management

If you are integrating SAP Real-Time Offer Management with marketing in SAP Customer Relationship Management (SAP CRM), you must configure the following consumer proxy and Web services to connect your SAP CRM host system to your SAP Real-Time Offer Management engine for system communication. The consumer proxy calls a service and the Web service requests the data.

1. Go to transaction SOA Manager (SOAMANAGER).

2. Choose Service Configuration Single Service Administration .

3. Search for the consumer proxy RTOMPublishServiceSoap and choose Go.

4. Select the consumer proxy and choose Apply Selection.

5. Choose the Configurations tab and choose Create Logical Port.

6. Enter a logical port name and description and select the Logical Port is Default checkbox.

7. Select the Manual Configuration radio button and choose Apply Settings.

8. On the Consumer Security tab page, enter a user name and password.

Note

You must enter the same RTOM user that was used during the RTOM installation and that has authorization to access the Web services.

9. On the Messaging tab page, from the Message ID Protocol dropdown list, select Suppress ID Transfer.

10. On the Transport Settings tab page, make the following settings:

Field Value

URL Access Path /RTOMPublish/Service.asmx

Computer Name of Access URL <RTOM server name>

Port Number of Access URL <IIS port>

Page 8: RTOM Integration Guide RTOM_Integration_Guide[1].pdf[1]

18.02.2011

(C) SAP AG 8

Field Value

Transport Binding Type SOAP1.2

Maximum Wait for WS Consumer 1000

11. On the Operation specific tab page, select Publish and enter the following SOAP action:

http://www.sap.com/RTOM/Publish.

12. Select CheckRule and enter the following SOAP action:

http://www.sap.com/RTOM/CheckRule.

13. Save your entries.

Configure the Web Services for the Marketing Integration

You must configure the following standard-delivered Web services for integration with SAP Real-Time Offer Management by entering the WSDL file for the destination host:

CRM_MKT_RTOM_WS Web service and its three methods,

CRM_MKT_RTOM_QUERY_CAMPAIGN, CRM_MKT_RTOM_GET_FEEDBACK, and CRM_MKT_RTOM_GET_ATTRIBUTE

This Web service enables SAP Real-Time Offer Management to retrieve data from marketing during the publish process.

Read Campaign By ID (CampaignCRMByIDQueryResponse_In) service-oriented

architecture (SOA) service operation

This service operation reads the changes in the marketing campaign in SAP CRM.

The following Web services are needed for integration with the rule builder for internal communication only. SAP Real-Time Offer Management consumes both of them.

Read Rule (CRM_FDT_READATTR_WS)

Read Condition Attributes (CRM_FDT_READRULE_WS)

You configure the Web services that are needed to transfer data to SAP Real-Time Offer Management by performing the following steps:

1. Go to transaction SOA Manager (SOAMANAGER).

2. Choose the Service Administration tab.

3. Choose Single Service Configuration.

4. Search for the Web service, select it, and choose Apply Selection.

5. Choose the Configurations tab page and choose Create Endpoint.

6. Enter the required data and choose Apply Settings.

7. On the Provider Security tab page, select the None (HTTP) radio button.

8. In the Transport Channel Authentication area, select the User ID/Password checkbox.

Page 9: RTOM Integration Guide RTOM_Integration_Guide[1].pdf[1]

18.02.2011

(C) SAP AG 9

9. Choose the Transport Settings tab and in the State Management Timeout, enter 180 (for

the Web services for the rule builder and Interaction Center, enter 0).

10. Save your entries.

Integration Settings for the Interaction Center, SAP for Telecommunications, and SAP for Utilities

Configure the Consumer Proxy for SAP Real-Time Offer Management

If you are integrating SAP Real-Time Offer Management with SAP CRM, you must configure the following consumer proxy and Web services to connect your SAP CRM host system to your SAP Real-Time Offer Management engine for system communication. The consumer proxy calls a service and the Web service requests the data.

You have to create a logical port for the Web service proxy, so that the Web service can be accessed from anywhere within the distributed RTOM system.

For the Interaction Center and SAP for Telecommunications, you must create a logical port for

the CO_OFFERSERVICE_SOAP consumer proxy. For SAP for Utilities, you must create a logical

port for the RTOMSiteAdaptorServiceSoap consumer proxy.

To create a logical port for each consumer proxy, perform the following steps:

1. Go to transaction SOA Manager (SOAMANAGER).

2. Choose Service Configuration Single Service Administration .

3. Search for the consumer proxy and choose Go.

4. Select the consumer proxy and choose Apply Selection.

5. Choose the Configurations tab and choose Create Logical Port.

6. Enter a logical port name and description and select the Logical Port is Default checkbox.

7. Select the Manual Configuration radio button and choose Apply Settings.

8. On the Consumer Security tab page, enter a user name and password.

Note

You must enter the same RTOM user that was used during the RTOM installation and that has authorization to access the Web services.

9. On the Messaging tab page, from the Message ID Protocol dropdown list, select Suppress ID Transfer.

10. On the Transport Settings tab page, make the following settings:

Field Value

URL Access Path

For the IC and SAP for Telecommunications: /IngeneoSAPICSiteAdaptorWS/Service.asmx

For SAP for Utilities: /RTOMSiteAdaptorWS/RTOMSiteAdaptorService.asmx

Page 10: RTOM Integration Guide RTOM_Integration_Guide[1].pdf[1]

18.02.2011

(C) SAP AG 10

Field Value

Computer Name of Access URL

<RTOM server name>

Port Number of Access URL

<IIS port>

Transport Binding Type

SOAP1.2

Maximum Wait for WS Consumer

1000

11. Save your entries.

Configure the Web Services for Integration with IC, SAP for Telecommunications, and SAP for Utilities

You must configure the following Web services:

CRM_IC_RE_WS

Note that this service must be configured for all industries only in the Interaction Center system and not in the RTOM system.

Retrieve Products Data (ROM_PRODUCT)

If you have not integrated RTOM with marketing in SAP CRM and would like to integrate with the product catalog in SAP CRM, you must configure this service to retrieve product master data from SAP CRM.

ROM_AGENT (the corresponding technical name in the RTOM system is IC_AGENT for the

IC and TELCO_AGENT for SAP for Telecommunications)

This Web service provides employee details from SAP CRM.

ROM_ACCOUNT (the corresponding technical name in the RTOM system is IC_CUSTOMER

for the IC and TELCO_CUSTOMER for SAP for Telecommunications)

This Web service provides account details from SAP CRM.

ROM_SALES_ORDER (the corresponding technical name in the RTOM system is

IC_SALE_ORDERS for the IC)

This Web service provides sales orders details from SAP CRM.

ROM_TELCO_ORDER (the corresponding technical name in the RTOM system is

TELCO_SALE_ORDERS for SAP for Telecommunications)

This Web service provides sales orders details from SAP CRM.

To configure the Web services, perform the steps described in the Configure the Web Services for the Marketing Integration section.

Page 11: RTOM Integration Guide RTOM_Integration_Guide[1].pdf[1]

18.02.2011

(C) SAP AG 11

Create a Function Profile

When you create a function profile for RTOM, the event flow and offer feedback reporting through the IC in SAP CRM is enabled. To create a function profile, make the required settings in

Customizing for Customer Relationship Management under Interaction Center WebClient Basic Functions Real-Time Offer Management Define Real-Time Offer Management

Profiles .

Note

For IC and SAP for Telecommunications, enter a logical port name. This logical port name must be the same as the one you created for the CO_OFFERSERVICE_SOAP consumer proxy.

For SAP for Utilities, you must not enter a logical port name.

To extend the value range for the integration with SAP for Utilities, perform the following steps:

1. Go to transaction ABAP Dictionary (SE11).

2. Enter domain CRM_IC_RE_SCENARIO and choose Change.

3. Choose the Value Range tab and enter the fixed value UTIL_IC and the short

description Utilities IC Agent.

4. Save your entries.

Enable the Interaction Center Agent Role

Make the required settings in Customizing for Customer Relationship Management under

Interaction Center WebClient Define Business Role .

If the IC agent role is defined in the rule policies, all IC agents who are assigned to the business role will receive recommendations from the RTD engine

Note

Make sure that the RUNTIME function profile with profile value DEFAULT_IC is created.

Make sure that the DEFAULT_IC profile contains a reference to the feedback custom controller.

To do this, check the following settings in Customizing for Customer Relationship Management

under UI Framework UI Framework Definition Maintain Runtime Framework Profile :

1. Select the DEFAULT_IC profile and choose Global Custom Controller to Be Called.

2. Make sure the following entry exists: BSP application ICCMP_FEEDBACK with controller FeedbackCuCo.

Make the Customizing Settings for the Navigation Bar

Make the following settings in Customizing for Customer Relationship Management under

Interaction Center WebClient Basic Functions Define Navigation Bar Profile :

1. Select the IC_AGENT_U navigation bar profile and go to the Define Generic Outbound Plug Mappings view.

2. Create the following new entries:

Page 12: RTOM Integration Guide RTOM_Integration_Guide[1].pdf[1]

18.02.2011

(C) SAP AG 12

Field Value

Object Type OFFER

Obj.Action Display

Use Target Select the Use Target checkbox

Target ID OFFER

Field Value

Object Type RTD_FEEDBACK

Obj.Action Display

Use Link Select the Use Link checkbox

LogLink ID IC_FEEDBCK

Enable Events Using the Rule Modeler in the IC

RTOM allows IC agents to recommend offers to their customers. To have events sent to the RTD engine, some rule policies must be created using the rule modeler on the IC WebClient UI.

Note

If there are multiple rules, make sure that the rules are set at the same level and not nested.

Create Rule Policies for IC and SAP for Telecommunications

You must create four new rule policies. You could, for example, choose to name the rule policies RTD_BPConfirmed, RTD_BTCreated, RTD_BTDataEntered, and RTD_ObjectConfirmed.

Note

For convenience, RTD_BPConfirmed is used as a rule policy example in the following

description. The additional rule policies are detailed at the end of this section.

To create the rule policies, perform the following steps:

1. Start the WebClient UI using a user that has the IC_Manager business role assigned

and choose Process Modeling Rule Policies .

2. On the Rule Policies page, click New.

3. Select the context Intent Driven Interaction (IC WebClient).

4. Enter a name for the rule policy.

5. Under Policy, select the top node with the name of your new rule policy.

6. Enter the relevant business role (the one you created in the Enable the Interaction Center Agent Role section) and the IC event listed below for each of the four new rule policies.

7. Save your entries.

Page 13: RTOM Integration Guide RTOM_Integration_Guide[1].pdf[1]

18.02.2011

(C) SAP AG 13

8. Click Edit.

9. Under Policy, select the node Draft Rules and click New.

10. Enter a name (such as RTD_BPConfirmed) and description for the rule folder and click

Save.

11. In the new rules folder that was created, click New.

12. Under Conditions, click Add Entry.

13. Enter the following if statement:

If Current Event Equals Business Partner Confirmed Then RTD.

14. Under Actions, click Add Entry.

15. Enter the following then statement:

Engine Event: Start of Session

16. Click Save.

17. Make sure you release the rule policy by doing the following:

1. Select the status after the policy name for each policy.

2. From the More dropdown list, choose Check Draft Rules.

The message No problems were found during the check should be displayed.

3. Choose Release Draft Rules and Save.

The rules that need to be created use rule modeler actions that are part of the standard delivery Customizing.

Use the following details to create each of the four rule policies:

RTD_BPConfirmed

o IC Event: BPConfirmed

o Rule:

Condition:

If Current Event Equals Business Partner Confirmed

Then

Action:

RTD Engine Event: Start of Session

RTD_BTCreated

o IC Event: BTCreated

o Rule:

Page 14: RTOM Integration Guide RTOM_Integration_Guide[1].pdf[1]

18.02.2011

(C) SAP AG 14

Condition:

If Current Event Equals Business Transaction Created

Then

Action:

RTD Engine Event: Business Trans. Created

RTD_BTDataEntered

o IC Events: BDCCurrentOneOrderChanged, OrderSaved and CategoryChanged

o Rules:

Condition:

If Current Event Equals Current One Order Changed Then

Action:

RTD Engine Event: Data Entered in BT

Condition:

If Current Event Equals Order was Saved Then

Action:

RTD Engine Event: Data Entered in BT

Condition:

If Current Event Equals Category Changed Then

Action:

RTD Engine Event: Data Entered in BT

RTD_ObjectConfirmed

o IC Events: IObjectConfirmed and IbaseConfirmed

o Rules:

Condition:

If Current Event Equals Ibase Confirmed Then

Action:

RTD Engine Event: Ibase Confirmed

Condition:

If Current Event Equals Individual Object Confirmed

Then

Page 15: RTOM Integration Guide RTOM_Integration_Guide[1].pdf[1]

18.02.2011

(C) SAP AG 15

Action:

RTD Engine Event: Object Confirmed

Create a Rule Policy for SAP for Utilities

Before you can create a rule policy for SAP for Utilities, you must define events for SAP for Utilities by performing the following steps:

1. In Customizing for Customer Relationship Management under Interaction Center WebClient Additional Functions Intent-Driven Interactions Service Manager

Define Services , create the following new entry:

Field Value

Service ID AH_RTD_EVENT

Description RTD: Action Handler for RTOM Events

Service Type Action Handling

Service Class CL_CRM_RTD_ACTION_HANDLER

2. In Customizing for Customer Relationship Management under Interaction Center

WebClient Additional Functions Intent-Driven Interactions Define Repository ,

select the ICRULE context, go to the Actions view, and create the following new entry:

Field Value

Action ID AH_RTD_EVENT

Description RTD: Action Handler for RTOM Events

Show Action Select the Show Action checkbox

Action Service ID AH_RTD_EVENT

Conflict Type First Occurrence Is Used

3. In Customizing for Customer Relationship Management under Interaction Center WebClient Additional Functions Intent-Driven Interactions Define Events in

Repository , select the CRM_IC_EVENT events application, go to the Events view, and

make sure the following events exist:

Event ID Description

BPConfirmed Business Partner Confirmed

BuAgConfirmed Business Agreement Confirmed

BuAgReset Business Agreement Confirmation Reset

ContractSubmit Contract Was Submitted

ContractSummary Contract Move to Summary

OfferListCreateContract Create Contract from Offer List

Page 16: RTOM Integration Guide RTOM_Integration_Guide[1].pdf[1]

18.02.2011

(C) SAP AG 16

Event ID Description

OfferListCreateQuotation Create Quotation from Offer List

OfferListDontOffer Offer Was Not Offered from Offer List

PremiseConfirmed Event "PremiseConfirmed"

PremiseMoved Contract Moved to New Premise

PremiseReset Event "PremiseReset"

QuotationRejected Quotation Was Rejected

QuotationSummary Quotation Move to Summary

You must create one new rule policy, for example, RTOM_Events. To create the rule policy for

SAP for Utilities, perform the steps that are described in the Create Rule Policies for IC and SAP for Telecommunications section. However, you must add all IC events for SAP for Utilities that are listed above to the rule policy and then add conditions and actions for each IC event.

Verify the Customizing Settings for the Navigation for SAP for Utilities

The following default settings are delivered for SAP for Utilities for the navigation between the offer list window and the contract/quotation window. This allows an IC agent to add an offer to a contract or quotation directly from the offer list. Verify that the following settings exist in your system:

In Customizing for Customer Relationship Management under UI Framework

Technical Role Definition Define Work Area Component Repository :

o Component IC Offer List (ICCMP_OFFRMAIN), window name

ICCMP_OFFRMAIN/MainWindowCRM:

Inbound Plug Definition view:

Target ID Inbound Plug Object Type Obj. Action

OFFER DEFAULT OFFER Display

Outbound Plug Definition view:

Source ID Outbound Plug Object Type Obj. Action

ISUCONTR ISU_CREATECONTR IUICCON Create

ISUQUOT ISU_CREATEQUOT IUICQUOT Create

o Component Utilities Contract Management (IUICCON), window name

MainWindow:

Inbound Plug Definition view:

Target ID Inbound Plug Object Type

Obj. Action

Description

Page 17: RTOM Integration Guide RTOM_Integration_Guide[1].pdf[1]

18.02.2011

(C) SAP AG 17

Target ID Inbound Plug Object Type

Obj. Action

Description

TIUICCONP FROMPRODPROP IUICCON Create Create contracts from Product Proposal

TIUICCONRT FROM_RTOM IUICCON Create Create contract from RTOM offer

o Component Quotation Management (IUICQUOT), window name

IUICQUOT/MainWindow:

Inbound Plug Definition view:

Target ID Inbound Plug Object Type

Obj. Action

Description

TIUICQUOP FROMPRODPROP IUICQUOT Create Create quotations from Product Proposal

TIUICQUORT FROM_RTOM IUICQUOT Create Create quotation from RTOM offer

In Customizing for Customer Relationship Management under UI Framework

Technical Role Definition Define Navigation Bar Profile :

o Navigation bar profile Utilities: Interaction Center Agent (UTL-IC), link ID UTL-

ID-WC:

Define Generic Outbound Plug Mappings view:

Object Type Obj.

Action Use Target Target ID

IUICCON Display Select the Use Target checkbox

TIUICCON

IUICQUOT Display Select the Use Target checkbox

TIUICQUOT

IUICQUOT Create Select the Use Target checkbox

TIUICQUOTC

OFFER Display Select the Use Target checkbox

OFFER

o Navigation bar profile Interaction Center Agent Navigation Bar (outdated)

(IC_AGENT_U), link IC_BPIDENT:

Define Generic Outbound Plug Mappings view:

Object Type Obj.

Action Use Target

Target ID

Use Link LogLink ID

OFFER Display Select the Use OFFER

Page 18: RTOM Integration Guide RTOM_Integration_Guide[1].pdf[1]

18.02.2011

(C) SAP AG 18

Object Type Obj.

Action Use Target

Target ID

Use Link LogLink ID

Target checkbox

RTD_FEEDBACK

Display Select the Use Link checkbox

IC_FEEDBCK

Define Logical Links view:

LogLink ID Type Target ID Description

IC_FEEDBCK Link IC_FEEDBCK RT Offer Management Feedback

Activate Recorded Simulations for SAP for Utilities

You can simulate a runtime event and the detection of real-time offers and messages for a specific customer and generate a report for the simulation that contains the detection results

using the RTOM application toolkit. To do this, choose System User Profile Own Data in SAP CRM, choose the Parameters tab, and add the following parameters to your user profile:

Parameter ID Short Description Parameter Value

CRM_RTOM_SIMULATOR CRM RTOM Simulator Activation

Enter X to activate this parameter.

Note that the other parameters can be used only if this parameter is activated.

CRM_RTOM_SIM_DEM_OFR

CRM RTOM Simulator Use Demo Offer

Enter X to activate this parameter.

CRM_RTOM_SIM_NO_CHNL

CRM RTOM Simulator Use Offers with no Channel

Enter X to activate this parameter.

CRM_RTOM_MAX_OFRS CRM RTOM Simulation Max Offers Number

Enter a number to define the maximum number of offers to be used in the simulation. If you do not enter a value, the default maximum number of offers for the channel will be used.

For more information, see Working with the Real-Time Offer Management Simulator [Page 63].

Activate the BI Content

If you are using RTOM in an SAP CRM scenario, you can use RTOM reporting.

RTOM reporting is based on data contained in the RTOM experience database. This data needs to be extracted, structured, and made available for reporting in SAP NetWeaver Business Warehouse (SAP NetWeaver BW).

A flat file interface is used to extract the data from the RTOM database to SAP NetWeaver BW. A flat file containing all the necessary up-to-date data is generated by RTOM. The file is loaded into SAP NetWeaver BW, and the data is activated and made available for reporting. This section describes all the steps necessary for this process. It does not describe automation or scheduling.

Page 19: RTOM Integration Guide RTOM_Integration_Guide[1].pdf[1]

18.02.2011

(C) SAP AG 19

Database Views

RTOM reporting is based on data contained in the RTOM experience database. The data is distributed between several database tables. To make extraction easier, the following database views bring together all the information needed for reporting:

Offer Data View

This view contains all necessary fields for all RTOM reports except Offer Predictor Trend Report.

Predictor Report View

This view contains data needed for the Predictor Changes Over Time Report.

Flat File Generation Tool

The tool can be found in <Installation directory>\SAP

CRM\RTOM\Integration\Exe\ExportDataUtil.exe. It should be run from the command

prompt with a configuration file specified.

The tool extracts data through the database views accumulated from the last run. The data is saved in a text file under <Installation directory>\SAP CRM\RTOM\ExportData.

The file name is suffixed with a time stamp to prevent overwriting an existing file. The tool is configured through a configuration XML file that is specified during the execution at the command prompt.

Configuration Files

The two configuration files, PredictorsData.xml and SessionData.xml, can be found in

<Installation directory>\SAP CRM\RTOM\Configuration\ReportQueries.

The configuration file has the following tags:

DSN

Connection string (can be found on the registry key or ODBC)

Owner

Can be found on the registry key (for SQL2005, see the example below)

Provider

Database driver – SQL/Oracle/MaxDB (can be found on the registry key)

Syntax

Example:

<ExportDataUtil>

<DSN>Value Data Of DSN</DSN>

<Owner>dbo</Owner>

<Provider>SQLServer 2000</Provider>

Page 20: RTOM Integration Guide RTOM_Integration_Guide[1].pdf[1]

18.02.2011

(C) SAP AG 20

<SP>sp_ReportOfferData</SP>

<BaseFileName>SessionData</BaseFileName>

<FlatFilePath>ExportData</FlatFilePath>

</ExportDataUtil>

In this case, the value of Value Data of DSN is as follows:

If using SQL: Provider=sqlncli; Server=(local);Database=xxxx; Integrated Security=SSPI;

If using Oracle: Provider=MSDASQL;DSN=xxxxxxx;UID=xxxxxx;PWD=xxxxxxx;

If using MaxDB: Provider=MSDASQL;driver=MaxDB (Unicode);servernode=xxxxxx;serverdb=xxxxx;UID=xxxxxx;PWD=xxxxxx;

Execution

The tool has to be executed with each configuration file. Currently there are two configuration files that produce two flat files – one for general reporting and one specific to the predictor indicator report.

To run the tool with the configuration files, copy them from their location to the ExportDataUtil.exe directory.

The tool can also be scheduled to run on a regular basis. Generated files are not overwritten because their names are time-stamped.

BI Extraction

The following prerequisites apply:

You have a valid user in the SAP NetWeaver BW system that allows you to edit business content.

The two flat files created in the previous step have been uploaded into two different Info Providers in the SAP NetWeaver BW system.

Perform the following steps:

1. Before you start the uploading process, delete the existing data in ODS CRM Real-Time

Offer Management ODS (0CRT_DS01) and Real-Time Offer Management Predictor Data

ODS (0CRT_DS02).

2. Create a data source file on the source systems by performing the following steps:

1. Go to transaction RSA1.

2. Choose Modeling Source Systems .

3. Right-click File and choose Create.

4. Specify a logical system name and description (Source System Name) and leave the Type and Release as the default (= <space>).

5. Check the source system assignment for the newly-created source system file along with the self-defined system and SAP CRM system.

Page 21: RTOM Integration Guide RTOM_Integration_Guide[1].pdf[1]

18.02.2011

(C) SAP AG 21

3. To upload the data for the main reports, create a new info package for the data source

Real-Time Offer Management Flat File Report Source (0CRM_IC_RTOM_1).

You can use the CRM IC RTOM Info Package 1 as a template. Under Extraction, specify

the full path to the flat file that was previously generated. Under Schedule, execute the data load process.

4. Execute the data transfer process 0CRM_IC_RTOM_1 / PC_FILE -> 0CRT_DS01

under the ODS CRM Real-Time Offer Management ODS (0CRT_DS01).

5. To upload the data for the Predictor Performance Report, create a new info package for the data source Real-Time Offer Management Flat File Predictor Data Source

(0CRM_IC_RTOM_2). You can use RTOM Predictor Info Package 2 as a template. Under

Extraction, specify the full path to the flat file that was previously generated. Under Schedule, execute the data load process.

6. Execute the data transfer process 0CRM_IC_RTOM_2 / PC_FILE -> 0CRT_DS02

under the ODS CRM Real-Time Offer Management Predictor Data ODS (0CRT_DS02).

7. Activate the data in ODS CRM Real-Time Offer Management ODS (0CRT_DS01) and

ODS CRM Real-Time Offer Management Predictor Data ODS (0CRT_DS02).

Install the RTOM Server

For more information, see the SAP Real-Time Offer Management Installation Guide.

Integration Settings for the RTOM Engine

Make the following integration settings for the SAP Real-Time Offer Management engine: using the RTOM application toolkit, update the data source URLs.

For more information about configuring the Web services for data retrieval from SAP CRM, see Post Installation in the SAP Real-Time Offer Management Installation Guide and Working with Real-Time Offer Management Landscape Configuration [Page 33].

For more information about Web services, see SAP Help Portal at https://help.sap.com SAP NetWeaver Library SAP NetWeaver by Key Capability Application Platform by Key Capability ABAP Technology ABAP Workbench (BC-DWB) ABAP Workbench Tools

Web Services .

For more information about the SOA Web services, see the process component documentation for campaigns in the enterprise services documentation.

Integration Test

For a full integration test, perform the following steps:

1. Create a real-time offer.

2. Publish to the SAP Real-Time Offer Management engine.

3. Detect using the Interaction Center or Telco agent.

Page 22: RTOM Integration Guide RTOM_Integration_Guide[1].pdf[1]

18.02.2011

(C) SAP AG 22

Extending the IC-RTOM Integration with New Events

You can integrate SAP Real-Time Offer Management (RTOM) with SAP Customer Relationship Management (SAP CRM) for use with inbound, customer-initiated Interaction Center (IC) interactions. For more information, see Integration of SAP Real-Time Offer Management [Page 6].

Note

RTOM 7.1 can be integrated with SAP CRM 7.0. enhancement package 1. If you want to use an earlier version of RTOM with a different version of SAP CRM, use the appropriate earlier version of this guide. For more information, see SAP Service Marketplace at http://service.sap.com/instguides.

Features

IDI is an acronym for intent-driven interaction. At initial installation, it may not be necessary to extend the IC-RTOM integration with new events. This may, however, be required for subsequent enhancement.

Note

Before you start, make sure that the IC-RTOM configuration has been completed as described in this guide.

Activities

Setting Up IDI Actions

1. Define the action service in Customizing for Customer Relationship Management under

Interaction Center WebClient Additional Functions Intent-Driven Interactions

Service Manager Define Services .

2. Create a new service.

3. Define the action in Customizing for Customer Relationship Management under Interaction Center WebClient Additional Functions Intent-Driven Interactions

Define Repository Context ICRULE .

4. Create an action handler class by going to transaction Class Builder (SE24) and creating

a service class.

Example

Create ZCL_ACTION_HANDLER as a subclass of CL_CRM_SMF_ABSTRACT_ACTION

You have now completed the basic setup for IDI.

Implementing an Event Handler

1. Define the action service in Customizing for Customer Relationship Management under

Interaction Center WebClient Additional Functions Intent-Driven Interactions

Service Manager Define Services .

Page 23: RTOM Integration Guide RTOM_Integration_Guide[1].pdf[1]

18.02.2011

(C) SAP AG 23

2. Create an event manager class as a subclass of cl_crm_ic_re_event_manager.

Example

ZCL_IC_RE_EVENT_MANAGER

3. Implement an event stub by creating and implementing an instance public method.

Example

SEND_NEW_EVENT in ZCL_IC_RE_EVENT_MANAGER

1. Enter context data for the event.

2. At the end of the method, call call_dispatcher lv_event_container to send

the event.

This is similar to the method SEND_IBASE_CONFIRMED in

cl_crm_ic_re_event_manager class.

4. Implement an action handler by implementing the action handler class

ZCL_ACTION_HANLDER method IF_CRM_SMF_ACTION_HANDLER~EXECUTE.

Syntax

DATA lv_event_mgr TYPE REF TO zcl_ic_re_event_manager.

TRY.

lv_event_mgr ?= cl_crm_ic_re_event_manager=>get_current( ).

CHECK lv_event_mgr IS BOUND.

lv_event_mgr->send_new_event( ).

CATCH cx_sy_move_cast_error.

ENDTRY.

The new event can now be sent to the RTD engine. The last step maps Interaction Center events to actions. These actions start during an Interaction Center session.

Enabling the Event Using the Rule Modeler

Set up the rule by mapping the IC event to the action:

1. Create a rule policy that includes the relevant business role and IC event.

2. Add the following rule:

Syntax

If Current Event eq <IC Event>Then Action: New event RTOM

integration

Page 24: RTOM Integration Guide RTOM_Integration_Guide[1].pdf[1]

18.02.2011

(C) SAP AG 24

Example

You can map it to event IBaseConfirmed.

Page 25: RTOM Integration Guide RTOM_Integration_Guide[1].pdf[1]

18.02.2011

(C) SAP AG 25

SAP Real-Time Offer Management Application Toolkit

SAP Real-Time Offer Management (RTOM) is a self-learning real-time recommendation engine. The RTOM recommendation engine uses data retrieved in real time from CRM master data systems, processes the information, and generates a list of real-time offers suitable for a specific customer according to the business rules of the calling system.

The default RTOM installation covers many business use cases. To cover additional business use cases, some enhancements may need to be done. Each system that is external to RTOM requires and receives data in a different format and in a different technology. This means that the process of adding a new data source or event may require specialist consultants. However, the RTOM application toolkit provides organizations with simple process definition and system configuration.

The application toolkit uses the following main entities to configure system integration:

Events

An event is an RTOM procedure that executes a set of actions in the system and is called by another system. The event is also used to define a format between RTOM and other systems.

Condition groups

A condition group is the logical definition of an entity in the system. It is populated by one or more data sources or condition groups and represents the main logical entities in the system, such as customer, agent, sales order, and additional entities. A condition group is defined as a part of the marketing process and is used later to define the business rules of an offer.

Data sources

Data sources define external Web services that are accessed by RTOM in real time to retrieve additional required information and are used to populate condition groups at runtime. This information provides attributes for the selection of personalized real-time offers for specific customers.

Features

The RTOM application toolkit operates using the following functions:

Integration manager

Using the integration manager, you can do the following:

o Define, create, and manipulate RTOM events

o Define, create, and manipulate RTOM data sources

o Configure the RTOM landscape, which defines how RTOM connects with external systems

o Define the way that RTOM presents feedback

Page 26: RTOM Integration Guide RTOM_Integration_Guide[1].pdf[1]

18.02.2011

(C) SAP AG 26

o Define, create, and manipulate RTOM instances and configure deployment parameters

o Configure recommendation parameters for the detection of offers and the learning of RTOM

For more information, see RTOM Application Toolkit Integration Manager [Page 27].

Monitoring tools

The monitoring tools include a session viewer and a job log.

For more information, see RTOM Application Toolkit Monitoring Tools [Page 39].

Business tools

The business tools include the Business Logic Studio and simulator.

Using the Business Logic Studio, you can design, view, and manage product offers, messages, and condition groups.

For more information, see RTOM Application Toolkit Business Tools [Page 42].

The RTOM application toolkit is a Web-based application. In your Web browser, enter the URL of

the RTOM application toolkit using the following format: http://<RTOM server name>:<IIS

port>/RTOMAppsToolkitWS/Applications/Login/Default.aspx.

To be able to use the RTOM application toolkit, you must allow pop-ups in the Web browser that will be used to access the RTOM application toolkit.

Page 27: RTOM Integration Guide RTOM_Integration_Guide[1].pdf[1]

18.02.2011

(C) SAP AG 27

RTOM Application Toolkit Integration Manager

The integration management function of the SAP Real-Time Offer Management (RTOM) application toolkit is used to add, edit, or remove the events and data sources that are used for generating SAP Real-Time Offer Management offers.

Features

Using the integration manager, you can do the following:

View, edit, and add session events and modify event processing

You can create an event or modify an existing event. An event is an RTOM procedure that is called by another system and executes a set of actions in the RTOM engine.

For more information, see Working with Real-Time Offer Management Events [Page 29].

View, edit, and add external data sources

You can edit the definitions of data sources. In the data source definition, you specify the external Web services that RTOM accesses in real time to retrieve additional information from external systems. Data sources are used to populate condition groups at runtime. This information provides attributes for the selection of personalized offers for a specific customer.

For more information, see Working with Real-Time Offer Management Data Sources [Page 32].

Configure the RTOM landscape

You can define how RTOM connects with external systems.

For more information, see Working with Real-Time Offer Management Landscape Configuration [Page 33].

View and edit feedback form text for products

You can replace the standard RTOM feedback messages with messages that may be more meaningful to your users.

For more information, see Working with Real-Time Offer Management Feedback [Page 35].

Configure deployment parameters

You can create, edit, enable, or disable individual RTOM instances, define the location of shared components, and define channel integration routers and their server locations.

For more information, see Working with Real-Time Offer Management Deployment Parameters [Page 36].

Configure recommendation parameters

You can configure channel parameters and data recall parameters that influence the detection of offers and the learning of the RTOM engine.

Page 28: RTOM Integration Guide RTOM_Integration_Guide[1].pdf[1]

18.02.2011

(C) SAP AG 28

Make changed data available to be used by RTOM

When you update events, data sources, feedback messages, and so on, you must publish the changed data before it can be used by RTOM.

For more information, see Publishing Real-Time Offer Management Updates [Page 38].

Page 29: RTOM Integration Guide RTOM_Integration_Guide[1].pdf[1]

18.02.2011

(C) SAP AG 29

Working with Real-Time Offer Management Events

An event is an SAP Real-Time Offer Management (RTOM) procedure that is called by another system and executes a set of actions in the RTOM engine. For example, an event could be the start of a telephone call or an agent logging on to the system. Within the RTOM Application Toolkit - Events view, you can display, create, edit, copy, and delete events. After you create or edit an event, you have to publish the data to update RTOM with all changes.

Procedure

Create and Edit

When you choose Create, the application toolkit guides you through a step-by-step event creation process. Depending on your entries, not all steps are available (the steps that are not available are not displayed).

1. Information

Enter a Name to identify the event.

Enter a channel for the event. The two predefined channels are the Interaction Center (IC) and the Web. The entry that you choose defines the event types that are available.

All events are based on predefined RTOM event templates. In the Type dropdown list, you can choose one of the predefined RTOM event templates, which will define the behavior of the event that you are creating. The template type that you choose defines which of the remaining steps are available.

Example

You can use the update offer status tmpl event template to define an event that

will trigger the RTOM server to update the offer status during the session and to refine

the detected offers based on that status update. You can use the get detection

results tmpl event template to define when the RTOM server will send detection

results to your application.

The Description field is optional and you can change it later.

If you set the status of the event to active, the event configuration is loaded to RTOM when the updates are published (see Publishing Real-Time Offer Management Updates [Page 38]). You can use this option to prevent an event from being loaded to RTOM before it has been fully validated.

2. Input

In this step, you define the input of the event.

If condition group data is supplied with the event data, select the Condition Groups checkbox and select all relevant condition groups from the list.

If no condition group data is supplied with the event data, except for the customer identification, do not select the Condition Groups checkbox. If the event requires RTOM to retrieve condition groups from an external data source, you can define this in the next step.

Page 30: RTOM Integration Guide RTOM_Integration_Guide[1].pdf[1]

18.02.2011

(C) SAP AG 30

3. Data Source

In this step, you define the data sources from which RTOM retrieves condition group data for the event.

Select the Condition Groups checkbox, select all relevant condition groups, and select the external data source from the Data Source dropdown list. Note that only one data source is provided for all condition groups, so if you selected several condition groups, the selected data source should provide information for all of them.

4. Detection

In this step, you define whether RTOM should detect product offers, message offers, or both. For example, a message offer is a reminder that the customer's birthday is coming soon.

5. Feedback

In this step, you define whether the event should update the offer feedback.

When an IC session ends, a feedback screen is displayed showing all session offers and a default feedback for each offer prefilled by the session activities.

You can define how the activities will affect the default feedback value. If you configure the RTOM server to update feedback by product, the default feedback value of all session offers that are linked to this product will be updated accordingly.

6. Result

In this step, you define the type of detection result the event will produce. The following types of detection results are available:

o Response on Event

The event caller receives the detection results in the event response. For example, RTOM sends a list of real-time offers as a response to an event.

o Callback

When the event finishes, it does not contain a detection result that the event caller can use. Instead, RTOM sends a list of real-time offers to the callback URL when it is ready.

o No Result

RTOM performs the event but returns nothing. The caller event needs to send another event to retrieve the list of real-time offers when required.

7. Finish

Review the summary of the event details. To correct your entries, choose Previous or to finish, choose Finish.

When you select an existing event and choose Edit, the procedure is the same except that you can edit the fields of the event.

Page 31: RTOM Integration Guide RTOM_Integration_Guide[1].pdf[1]

18.02.2011

(C) SAP AG 31

Note

You cannot edit all of the fields.

Copy and Delete

To create a copy of an event, select the event and choose Copy. A copy of the event is created

with the following name: Copy of <event name> <date>. To change the name and other

details of the event, you can choose Edit.

To delete an event, select the event and choose Delete.

Display

To display a summary of the details of an event, select the event and choose Display.

On the Overview tab page, you can generate a sample XML or XML schema definition (XSD) of the event data.

On the Test tab page, you can enter XML code and check whether it is valid by choosing Test.

Page 32: RTOM Integration Guide RTOM_Integration_Guide[1].pdf[1]

18.02.2011

(C) SAP AG 32

Working with Real-Time Offer Management Data Sources

Data sources are used to define the configuration of external Web services that are used to send and retrieve data in real time to and from the SAP Real-Time Offer Management (RTOM) system. The data sources are then used to populate condition groups at runtime (for example, demographic details, marketing information, sales orders, and other information could be

gathered together as a single condition group called Customer).

This information provides attributes for the selection of personalized real-time offers for specific customers.

Within the RTOM Applications Toolkit - Data Sources view, you can display, create, edit, copy, and delete data sources. After you create or edit a data source, you have to trigger the publishing of the data to update RTOM with all changes. For more information, see Publishing Real-Time Offer Management Updates [Page 38].

Features

Create and Edit

Default data sources are delivered for the different solutions that are integrated with RTOM. Default data sources cannot be deleted. However, you can edit the default data sources and create new ones.

When you choose Create, the RTOM application toolkit opens the Data Source Details view where you can enter the following details that define the data source:

URL, namespace, and method

Define the exact location of the Web service and the required operation.

User and password

Credentials that are supplied by RTOM to the Web service at runtime (for security).

You can also add the following optional input data:

To define a table of input data, choose Add Table.

To add a line to the table, choose Create.

To remove a line from the input data, choose Delete.

When you select an existing data source and choose Edit, you can edit the data source details. Choose Save to save your changes.

Copy

To create a copy of a data source, select the data source and choose Copy. A copy of the data

source is created with a name with the following format: Copy of <data source

name><date>. You can now use Edit to change the name and other details of the data source.

Page 33: RTOM Integration Guide RTOM_Integration_Guide[1].pdf[1]

18.02.2011

(C) SAP AG 33

Working with Real-Time Offer Management Landscape Configuration

The landscape configuration function defines how SAP Real-Time Offer Management (RTOM) connects with external systems.

SAP supplies a number of predefined landscape configuration parameters that you can edit to suit your own requirements.

The following landscape configuration parameters are available:

SAP System Landscape Definition

Registers RTOM in the System Landscape Directory (SLD).

Note

The format of the URL is http://<SLD server>:<port>/sld/ds. The user you

provide for the landscape configuration must have authorization to write data in the SLD.

Retrieve Products Data

If you have not integrated RTOM with marketing in SAP Customer Relationship Management (SAP CRM) and would like to integrate with product catalog of SAP CRM, you have to configure this parameter to retrieve product master data from SAP CRM. You

use the ROM_PRODUCT Web service.

In addition, the landscape configuration parameters below have to be configured if you have integrated RTOM with marketing in SAP CRM:

Read Condition Attributes

Sends condition groups from marketing to RTOM.

Read Rule

Reads rules defined in marketing used for product recommendations.

Read Campaign By ID

Reads marketing campaigns by campaign ID.

Read Computed Attribute

Reads computed attributes from data sources.

Read BP Campaigns

Reads marketing campaigns that the business partner is a part of.

Write Publish Job Messages

Reads job messages from data sources.

Page 34: RTOM Integration Guide RTOM_Integration_Guide[1].pdf[1]

18.02.2011

(C) SAP AG 34

Procedure

To edit one of the predefined landscape configurations, complete the following steps:

1. Select a configuration definition.

2. Choose Edit.

You can associate a URL, user, and password with the landscape configuration.

Note

When you display a landscape configuration, the password is not displayed.

3. Choose Save.

4. To update RTOM with all changes, choose Publish. For more information, see Publishing Real-Time Offer Management Updates [Page 38].

Page 35: RTOM Integration Guide RTOM_Integration_Guide[1].pdf[1]

18.02.2011

(C) SAP AG 35

Working with Real-Time Offer Management Feedback

For each supported language, SAP provides default answers to requests for feedback on SAP Real-Time Offer Management (RTOM) product offers. These default answers may not always be suitable for your users. You can choose to display a different answer.

Procedure

To change a feedback description, complete the following steps:

1. In the RTOM Application Toolkit - Feedback Description view, select the language that you wish to edit and choose Edit.

2. Enter the required message descriptions and choose Save.

3. To update RTOM with all changes, choose Publish. For more information, see Publishing Real-Time Offer Management Updates [Page 38].

Page 36: RTOM Integration Guide RTOM_Integration_Guide[1].pdf[1]

18.02.2011

(C) SAP AG 36

Working with Real-Time Offer Management Deployment Parameters

One or more instances of SAP Real-Time Offer Management (RTOM) can be installed on one or more servers and some of the RTOM services of an RTOM instance can be installed on different servers. In the RTOM Application Toolkit - Deployment Parameters view, you can perform the following tasks:

On the Shared Components tab page, you can configure the location of the experience analyzer server and log server. Shared components exist only on one server. You can also define the maximum number of concurrent sessions allowed. The maximum number of concurrent sessions allowed affects other parameters for RTOM, for example, how often results are analyzed and learning is performed.

Note that you have to make the settings on the Shared Components tab page before you can make settings on the Instances tab page.

On the Instances tab page, you can display a list of all RTOM instances in the environment and you can create, edit, enable, or disable individual RTOM instances.

On the Channel Integration Routers tab page, you can define a list of integration routers and their server locations. Channel integration routers are a middle layer between RTOM and the applications with which RTOM is integrated. They receive the events and route them to the appropriate RTOM instance.

When you finish entering the settings, you have to publish the data to update RTOM with all changes. For more information, see Publishing Real-Time Offer Management Updates [Page 38].

Page 37: RTOM Integration Guide RTOM_Integration_Guide[1].pdf[1]

18.02.2011

(C) SAP AG 37

Working with Real-Time Offer Management Recommendation Parameters

Recommendation parameters influence the detection of offers and the learning of SAP Real-Time Offer Management (RTOM). In the RTOM Application Toolkit - Deployment Parameters view, you can set the following parameters:

Channel parameters, such as the average number of incoming interactions in 24 hours for a channel (interaction channel and Web), the average number of active offers in RTOM for a channel, and the number of days for learning

Data recall parameters, such as the number of customer history interactions, the maximum number of offers to be recommended, and the maximum number of messages to be recommended

When you finish entering the settings, you have to publish the data to update RTOM with all changes. For more information, see Publishing Real-Time Offer Management Updates [Page 38].

Page 38: RTOM Integration Guide RTOM_Integration_Guide[1].pdf[1]

18.02.2011

(C) SAP AG 38

Publishing Real-Time Offer Management Updates

After creating or editing events, data sources, landscape configuration settings, feedback, deployment, and recommendation parameters, you have to publish the data to update SAP Real-Time Offer Management (RTOM) with all changes.

Features

In the corresponding views of the RTOM application toolkit, there is a Publish pushbutton. To update RTOM with all changes, choose Publish in any of the views. Note that events that are in status Inactive will not be published.

Note

The publish operation may take some time and during this time RTOM does not perform offer detection and does not send detection results. The publish operation stops the RTOM services, loads all new and updated data, and restarts the RTOM services. Requests sent to RTOM during the downtime do not receive a response. The requests that arrive after all RTOM services have been restarted will receive a response.

Page 39: RTOM Integration Guide RTOM_Integration_Guide[1].pdf[1]

18.02.2011

(C) SAP AG 39

RTOM Application Toolkit Monitoring Tools

The following monitoring tools are available in the SAP Real-Time Offer Management (RTOM) application toolkit:

Session viewer

You can use the session viewer to view information about current sessions. For more information, see Working with the Real-Time Offer Management Session Viewer [Page 40].

Job log

You can use the job log to view the status of executed and planned jobs.

For more information, see Working with the Real-Time Offer Management Job Log [Page 41].

Page 40: RTOM Integration Guide RTOM_Integration_Guide[1].pdf[1]

18.02.2011

(C) SAP AG 40

Working with Real-Time Offer Management Session Viewer

In the RTOM Application Toolkit - Session Viewer view, you can perform the following tasks:

On the Customer Sessions and Agent Sessions tab pages, you can monitor the customer and agent sessions by instance and channel. To view all active sessions, select contains, leave the text field empty, and choose Go. While viewing a specific session, you can view all related condition groups and their values. To view the condition group data in XML format, select the relevant condition group and choose Display.

On the Summary tab page, you can monitor how many condition groups exist per instance, per channel, and in total.

Page 41: RTOM Integration Guide RTOM_Integration_Guide[1].pdf[1]

18.02.2011

(C) SAP AG 41

Working with the Real-Time Offer Management Job Log

The job log displays both scheduled jobs and jobs that have been executed. For executed jobs, the success or failure status is also displayed.

The following jobs are shown in the job log:

System Landscape Directory (SLD) jobs

SLD jobs are scheduled as recurrent and send up-to-date data about Real-Time Offer Management (RTOM) instances, servers, and so on, to the SLD.

Publish jobs from marketing in SAP Customer Relationship Management (SAP CRM) to RTOM (such as publish condition groups or campaigns)

Note that publish jobs are relevant if you have integrated RTOM with marketing in SAP CRM.

To view a list of scheduled jobs, choose the Scheduled Jobs tab and to view a history of executed jobs, choose the Job Execution Log tab.

To display the selected job log, select the job type and a range of dates as search criteria and choose Go.

Page 42: RTOM Integration Guide RTOM_Integration_Guide[1].pdf[1]

18.02.2011

(C) SAP AG 42

RTOM Application Toolkit Business Tools

The following business tools are available in the SAP Real-Time Offer Management (RTOM) application toolkit:

Business Logic Studio

You can use the Business Logic Studio to design, view, and manage Real-Time Offer Management offers, messages, condition groups, and attributes.

The business logic information that makes up real-time offers and messages is defined using expressions.

An expression is a logical or arithmetical expression that contains attributes from any condition group.

There are two types of expressions:

o Logical expressions

Logical expressions define eligibility conditions, agent skills, and recipient profile conditions. Logical expressions are always evaluated as either true or false.

Example

“Does the customer have a checking account?” or “Is the customer a preferred customer?” are both simple examples of logical expressions.

Each logical expression consists of one or more rules. Each rule is an equation built from condition group attributes and operators that is evaluated as either true or false.

o Computed expressions

Computed expressions display customer data that is calculated to obtain further information.

Example

To display the customer’s monthly salary, the customer’s annual salary is divided by 12.

For more information, see Working with the Real-Time Offer Management Business Logic Studio [Page 44].

Simulator

The simulator can simulate a runtime event and generate a report on the simulation. The report contains the detection results for a specific customer. You can therefore use the simulator to display which offers are suitable for a specific customer and view the detailed reasons for the suitability of the offer for the customer.

You can also save the simulation and its report for later use.

Page 43: RTOM Integration Guide RTOM_Integration_Guide[1].pdf[1]

18.02.2011

(C) SAP AG 43

For more information, see Working with the Real-Time Offer Management Simulator [Page 63].

Page 44: RTOM Integration Guide RTOM_Integration_Guide[1].pdf[1]

18.02.2011

(C) SAP AG 44

Working with Real-Time Offer Management Business Logic Studio

If you have not integrated SAP Real-Time Offer Management (RTOM) with marketing in SAP Customer Relationship Management (SAP CRM), you can use the RTOM Application Toolkit – Business Logic Studio view to define and maintain real-time offers and messages, and condition groups and attributes.

After you create or edit a real-time offer, message, condition group, or attribute, you have to trigger the publishing of the data to update RTOM with all changes. For more information, see Publishing Real-Time Offer Management Updates [Page 38].

Note

If you have integrated RTOM with marketing in SAP CRM, you create real-time offers and messages in marketing, and condition groups and attributes in Customizing for Customer Relationship Management.

Features

Real-Time Offers

The main advantage of RTOM is that it can determine which real-time offers should be proposed to which customers, based on the customer's eligibility for the product or service being offered, the likelihood that they will accept the real-time offer, the organization’s business goals and priorities, and many other factors. To provide the system with the ability to make these decisions, on the RTOM Offers tab page, you can define the following for each real-time offer:

Customer’s eligibility

You can define the rules that determine which customers are eligible to receive the real-time offer.

To define the profiles of customers who are eligible to receive the real-time offer, on the Eligibility and Agent Skills tab page, choose Edit next to the Eligibility field, and in the Expression Editor dialog box, enter the conditions that define the customer profile. The

parameters you can use come from the Customer condition group and are based on the

customer’s personal details and their use of services, as well as other details that the organization defines.

An auto-complete feature is available in the Business Logic Studio to help you build SAP Real-Time Offer Management rules. Each time you press a key, a request is sent to RTOM to check the syntax of the current expression and to send back a list of possible auto-complete options. If the syntax of the current expression is correct, the possible auto-complete options is displayed in a dropdown list. To navigate in the dropdown list,

use can use the DOWN ARROW or the mouse. To select a value, you can press TAB or

ENTER, or use the primary mouse button. To close the dropdown list, press ESC.

For more information about the expressions you can use in the Expression Editor dialog box, see Expressions [Page 53].

Page 45: RTOM Integration Guide RTOM_Integration_Guide[1].pdf[1]

18.02.2011

(C) SAP AG 45

Example

To build an expression that defines that there is at least one sales order in which product ID is a notebook, you can use one of the following syntaxes:

o Count(Customer.SaleOrder.Select(ProductId==”Notebook”))>0

o Exist(Customer.SaleOrder, ProductId==”Notebook”)

o “Notebook” in Customer.SaleOrder.ProductId

To build an expression that defines that there is at least one contract that is about to end in the next month, you can use the following syntax:

Count(Select(Customer.Contracts, EndDate is in next 1 months))>0.

Note that the condition groups and attributes mentioned in the examples may not exist in your system.

Agent’s skills

You can define the skills of the agents who can promote the real-time offer. The system recommends a real-time offer only to agents who meet the agent skill criteria that have been defined for the real-time offer.

To define the skills of agents who are eligible to promote the real-time offer, on the Eligibility and Agent Skills tab page, choose Edit next to the Agent Skills field, and in the Expression Editor dialog box, enter the conditions that define the agent skills. The

parameters you can use come from the Agent condition group and are based on the

agents’ personal details and skills, as well as other details that the organization defines.

Recipient profiles

You can define the recipient profiles for the real-time offer. A recipient profile is a profile of a customer who the organization believes will have a positive response to the real-time offer. If a customer matches a recipient profile and all other criteria are met, the real-time offer can be recommended to this customer. The real-time offers that are actually recommended by the system are determined by past experience with this customer and the real-time offer itself.

To define a recipient profile, on the Recipient Profile tab page, choose Create. To define the conditions for the recipient profile, in the Recipient Profile Editor dialog box that appears, choose Edit after the Recipient Profile Rule field. The Expression Editor dialog box is displayed.

To define suitability rules, in the Recipient Profile Editor dialog box, choose Edit after the Suitability field. In the Suitability Editor dialog box that appears, you can enter either a text or expression in the Text Editor or Expression Editor dialog box respectively.

Note

The text you enter in the Suitability field may include additional text to help the agent. For example, in a telecommunications company, the system may select customers who have had an account for more than five years for a loyalty reward offer of reduced international call charges. The text in the Suitability field could be If the customer is not interested in this offer, recommend the free local calls offer. When using RTOM with the interaction

Page 46: RTOM Integration Guide RTOM_Integration_Guide[1].pdf[1]

18.02.2011

(C) SAP AG 46

center (IC), this text appears in the Suitability column of the real-time offer list that is presented to the IC agent.

Optionally, you can define additional refinement criteria that the customer may or may not meet. Refinement criteria provide the system with statistics regarding other aspects of the customer’s profile that may influence the probability of the real-time offer being accepted. To define refinement criteria for the recipient profile, in the Recipient Profile Editor dialog box, choose Create in the Refinement Criteria List area. The Expression Editor dialog box is displayed.

Note

You can add several recipient profiles to the same real-time offer and product. Each profile is scored differently.

Note

If you do not define event rules and release the real-time offer, you must define a recipient profile.

Triggering events

You can define one or more events that, when they occur, make the real-time offer particularly attractive.

An event defines a change in the system where the change can refer to the customer profile, agent profile, general factors, or can be triggered by the customers (such as a request for a change of contract). Events can be based on any parameter in the system and they determine to whom real-time offers can be made. An event based on customer data may be defined as the customer reaching retirement age, changing marital status, or having a child. Events can also depend on external factors, such as economic indicators. For example, if a particular interest rate goes up, some real-time offers may now be more attractive than before. This may be particularly relevant for customer-initiated events, such as a complaint.

To define an event, on the Event Rules tab page, choose Create. To define the event rules, in the Event Rule Editor dialog box that appears, choose Edit after the Event Rule field. The Expression Editor dialog box is displayed.

To define suitability rules, in the Event Rule Editor dialog box, choose Edit after the Suitability field. In the Suitability Editor dialog box that appears, you can enter either a text or expression in the Text Editor or Expression Editor dialog box respectively.

Note

If you do not define a recipient profile and release the real-time offer, you must define an event rule.

In addition to defining the business rules, there are a number of other parameters that may affect a real-time offer. These include the following:

Priority

You can define the priority of the real-time offer. The priority is taken into account when deciding which one of the valid real-time offers is presented. Giving a higher priority

Page 47: RTOM Integration Guide RTOM_Integration_Guide[1].pdf[1]

18.02.2011

(C) SAP AG 47

means that this real-time offer has a better chance of being promoted, however, the customer preferences (from experience) are also taken into account.

If you assign a priority Always Show, the real-time offer will always be presented if the customer is eligible and the maximum number of real-time offers to be presented is not reached.

If you assign a priority Show by Default, the real-time offer will be presented only if it is suitable for the customer and there are no other offers available.

If you choose Show by Priority, you must also choose a value from the Priority dropdown list. Real-time offers will be presented if the customer is eligible and the maximum number of real-time offers (with priorities Always Show and Show by Default) to be presented is not reached.

Re-offer interval

You can define the number of days the system waits before re-offering the real-time offer. That is, if a customer rejects a real-time offer, the system waits for a specified number of days before it can make the same real-time offer to the same customer again.

Status

You can set the status of the real-time offer to Released so that it can be part of the detection process.

Validity dates

You can define the time period during which the real-time offer is valid. You can suspend and reactivate the real-time offer at any time during that time period.

Channels

You can activate a real-time offer for one or more channels, for example, you can select IC and Web.

Example

When using RTOM in the IC, you can activate a real-time offer only for the inbound channel.

Product

If RTOM is integrated with the IC or with a solution such as SAP for Telecommunications or SAP for Utilities, you can link a real-time offer to the product that it promotes. For example, when using RTOM in the IC, the product ID appears as part of the information for a real-time offer in the IC. The integration of RTOM with the IC enables an agent to add the product of a real-time offer to the cart and immediately turn it to a sales or service order.

To link a product to a real-time offer, on the Product tab page, choose Edit. If RTOM is integrated with the IC or with a solution such as SAP for Telecommunications or SAP for Utilities, the following search criteria fields are available: ID, Category ID, Description, and Type. In the ID field, enter the whole or part of the product ID and choose Search. Select the product that you want to link to the real-time offer and choose Set.

Page 48: RTOM Integration Guide RTOM_Integration_Guide[1].pdf[1]

18.02.2011

(C) SAP AG 48

RTOM assigns version numbers to real-time offers. The version of a real-time offer is increased automatically if changes are made to the real-time offer.

Messages

Messages are alerts or information that the organization wants to make customers aware of when they contact the agents of the organization. Messages can also be used to prompt an agent with the next best action to take in a particular situation. The system initiates messages when one or more events occur. Messages can be personalized or general.

Example

A problem with a customer’s account could be the event that triggers a message to inform them of this fact. A change in the billing system could trigger a message that explains that because of this change the customer’s next bill will be delayed.

You can define the following items for each message, in the same way you define these items for a real-time offer:

Customer’s eligibility

Agent’s skills

Triggering events

Status

Validity dates

Channels

Condition Groups

Condition groups describe customers, agents, and other entities. Each condition group is broken down into attributes. For example, personal details, such as first name and last name, are attributes of the customer condition group. Another example of a condition group is the agent. The agent’s attributes are their personal details, skills, and so on.

Condition groups and their attributes are set up specifically for each organization to reflect their needs and the available data. For example, in a bank, customers could have attributes regarding their account activity, whereas in a cell phone company, customers’ data consists of the calls the customer has made and received. The condition groups available are the ones that have been defined by your organization. The attributes of a given condition group can be organized into categories.

All attributes, except computed attributes, are linked to external data sources or arrive in a real-time XML event. An attribute can be used in the Business Logic Studio but must be linked to an external data source through the relevant RTOM configuration file to work at runtime or can arrive in a real-time XML event.

RTOM comes with a default set of condition groups, of which these are the most important:

Condition Group

Description

Agent The agent’s attributes, such as their personal details or skills

Page 49: RTOM Integration Guide RTOM_Integration_Guide[1].pdf[1]

18.02.2011

(C) SAP AG 49

Condition Group

Description

Customer The customer’s attributes, such as their personal details or preferences

Session Customer

Information about a customer that is used and updated during a particular session. For example, in an IC, this could be the list of real-time offers that were found suitable to be offered to the customer.

GMT The current time and date

Different condition groups and attributes are available for the different industry solutions. If a condition group or attribute is used in a real-time offer, message, another condition group, or attribute, you cannot delete it. To delete the condition group or attribute, you must delete the objects that use it or remove it from the objects that use it.

On the Condition Groups tab page, you can create new condition groups and attributes and view the existing ones.

Condition Group Attributes

Condition group attributes can be the following types:

Semantic

Category

Computed

Data

Table

Condition group attributes of type Data can have the following data types:

Boolean – true or false

DateTime – date and time

TimeSpan – time interval type

Number – numerical value; equivalent to float

String – Unicode string of characters

The validity of the data type is checked during compilation.

The following table provides more information about the attribute types you can use to create expressions:

Attribute Type

Description Example

Semantic

A field that can hold one of a few predefined values. You define a semantic field by defining logical expression and value pairs. If the logical expression is true, then the semantic field is

A semantic field named Age-Type can have one of the following values: Baby, Child, Teenager, or Adult, where each

Page 50: RTOM Integration Guide RTOM_Integration_Guide[1].pdf[1]

18.02.2011

(C) SAP AG 50

Attribute Type

Description Example

assigned the value associated with that expression.

The order in which the expressions appear is significant. The software only advances to the next expression if an expression is evaluated as false. The value of the semantic field is the value of the first logical expression that is evaluated as true.

To create a semantic attribute for a condition group, perform the following steps:

1. In the RTOM Application Toolkit – Business Logic Studio view, choose the Condition Groups tab.

2. Select a condition group and choose Edit.

3. Under Attributes, choose Semantic from the dropdown list, choose Create, and enter a name and description.

4. To define the logical expression and value pairs, under Tests, choose Create and enter the required data and the expressions.

5. To make one of the expressions the default value, in case none of the other expressions are evaluated as true, choose Set As Default.

of these is defined as follows:

If age < 2 then Age-Type = Baby

If age < 10 then Age-Type = Child

If age < 18 then Age-Type = Teenager

If age >=18 Age-Type = Adult

Category A category groups related attributes.

An address category might contain the attributes city, street, house number, country, and so on.

Computed A field whose value is derived from the values of other fields. Computed fields can be Boolean or numeric.

A sum of the net value of a customer’s sales orders.

Data

This attribute type can have five attribute data types: Boolean, DateTime, number, string, and TimeSpan. The TimeSpan data type can only be created in the expression editor as part of an expression.

For more information, see the table below.

Table

A table is a set of attributes that belong to the same condition group.

To create a table attribute for a condition group, perform the following steps:

A sales order table can contain all sales orders of a customer. It can contain different attributes, for example, sales order ID, product ID, date, and

Page 51: RTOM Integration Guide RTOM_Integration_Guide[1].pdf[1]

18.02.2011

(C) SAP AG 51

Attribute Type

Description Example

1. In the RTOM Application Toolkit – Business Logic Studio view, choose the Condition Groups tab.

2. Select a condition group and choose Edit.

3. Under Attributes, choose Table from the dropdown list, choose Create, enter a name and description, and choose OK.

4. To add attributes for the table, select the attribute you created and choose Edit.

5. Under Attributes, choose the attribute type you want to add, choose Create, enter the required data, and choose OK.

Repeat the last step to add as many attributes as you want to the table.

so on.

The following table provides more information about the data types that attributes of type Data

can have:

Attribute Data Type

Description Example

Boolean A field that has only two optional values (true or false). A Boolean field can be a simple field or a field in a table.

Customer has checking account is true uses a Boolean field.

DateTime

A field that uses a date. The following different values are available from the DateTime fields:

Day of the month

Month of

Year of

Day of the week of

The paycheck arrived before the 10th of the month uses a day of the month time-date field.

Customer took a loan in January uses a month of DateTime field.

Customers took a loan in 1999 uses a year of DateTime field.

Customer makes a deposit in checking accounts every Tuesday uses a day of the week DateTime field.

Number

A field that uses a number. A numeric field can be a simple field or a field in a table.

In a table, the following are the possible numeric table functions:

In Customer has an account balance of over USD 5000, the account balance is a numeric field.

The following are examples of numeric table functions:

Page 52: RTOM Integration Guide RTOM_Integration_Guide[1].pdf[1]

18.02.2011

(C) SAP AG 52

Attribute Data Type

Description Example

Average

Minimum

Maximum

Sum

The average sum of deposits is at least USD 200.

The minimum deposit amount is more than USD 100.

The maximum deposit amount is less than USD 1000.

Customer whose total loans equal USD 10,000

String A field that uses a textual description. Agent who has Agent Skill G1 uses a string field.

TimeSpan

A field containing a number that represents a duration of time. This duration can be in days, months, or years. A TimeSpan field can be a simple field or a field in a table. A TimeSpan field is rarely used. The common practice is to use TimeSpan as a return value to a computed expression between dates.

Note

TimeSpan is a numeric value so all numeric operations can apply.

To calculate the customer’s age in years, you create a computed field Age that contains the calculation of the current time minus the customer’s birth date. This Age field is of type computed but returns a TimeSpan value in years.

Page 53: RTOM Integration Guide RTOM_Integration_Guide[1].pdf[1]

18.02.2011

(C) SAP AG 53

Expressions

You build expressions from elements, which can be condition groups and their attributes, constant values, or operations (mathematical, Boolean, or queries).

Features

Operators

The following operators are supported in SAP Real-Time Offer Management expressions:

Operator Description Example

+, -, /, * Arithmetical operators for numeric expressions

CONDITIONGROUP.SALARY + 5

. Field membership CUSTOMER.NAME

[n] Table index CUSTOMER.SALEORDERS[9]

==, != Equality for any type (is equal to, is not equal to)

CUSTOMER.CITY == “New York”

<, >, =>, =<

Comparison for numeric and string (lexicographic sorting) (is less than, is more than, is more or equal to, is less or equal to)

CUSTOMER.SALARY > 1000

&&, ||, ! Boolean and, Boolean or, not (Unary)

CUSTOMER.HASDSL &&! CUSTOMER.HASCABLE

+ String concatenation CUSTOMER.FIRST + “ “ + CUSTOMER.LAST

contains

String containment function used to check if a string field contains a specified substring

CUSTOMER.NAME CONTAINS “Junior”

is, is not, is before, is after, was at least ... years/months/days ago, was in last ... years/months/days, is in next ... years/months/days

Date/Time operators, Boolean date in span

"8/9/2012" is in next 3 years

in Containment in a table (for any type)

CUSTOMER.CURRENTCONTACT IN CUSTOMER.CONTACTS.SELECT(POD_ID==300).CONTNUMBER

The following table shows the attribute types and the operators that can be used after them:

Page 54: RTOM Integration Guide RTOM_Integration_Guide[1].pdf[1]

18.02.2011

(C) SAP AG 54

Attribute Type Operator

Category

Table

Also condition groups

.

Table [n]

The following table shows the attribute data types and the operators that can be used after them:

Attribute Data Type Operator

String

Number

DateTime

TimeSpan

>

>=

<

<=

String

Number

DateTime

TimeSpan

Boolean

==

!=

Number

String

DateTime

TimeSpan

Also whenever a unary operation is allowed

+

Number

DateTime

TimeSpan

Also whenever a unary operation is allowed

-

Number *

/

Boolean &&

||

Page 55: RTOM Integration Guide RTOM_Integration_Guide[1].pdf[1]

18.02.2011

(C) SAP AG 55

Attribute Data Type Operator

!

String contains

String

Number

Boolean

DateTime

in

DateTime Date/Time operators

Functions

The following functions are supported by SAP Real-Time Offer Management expressions:

Function Description Example

Avg(x, [<element>])

Average on a table that has numerical value elements

Avg(CUSTOMER.SALEORDERS, NETVALUE)

Min(x, [<element>]),

Max(x, [<element>])

Sum(x, [<element>])

Minimum, maximum, sum Min(CUSTOMER.SALEORDERS, NETVALUE)

Count(x) Counts the number of elements in a table Count(CUSTOMER.SALEORDERS)

Select(x, condition)

Returns a list of elements in a table according to a certain condition

Select(CUSTOMER.SALEORDER, NETVALUE>=100)

Find(x, condition)

FindFromStart

FindFromEnd

Returns the index of an element in a table that matches the condition.

If no element matches the condition, -1 is returned.

Find(CUSTOMER.SALEORDER, NETVALUE>=100)

Exist(x, condition)

Returns true if one of the table elements matches the condition

Exist(CUSTOMER.SALEORDER, NETVALUE>=100)

IsValid(field) Returns true if a value for the specific field exists

IsValid(CUSTOMER.WEDDINGDATE)

DateYear(x)

DateMonth(x)

DateDay(x)

Returns a numerical value when applied to a DateTime expression

DateYear(CUSTOMER.DATEOFBIRTH)

Page 56: RTOM Integration Guide RTOM_Integration_Guide[1].pdf[1]

18.02.2011

(C) SAP AG 56

Function Description Example

DayInWeek(x)

Note

There is dual syntax for functions. The following two syntaxes are correct:

table.function(param)

function(table, param)

Formal Expression Lexicography

Expressions can be categorized by the type of the expression outcome. Types can be string, category, table, DateTime, TimeSpan, number, or Boolean. String, DateTime, and TimeSpan constants must be enclosed by quotation marks (“). For most types, expressions can be either constant or evaluated. Expressions returning all types are classified as returning a field.

Field & Attribute Expressions

A field is the basic element on which conditions and evaluation expressions are applied. A field is composed of a condition group name and an attribute. Attributes are sometimes used independently.

A field is a string describing an attribute of a condition group, such as the following:

A direct attribute, for example, Customer.CustomerNameGroup1 (CONDITIONGROUP.ATTRIBUTE)

A sub-attribute of type category, for example, Customer.Address.HouseNo (CONDITIONGROUP.CATEGORY.ATTRIBUTE)

A member attribute of type table, for example, CUSTOMER.SALESORDER[3] (CONDITIONGROUP.TABLE)

A sub-attribute of type table, for example, CUSTOMER.INTERACTIONHISTORY[0].IMPORTANCE (CONDITIONGROUP.TABLE.SUBATTRIBUTE)

Note that a sub-attribute of type table may also be a table.

The following values are possible:

AttributeName: = "[a-zA-Z][a-zA-Z_0-9]"

ConditionGroupName: = "[a-zA-Z][a-zA-Z_0-9]*"

TableAttribute: = <Attribute> | <TableAttribute>

Attribute: = <AttributeName> | <Attribute>.<AttributeName> |

<TableAttribute>.[<Number>]

Field: = <ConditionGroupName>.<Attribute>

Category: = <ConditionGroupName> | <Attribute>.<AttributeName>

Page 57: RTOM Integration Guide RTOM_Integration_Guide[1].pdf[1]

18.02.2011

(C) SAP AG 57

Example

CUSTOMER.INTERNALSESSIONID – field of a condition group

SESSIONCUSTOMER.AGENTS[0] – table item

SESSIONCUSTOMER.S_ALRS[0].S_ID – in this expression, the table is S_ALRS, the attribute of the first table element is S_ID, and the table element itself is a category

SESSIONCUSTOMER.S_ALRS[0].S_SUBSCRIBERS[0].S_SUBSCRIBERID – in this expression, the S_SUBSCRIBERS table is nested in the S_ALRS table

String Expressions

Strings can be expressed by fields defined as <string> such as the following:

ConstString: = ""*""

StringExpr: = <Field of type string>

String: = <ConstString> | <StringExpr> | <String> + <String>

Example

CUSTOMER.INTERNALSESSIONID + "test' – field of a condition group of type string concatenation with constant string

DateTime Expressions

DateTime can be expressed either by a regular field that was defined as a DateTime, a string, or by a DateTime operation.

DateTime:= <DateTimeString> | <DateTimeExpr>

DateTime Strings

DateTime and TimeSpan strings are regular strings participating in the DateTime related operations – Boolean and arithmetic.

The compiler validates that the string is a valid DateTime/TimeSpan according to the current locale definition.

SEP: = "/" | ":"

Day: = "1" | … |"31"

Month: = "1" | … |"12"

Year: = [1-9][0-9][0-9][0-9]

DateTimeString: = <Month><SEP><Day><SEP><Year> |

<Day><SEP><Month><SEP><Year>

Note

DateTime strings are dependent on the locale format.

Page 58: RTOM Integration Guide RTOM_Integration_Guide[1].pdf[1]

18.02.2011

(C) SAP AG 58

DateTime Expressions

DateTimeFunc: = "Date"

TableDateFunc: = "Max" | "Min"

DateTimeValue: = <DateTimeFunc>(<DateTimeExpr>) |

<DateTimeExpr>.<DateTimeFunc>()

DateTimeExpr: = <Field> | <DateTimeValue>

<TableDateFunc>(<TableExpr>,”<Attribute>”) |

<TableExpr>.<TableStringFunc>(“<Attribute>”) |

<DateTimeExpr> + <TimeSpan> | <TimeSpan> + <DateTimeExpr>

Example

o "19-10-2008" – Simple date string

o "10/19/2008" – Simple date string

o "19-10-2008 22:10:15" – Simple DateTime string

o "19-10-2008 22:10:15 PM" – Simple DateTime string

o Date(SESSIONCUSTOMER.AGENTS[0].”STARTTIME”) – date of a DateTime type field

o Min(SESSIONCUSTOMER.AGENTS, "STARTTIME")

o SESSIONCUSTOMER.AGENTS[0].”STARTTIME” + "00 00 00 01"

TimeSpan Expressions

TimeSpan is a string representing a sequence of four 2–digit numbers. It is used to express a subtraction between two dates, in months, days, hours, or minutes, for example, SessionCustomer.Agents[0].EndTime - SessionCustomer.Agents[0].StartTime > "00 01 01 01"

TimeSpan: = "[0-9][0-9] [0-9][0-9] [0-9][0-9] [0-9][0-9]" |

<DateTimeExpr> - <DateTime> | <DateTime> - <DateTimeExpr>

Example

"00 01 01 01" – Simple TimeSpan string

"19-10-2008 22:10:15" – SESSIONCUSTOMER.AGENTS[0].”STARTTIME”

TableExpressions

Tables can be expressed either by a regular field that was defined as a table or by a select operation.

TableExpr: = <Field> | <SelectExpr>

Page 59: RTOM Integration Guide RTOM_Integration_Guide[1].pdf[1]

18.02.2011

(C) SAP AG 59

SelectExpr - Select Operation Expression

You apply the select operation on table expressions, which returns a table with the matching results.

SelectExpr: = Select(<TableExpr>, <Condition>) |

<TableExpr>.Select(<Condition>)

Example

Select(CUSTOMER.CUSTOMERNUMS, true)[0] – first item of a table returned by select

Select(Select(CUSTOMER.CUSTOMERNUMS, CUSTOMER.INTERNALSESSIONID == "4") , Count(CUSTOMER.CUSTOMERNUMS) == 3) – Select return value is a table, so it can be the first field in another select function. This example shows two condition applications that could also be implemented using the following: Select(CUSTOMER.CUSTOMERNUMS, CUSTOMER.INTERNALSESSIONID == "4" && Count(CUSTOMER.CUSTOMERNUMS) == 3)

CUSTOMER.CONTRACTS.SELECT (CONTRACT_POD_ID IN CUSTOMER.PREMISES.PODS.SELECT(PODTYPE == “GAS”). POD_ID)

Number Expressions

Numbers can be expressed using simple expressions, a field that was defined as a number, or an operation whose outcome is a number.

Numerical operations and numeric return value themselves can be further divided.

ConstNumber: = <int> | <unsigned int> | <decimal>

NumberExpr: = <Field> | <FindExpr> | <ArithmeticExpr> | <DateTimeOpExpr>

<Number>: = <ConstNumber> | <NumberExpr>

Example

12345 – simple integer

12,345 – simple integer

-12,345 – negative integer

123.45 – decimal digit number

Note

The ConstNumber expression is dependent on the locale format.

Find operation expression

You apply the find operation on table expressions, returning an integer holding the found field location in the table, or -1 if not found.

FindFunc: = “Find” | “FindFromStart” | “FindFromEnd”

Page 60: RTOM Integration Guide RTOM_Integration_Guide[1].pdf[1]

18.02.2011

(C) SAP AG 60

FindExpr: = <FindFunc>(<TableExpr>, “<BooleanExpr>”) |

<TableExpr>.<FindFunc>(“<BooleanExpr>”)

Example

o Find(SESSIONCUSTOMER.S_ALRS,false) – simple find function

o SESSIONCUSTOMER.AGENTS[Find(SESSIONCUSTOMER.S_ALRS,false)] – since the find expression returns a number, it can be used as a table index.

Arithmetic operation expression

BinaryMathOp: = "+" | "-" | "*" | "/"

TableMathFunc: = "Max" | "Min" | "Avg" | "Sum"

TableCountFunc: = "Count"

ArithmeticExpr: = <Number> <BinaryMathOp> <Number> |

<TableMathFunc>(<TableExpr>, “<AttributeName>”) |

<TableExpr>.<TableMathFunc>(“<AttributeName>”) |

<TableCountFunc>(<TableExpr>) |

<TableExpr>.<TableCountFunc>()

Example

o Find(SESSIONCUSTOMER.S_ALRS,false) + (-12,345) – operation between two number type expressions

o Count(CUSTOMER.SALEORDERS) – simple count operation

o Avg(SESSIONCUSTOMER.S_OFFEREDOPPS, s_BCRank)

DateTime arithmetic operations

There are several operations that can be applied on DateTime values, such as the following:

DateTimeOp: = "DayInWeek" | DateYear" | "DateMonth" | "DateDay"

DateTimeOpExpr: = <DateTimeOp>(<DateTimeExpr>) |

<DateTimeExpr>.<DateTimeOp>()

Example

DayInWeek(SESSIONCUSTOMER.AGENTS[0].STARTTIME)

Boolean Expressions

Boolean expressions include conditions applied on values, either fields, constants, or computed.

Page 61: RTOM Integration Guide RTOM_Integration_Guide[1].pdf[1]

18.02.2011

(C) SAP AG 61

Boolean expressions can be as follows:

Simple, for example, CUSTOMER.ID == "1535"

Functions, for example, CUSTOMER.ADDRESS.HOUSENO.ISVALID()

A composition of conditions using Boolean operators, for example, (CUSTOMER.ID == "1535") || CUSTOMER.ADDRESS.HOUSENO.ISVALID()

The condition expression is described by the following rules:

UnaryBoolOp: = "!"

BinaryBoolOp: = "&&" | "||"

BooleanConst: = "true" | "false"

BooleanExpr: = <BooleanConst> | <SimpleCond> | <BoolFunction> |

<UnaryBoolOp><BooleanExpr> | <BooleanExpr> |

<BinaryBoolOp><EooleanExpr> |

(<BooleanExpr>)

Simple condition operation expression

BasicOp: = "==" | "!="

NumericalOp: = "==" | "!=" | "<" | ">" | "<>" | "<=" | ">="

DateTimeOp: = "was in last … years | months | days" | " was at least … years | months | days ago " | "is in next … years | months | days"

SimpleCond: = <Number> <NumericalOp> <Number> |

<String><BasicOp><String> | <StringExpr>.Contains(<String>)

<DateTimeExpr> <BasicOp> <DateTime> |

<DateTime><DateTimeOp><DateTimeSpan> |

<DateTimeExpr><DateTimeOp><DateTimeSpan> |

<DateTimeExpr><DateTimeOp><DateTimeSpanExpr> |

<DateTime><DateTimeOp><DateTimeSpanExpr> |

<String> in <StringTableAttribute> |

<StringExpr> in <StringTableAttribute> |

<Boolean> in <BooleanTableAttribute> |

<BooleanExpr> in <BooleanTableAttribute> |

<Number> in <NumberTableAttribute> |

<NumberExpr> in <NumberTableAttribute> |

Page 62: RTOM Integration Guide RTOM_Integration_Guide[1].pdf[1]

18.02.2011

(C) SAP AG 62

<DateTime> in <DateTimeTableAttribute> |

<DateTimeExpr> in <DateTimeTableAttribute>

Example

o DayInWeek(SESSIONCUSTOMER.AGENTS[0].STARTTIME) == 4

o SESSIONCUSTOMER.AGENTS[0].STARTTIME == "19-10-2008 22:10:15"

o SESSIONCUSTOMER.AGENTS[0].ENDTIME - SESSIONCUSTOMER.AGENTS.Agents[0].STARTTIME > "00 01 01 01"

o Customer.Birthday was at least 3 years ago

o CUSTOMER.POD_ID IN SELECT (CUSTOMER.PREMISES.PODS, PODTYPE == “GAS”). POD_ID

Boolean function expression

ExistCond: = Exist(<TableExpr>,<BooleanExpr>) |

<TableExpr>.Exist(<BooleanExpr>)

ValueExpr: = <StringExpr> | <CategoryExpr> | <NumberExpr> | <TableExpr> |

<DateTimeExpr>

IsValidCond:= IsValid(<ValidExpr>) | <ValueExpr>.IsValid()

BoolFunction: = <ExistCond> | <IsValidCond>

Example

o CUSTOMER.SALEORDERS.Exist(ORDERID == CUSTOMER.SALEORDERS[0].ORDERID)

o SESSIONCUSTOMER.AGENTS[0].STARTTIME.IsValid()

Page 63: RTOM Integration Guide RTOM_Integration_Guide[1].pdf[1]

18.02.2011

(C) SAP AG 63

Working with the Real-Time Offer Management Simulator

You can use the RTOM Application Toolkit - Simulator view to simulate a runtime event and detection of real-time offers and messages for a specific customer. You can generate a report for the simulation that contains the detection results for a specific customer. You can therefore use the simulator to test which real-time offers and messages are suitable for a specific customer and view the detailed reasons for their suitability. You can also save the simulation and its report for later use.

It is also possible to save a simulation automatically by recording a session in a real-time environment. For example, if you have integrated RTOM with SAP for Utilities, you can make settings to record the user sessions in the Interaction Center. All events in a session that trigger RTOM detection will then be automatically saved and available in the RTOM Application Toolkit - Simulator view.

Note

When you make the settings to record a particular user's sessions, none of this user's sessions will be taken into account in the RTOM learning mechanism. You can record user sessions to analyze the simulation results offline.

Activities

To simulate the execution of a runtime event, select a runtime event from the list of available

events for simulation and choose Apply Selection (the available events are based on the start

session tmpl that is delivered by default).

A window opens for the selected event with the following tabs:

Simulation Data

On the Simulation Data tab page, you can view the event structure, enter data, and add items to the event.

Configuration

On the Configuration tab page, more advanced users can add optional information and perform the following tasks:

o Save the simulation result and enter a name for the saved simulation

o Include a self-test offer

The self-test offer is the RTOM Demo Offer that is delivered by default. It is

predefined to always be successful. That is, if you choose this option, at least this offer should appear on the simulation report as passed.

o Include offers that have no active channels

o Set localization settings such as date, time and number formats, and language for the simulation event

o Limit the maximum number of offers to be detected

Page 64: RTOM Integration Guide RTOM_Integration_Guide[1].pdf[1]

18.02.2011

(C) SAP AG 64

Once the event and the optional configuration data is complete, you can choose Run Simulation.

Saved Simulations

On the Saved Simulations tab page, all saved simulation results are listed per session.

To view a saved simulation, select a session and choose Display Events. All events that belong to the selected session and for which detection was performed are listed. Select an event from the list and choose Display.

Note that when a simulation is saved automatically by recording a session in a real-time environment, all events for an unidentified business partner are listed per the user that ran the simulation. The business partner and session are shown as Unidentified.

At the end of the simulation, a simulator report is created and displayed in a new window. It contains the following sections:

General details

Customer ID and total number of offers and messages.

Product offer detection summary

List of offers and their statuses (passed or failed) and the phase in which each offer failed.

Offers detection report

All test phases and statuses for each offer.

This information is followed by detailed information about the offer simulation.

Messages detection report