There are some known issues related to survey transformation. This blog post should give an idea about how the transformation is working and contains a collection of common issues together with documented solutions. Any known issues are highlighted with the alert icon (), whereas each solution is highlighted with the information icon (
).
The main settings and the related XML and XSLT files can be found in the survey repository in SAP GUI. This can be accessed in from the survey suite (transaction CRM_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): defines survey format - 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
For the survey rendering the CSS style sheets and the Static Survey XSLTs are required. The transformation works the following way. The 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.
The rendering happens with the so called CATServer. The CATServer is responsible for transforming the survey XMLs to the HTML using the XSLT files. The CATServer is to be maintained in the Survey Repository:
There are two versions of the CATServer available in the system - the active one is highlighted in the CATServer administration:
- 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. In addition, 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.
There are some known issues related to the CATServer used. If the survey can't be activated or can't be displayed due to the following error message raised in SAPGUI, this is usually a CATServer issues:
As mentioned the ABAP based CATServer is much more stable, therefore the ABAP based CATServer is definitly the one to recommend.
To understand how to switch between the CATServer versions consider the following SAP note:
857535 - internal CATServer: Setup Instructions
Using class CL_SURVEY_CATSERVER you can either execute the method SET_CATSERVER_ABAP or SET_CATSERVER_JTS. The parameter user must be left empty.
There was a change done to the framework recently. The BSP scenario is now migrated to the THTMLB framework.
There may be some survey transformation issues. When accessing the survey at runtime you may get the following error:
This error should be solved by implementing the following SAP notes:
1817152 - Migration to THTMLB framework for BSP scenarios
1842704 - Error: <bsp:bee>: (BEE XML) BSP extension <:*> is unknown
There may be various layout issues. The style sheet is not considered or issues with allignment of radio buttons.
Those issues should be solved with the following SAP notes - the solution includes 2 steps:
- 1st step:
1955121 - SVY: CSS file htmlb_style.css is not working for THTMLB tags - 2nd step: implement the latest XSLT file
1979028 - Value from selected radio button element can overwrite other elements when placed in a TABLE section
For all corrections that affect the XSLT file it is required to generate the affected survey again. This can either be manually or by using report CRM_GENERATE_SURVEYS. The report is delivered with the following SAP note:
1835143 - Delivery of report CRM_GENERATE_SURVEYS
As a general recommendation for any survey issues happening in the WEB UI I would suggest to search for the latest notes correcting any XSLT file. There are some known issues, since most of them are related to the XSLT file the issue may be solved with the latest corrections.