This blog will explains you the concept of Survey in BSP pages. As we know the survey contains questionnaires which in turns linked with activities. In this blog we will look into the following concepts:
- Survey Determination
- Create Survey in BSP pages
Let us start with some overview of Survey before starting the core concepts.
What is survey in activity?
The Survey will contains list of questionnaires which will be saved against that activity.
How to see the activity survey?
Here I have taken the Appointment which holds the survey like below,
Open the Activity in CRMD_ORDER, you can see the questionnaires of the survey.
How to do configuration for the survey?
In the CRM_SURVEY_SUITE (TX code), Here you can design the survey according to your requirement.
How to get the survey details for the Appointment?
In the CRM_ORDER_READ, you can get the ET_SURVEY table.
The above information are just the overview about the survey, now we will see the core concepts:
In activity we can have multiple survey linked to it. We should know which one is active.
We have survey determination table: CRMC_SVY_DET & also
We have survey determination FM: ‘CRM_SURVEY_SEL_M_DET_FOR_TYPE’
Here you can pass the OBJECT TYPE and active Flag to get the list of active survey ids.
Creation of Survey with Appointment in BSP pages:
In crm_survey_suite we have done the configuration, SAP will generate the XML based on our configuration, we will get the XML from SAP and just render it in BSP pages.
- Create the appointment
- Create the survey
- Map the survey
- Show it in BSP pages.
Create the guid.
Get the Presentation from the SAP configuration.
Create the Survey object
Get the Presentation from SAP in format of XML.
Perform the Conversion
Show the Presentation in BSP page.
On Click the SAVE button- We will send the Field Values to the Backend CRM and save the Appointment with Survey.
CRM logic to create the Appointment with Survey:
Perform the Order maintain:
Generate the Survey answer string:
Generate the Value XML:
Link the survey to the Appointment:
Save the changes
Commit the work in Database
I have saved Appointment:1805 in BSP page, Same thing we can able to see in WEB UI also. Hence our Survey is working fine