RTOM Integration Guide RTOM_Integration_Guide[1].pdf[1]
-
Upload
naveen-reddy -
Category
Documents
-
view
149 -
download
1
description
Transcript of RTOM Integration Guide RTOM_Integration_Guide[1].pdf[1]
SAP Real-Time Offer Management
Integration Guide
Release 7 .1 SP01
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.
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
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.
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
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).
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>
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.
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
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.
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:
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.
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:
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
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
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
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
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.
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>
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.
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.
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 .
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
18.02.2011
(C) SAP AG 24
Example
You can map it to event IBaseConfirmed.
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
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.
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.
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].
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.
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.
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.
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.
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.
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].
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].
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].
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].
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.
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].
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.
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.
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.
18.02.2011
(C) SAP AG 43
For more information, see Working with the Real-Time Offer Management Simulator [Page 63].
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].
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
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
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.
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
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
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
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:
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.
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:
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 &&
||
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)
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>
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.
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>
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”
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.
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> |
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()
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
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