Overview
Surveys in CRM are used to gather information from specific users. Using the survey tool questionnaires, surveys and opinion polls can be created and managed.
Survey Tool
The Survey Tool contains the main maintenance components, required for managing the surveys. The survey tool is available in the SAPGUI in the survey suire using transaction CRM_SURVEY_SUITE. The main components are the survey repository and the survey builder. The survey builder is available in the WEB UI as well.
Survey Repository
The survey repository contains the survey style sheets and the survey parameters. This can be accessed in from the survey suite only, using the survey repository button.
The survey repository contains the files for the style sheets (cascading style sheets), the static survey XSLTs, the parameter files (XML), as well as layout XMLs for the survey print function.
- Cascading Style Sheets (CSS): for formating surveys - colors, background, style, etc
- Static Survey XSLTs: required for rendering the survey from the survey XML to the HTML
- Parameter XMLs: contain parameters for URL scenario
- Layout XMLs: contains layouts for print scenario
CATServer administration
The survey repository is the place to administrate the CATServer. The so called CATServer is responsible for transforming the survey XMLs to the HTML using the XSLT files. There are the following versions available in the CRM system:
- Internal CATServer(ABAP Based): This version makes use of the ABAP XSLT processor. Therefore, this version of the CATServer has some limitations with respect to functionality, performance and resource consumption (especially memory). Hence the JTS is the recommended CATServer with the performance point of view, however since the ABAP based CATServer is much more stable always recommend this one.
- JTS: Java Based Version of the CATServer JTS is Java based and provides the same functional scope than the external Java version. This requires no external installation. Inaddition, it is low in resource consumption and shows a much better performance than the internal ABAP-based CATServer.
Switching between the ABAP and the JTS CATServer can be done at runtime, there is no system restart required. To understand how to switch between the CATServer versions consider the following note 857535 - internal CATServer: Setup Instructions.
Survey Transformation
Transformation During the Presentation of the Survey:
- Survey is stored as an XML.
- While presenting the survey, XML goes through the XSLT transformation as a result of which the survey HTML gets generated - this is happens in 2 steps:
- Survey preparation (Build Time): the preparation step is done once for every survey. The first stylesheet (GenerateValues), extracts the default values from the survey and stores them in the survey vales template file. The second stylesheet (GenerateTemplate) generates the survey template.
- Survey Execution (Run Time): The Survey Template processes the Survey Values Templates and generates the Survey HTML with the default values.
There was a change done to the framework, more information is available in the following sap note:
1817152 - Migration to THTMLB framework for BSP scenarios
BSP Applications / SICF services
Accessing the survey usually goes via BSP application CRM_SVY_SERVER. The corresponding service in SIFC is maintained under the following path:
/default_host/sap/bc/bsp/sap/crm_svy_server
The service needs to be activated to make the survey accesible. In addition the logon user must not be maintained in the logon data tab.
Having a logon user maintained will lead to an error as documented in the following SAP note:
1795897 - BSP XSRF error messages
Technically the reason is that the BSP application CRM_SVY_SERVER has XSRF protection enabled - maintaining the user will therefore cause issues. This design is shipped with the following SAP note:
1591057 - Unauthorized use of application functions in CRM-BF-SVY
When accessing the survey from outside the company network, login credentials are required.
To enable the survey access from outside the network the BSP application CRM_SVY_PUBLIC was introduced with the following note:
1848237 - Error on calling SICF service crm_svy_server
The BSP application CRM_SVY_PUBLIC has no XSRF protection, hence can be accessed with an anonymous logon user defined in SICF.
Surveys need to be flagged 'publicly available' in the survey attributes to enable the access via CRM_SVY_PUBLIC.
Survey Builder
The survey builder is the tool to maintain and administrate the surveys. This is available in WEB UI as well as in SAPGUI in Survey Suite, both are supported.
Maintain Survey
A survey needs to be maintained for a specific application. Before creating the survey the application needs to be specified. Once the survey is created a blank survey is generated using a template. This looks rather similar in SAPGUI and WEB UI:
The survey contains a structure of different sections, including questions with certain answers categories and answer several answer options. This again looks similar in SAPGUI and WEB UI:
Rating
Each question may be weighted with a rating factor that weights the question in the evaluation. The higher the rating factor the greater the evaluation weighting of the question. Each answer option can also be weighted with a certain rating. In the evaluation the rating is calculated with multiplying the question's rating factor with the answer's rating.
The rating is used in the lead qualification scenario.
Each question has a specific rating factor, and each answer option has a specific rating.
Those ratings calculate the overall rating of the survey.
Answers
The answer contains of answer categories and answer options. Each answer can be flagged as display only and can be flagged as required - the required flag can't be set for checkbox groups and radio buttons, this is a restriction,
There are the following answer categories available:
Answer Category | Additional Information |
---|---|
Input Field | Free text input field; field lenght needs to be specified |
Text | Free text input field over several lines; field lenght needs to be specified |
Input Field for Date | date input field; value help available; input is validated |
Input Field for Time | time input field; value help available; input is validated |
Input Field for Number | number input field; input is validated |
Selection Button Group | radio buttons; just one answer option can be selected |
Checkbox / Checkbox Group | checkbox; more answer options can be selected |
List Box with Single / Multiple Selection | prefilled listbox |
Pushbuttons
Each Survey has the buttons SUBMIT and CANCEL with the same function code assigned
Questions for Marketing Attributes
Questions can be added for marketing attributes. The question is created for a certain marketing attribute assigned to a certain marketing attribute set, For this question system reads the available answer options from the Marketing Attribute Application.
Once the survey is used for a specific account the values are read from the account using function CRM_SURVEY_MKTATTR_PRESELECT and prefilled in the survey. After submitting the survey the changed marketing attributes are updated for the account using function CRM_SURVEY_MKTATTR_UPDATE.
Survey Attributes
Technical Settings
The technical settings in the survey attributes contains the information about data storage and evalutation:
- Save Completed Questionnaire
- Completed Questionnaire Changeable later: Specifies whether survey results can be changed later, if this is not flagged the survey can be filled out only once.
- Create Versions of Completed Questionnaires: Specifies whether versions are to be created for survey answers, if this is flagged, a new version is created for each answer, allowing the same data to be saved more than once. This allows the tracking the history of survey answers with their different versions
- Evaluation without Business Information Warehouse: enables simle evaluation tool from Survey Suite
- Evaluation with Business Information Warehouse: surveys are evaluated in BW
The callback to the application contains a function that is called before the survey is opened and after the survey is submitted. The Callback to PBO is called before the survey is loaded, this retrieves application data depending on the scenario. The Callback to PAI is called after the survey is submitted, this sends back the survey data to the application. Depending on the scenario there are the following functions delivered:
Scenario | PBO Module | PAI Module |
---|---|---|
Activity | CRM_SVY_ACTIVITY_PBO | CRM_SVY_ACTIVITY_PAI |
Lead | CRM_SVY_LEAD_PBO | CRM_SVY_LEAD_PAI |
IC Shared Service Center | CRM_SVY_ESSC_PBO | CRM_SVY_ESSC_PAI |
Contract | CRM_SVY_CONTRACT_PAI | |
Opportunity | CRM_SVY_OPPORT_PAI | |
Service | CRM_SVY_REPAIR_PAI CRM_SVY_SERVICE_PAI | |
Marketing | CRM_MKTCA_SURVEY_MKT_PBO | CRM_MKTCA_SURVEY_MKT_PAI |
Publicly Available
With setting the flag 'publicly available' the survey is accessed via the service CRM_SVY_PUBLIC rather than CRM_SVY_SERVER.
This is required for accessing surveys from outside the company network without providing user and password.
Administration Data
Scenarios
There are the following scenarios available:
- Screen: survey renderd for the SAPGUI
- Printer: survey rendered for printing and pdf generation
- Handheld / Offline Handheld: survey rendered for handheld
- BSP pages: survey rendered for WEB UI
Versions
After each change of the survey using the survey builder the survey needs to be activated so that the same can be used. Each change of an activated survey creates a new version of the survey, that is initiall created in inactive status. The newly created version then needs to be activated again so the same can be used.
The Version Management also contains kind of a change history for the survey.
Translations
The survey is initially created in a default language - this is usually the log on language. To make the survey available in any languages different from the source language the survey needs to be translated using the translation tool. A translation needs to be created for each version.
Transport
A survey can be transported using the transport tool.
The selected survey is put into a transport request and can be transported in the target system. In the target system the survey needs to be activated.
To transport a survey together with its translations each survey translation needs to be added to the transport request manually. This needs to be done the following way:
This needs to be done from the survey version management
From there each survey translation needs to be added in the transport request.
Each of the translated versions need to be activated in the target system.
Evaluation
Evaluation in CRM
There is a lean evaluation tool integrated in the CRM system. This is integrated in the CRM_SURVEY_SUITE for all of the releases.
The evaluation tool for the WEB UI is only available with SAP CRM7.0 EHP4 SP06 and above or SAP CRM 7.0 EHP3 SP1
This is documented in the following SAP note:
https://launchpad.support.sap.com/#/notes/0002325585
To enable the simple evaluation in Survey Suite the flag 'Evaluation Without Business Information Warehouse' needs to be flaged in the survey attributes:
After having some survey values available, the same are available in the evaluation.
The result can be exported or can be displayed as a graph.
Evaluation in BW
Evaluation can also be done in the BW system - a sample scenario is available in the following page:
Scenarios
URL Scenario
The survey can be sent as an URL. This scenario is mainly used in Marketing, in campaign execution and campaign automation scenario. The survey link is sent per mail, the receiver open the URL and submit the survey. The results can be taken for analyzes or are used as decission for further steps in campaign automation.
The survey URL is generated the following way:
Technical Details
Tables
Object | SubObject | Tables | Description | Additional information |
---|---|---|---|---|
Survey Repository | style sheets and survey parameters | CRM_SVY_DB_SFA | CRM Surveys: Survey File Access |
Programs
Object | Description |
---|---|
CL_CRM_SVY_DOM_DEFINE-IF_CRM_SURVEY_DOM~CREATE_INITIAL_SURVEY_XML | defaults CSS file |
CRM_SURVEY_MKTATTR_PRESELECT
CRM_SURVEY_MKTATTR_UPDATE | function for reading MKT attribute from an account and prefilling MKT attribute question in a survey function for updating MKT attribute to an account from survey |
CRM_SURVEY_DATA_GET CRM_SURVEY_SEL_M_DET_FOR_ORDER CRM_SURVEY_CHECK_EC | function called in survey determination |
CL_CRM_SVY_SURVEY=>COPY CRM_SVY_COPY_SURVEY | copy survey in suvey builder |
Common Issues
Common issues
A collection of common issues within CRM Survey application is available in the following blog:
Survey Rendering in CRM WEB UI