2558379 - LMS: Prevent users from removing survey on their learning plan

SAP Knowledge Base Article - Public

2558379 - LMS: Prevent users from removing survey on their learning plan

Symptom

Even if the survey is set to required, users will have the option to remove it from their learning plan.

Environment

Successfactors Learning Management System (LMS)

Reproducing the Issue

On the user's learning plan, click on the dropdown option to Start Survey. Remove can be selected.

Cause

The survey is not required on the item level.

Resolution

1. Go to the item record.

2. Related> More.

3. On evaluation, '

4. Apply changes.

Note: You can only successfully apply changes when the survey on the item has not been launched/completed yet by the user. Else, you will receive the error below:

Error

Please report the following error to your system administrator:

com.plateausystems.elms.util.helper.ElmsCreateException: addComponentSurvey failed: 
	at com.plateausystems.elms.bo.questionnairesurveys.impl.QuestionnaireSurveyServiceImpl.addComponentSurvey(QuestionnaireSurveyServiceImpl.java:723)
	at sun.reflect.GeneratedMethodAccessor10534.invoke(Unknown Source)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:606)
	at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:309)
	at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:183)
	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:150)
	at com.plateausystems.elms.framework.perfmonitor.impl.ServicePerformanceMonitorInterceptor.invoke(ServicePerformanceMonitorInterceptor.java:41)
	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
	at com.plateausystems.elms.framework.usagestatistics.impl.UsageStatisticsInterceptor.invoke(UsageStatisticsInterceptor.java:73)
	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
	at com.plateausystems.elms.framework.authorization.impl.ServiceAuthorizationInterceptor.invoke(ServiceAuthorizationInterceptor.java:127)
	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
	at com.plateausystems.elms.util.helper.LastUpdateUserInterceptor.invoke(LastUpdateUserInterceptor.java:49)
	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
	at com.plateausystems.elms.framework.localization.DataLocalizationInterceptor.invoke(DataLocalizationInterceptor.java:72)
	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
	at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:110)
	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
	at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:202)
	at com.sun.proxy.$Proxy208.addComponentSurvey(Unknown Source)
	at com.plateausystems.elms.client.struts.questionnairesurveys.QuestionnaireSurveyUpdateItemEvaluationAction.run(QuestionnaireSurveyUpdateItemEvaluationAction.java:419)
	at com.plateausystems.elms.client.struts.BaseActionDelegate.invokeValidateAndRun(BaseActionDelegate.java:69)
	at com.plateausystems.elms.client.struts.TMSDelegatingTilesRequestProcessor.processActionPerform(TMSDelegatingTilesRequestProcessor.java:131)
	at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:275)
	at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1482)
	at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:525)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:648)
	at com.plateau.foundation.struts1.action.PlateauActionServlet.service(PlateauActionServlet.java:812)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
	at org.apache.struts.action.ActionServlet.service(ActionServlet.java)
	at com.plateau.foundation.struts1.action.PlateauActionServlet.service(PlateauActionServlet.java)
	at com.plateau.common.springweb.api.ServletToBeanProxy.service(ServletToBeanProxy.java:83)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
	at com.plateau.common.springweb.api.ServletToBeanProxy.service(ServletToBeanProxy.java)
	at com.plateau.foundation.servlet.TenantAwareDelegatingServlet.service(TenantAwareDelegatingServlet.java:95)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:292)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:207)
	at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:240)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:207)
	at com.plateausystems.elms.framework.throttling.APIThrottlingFilter.internalDoFilter(APIThrottlingFilter.java:119)
	at com.plateau.common.webtoolkit.api.servlet.PlateauAbstractFilter.doFilter(PlateauAbstractFilter.java:113)
	at com.plateausystems.elms.framework.throttling.APIThrottlingFilter.doFilter(APIThrottlingFilter.java)
	at com.plateau.foundation.servlet.TenantAwareDelegatingFilter.doFilter(TenantAwareDelegatingFilter.java:87)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:240)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:207)
	at com.plateausystems.elms.framework.usagestatistics.client.CollectUsageStatisticsFilter.internalDoFilter(CollectUsageStatisticsFilter.java:110)
	at com.plateau.common.webtoolkit.api.servlet.PlateauAbstractFilter.doFilter(PlateauAbstractFilter.java:113)
	at com.plateausystems.elms.framework.usagestatistics.client.CollectUsageStatisticsFilter.doFilter(CollectUsageStatisticsFilter.java)
	at com.plateau.foundation.servlet.TenantAwareDelegatingFilter.doFilter(TenantAwareDelegatingFilter.java:87)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:240)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:207)
	at com.plateausystems.elms.client.servlet.MondrianInitFilter.doFilter(MondrianInitFilter.java:60)
	at com.plateau.foundation.servlet.TenantAwareDelegatingFilter.doFilter(TenantAwareDelegatingFilter.java:87)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:240)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:207)
	at com.plateausystems.elms.client.servlet.EnsureSearchContextFilter.internalDoFilter(EnsureSearchContextFilter.java:130)
	at com.plateau.common.webtoolkit.api.servlet.PlateauAbstractFilter.doFilter(PlateauAbstractFilter.java:113)
	at com.plateausystems.elms.client.servlet.EnsureSearchContextFilter.doFilter(EnsureSearchContextFilter.java)
	at com.plateau.foundation.servlet.TenantAwareDelegatingFilter.doFilter(TenantAwareDelegatingFilter.java:87)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:240)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:207)
	at com.plateau.common.websecurity.impl.servlet.StrutsParamFilter.doFilter(StrutsParamFilter.java:59)
	at com.plateau.foundation.servlet.TenantAwareDelegatingFilter.doFilter(TenantAwareDelegatingFilter.java:87)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:240)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:207)
	at com.plateausystems.elms.framework.csrfguard.LmsCsrfGuardFilter.doFilter(LmsCsrfGuardFilter.java:104)
	at com.plateau.foundation.servlet.TenantAwareDelegatingFilter.doFilter(TenantAwareDelegatingFilter.java:87)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:240)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:207)
	at com.plateau.common.webtoolkit.api.servlet.PlateauAbstractFilter.doFilter(PlateauAbstractFilter.java:117)
	at com.plateau.common.websecurity.impl.servlet.XSSScanFilter.doFilter(XSSScanFilter.java)
	at com.plateausystems.elms.client.servlet.XssFilter.doFilter(XssFilter.java)
	at com.plateau.foundation.servlet.TenantAwareDelegatingFilter.doFilter(TenantAwareDelegatingFilter.java:87)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:240)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:207)
	at com.successfactors.perflog.ui.PerfLogBaseFilter.doFilter(PerfLogBaseFilter.java:175)
	at com.plateau.foundation.servlet.TenantAwareDelegatingFilter.doFilter(TenantAwareDelegatingFilter.java:87)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:240)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:207)
	at com.plateausystems.elms.client.servlet.CheckAdminLogonFilter.doFilter(CheckAdminLogonFilter.java:132)
	at com.plateau.foundation.servlet.TenantAwareDelegatingFilter.doFilter(TenantAwareDelegatingFilter.java:87)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:240)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:207)
	at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:369)
	at org.springframework.security.oauth2.consumer.OAuth2ClientContextFilter.doFilter(OAuth2ClientContextFilter.java:79)
	at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:381)
	at org.springframework.security.oauth2.consumer.OAuth2ClientContextFilter.doFilter(OAuth2ClientContextFilter.java:79)
	at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:381)
	at org.springframework.security.oauth2.provider.OAuth2ProtectedResourceFilter.doFilter(OAuth2ProtectedResourceFilter.java:46)
	at com.plateausystems.elms.framework.oauth2.provider.impl.PlateauOAuth2ProtectedResourceFilter.doFilter(PlateauOAuth2ProtectedResourceFilter.java)
	at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:381)
	at org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter.doFilter(AbstractAuthenticationProcessingFilter.java:187)
	at org.springframework.security.oauth2.provider.OAuth2AuthorizationFilter.doFilter(OAuth2AuthorizationFilter.java)
	at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:381)
	at org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter.doFilter(AbstractAuthenticationProcessingFilter.java:187)
	at org.springframework.security.oauth2.provider.verification.VerificationCodeFilter.doFilter(VerificationCodeFilter.java:105)
	at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:381)
	at org.springframework.security.oauth2.provider.OAuth2ExceptionHandlerFilter.doFilter(OAuth2ExceptionHandlerFilter.java:36)
	at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:381)
	at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:97)
	at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:381)
	at org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter.doFilter(AbstractAuthenticationProcessingFilter.java:187)
	at org.springframework.security.web.authentication.UsernamePasswordAuthenticationFilter.doFilter(UsernamePasswordAuthenticationFilter.java)
	at com.plateau.common.security.impl.authentication.PlateauAuthenticationProcessingFilter.doFilter(PlateauAuthenticationProcessingFilter.java)
	at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:381)
	at org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter.doFilter(AbstractAuthenticationProcessingFilter.java:187)
	at org.springframework.security.web.authentication.UsernamePasswordAuthenticationFilter.doFilter(UsernamePasswordAuthenticationFilter.java)
	at com.plateau.common.security.impl.authentication.PlateauAuthenticationProcessingFilter.doFilter(PlateauAuthenticationProcessingFilter.java)
	at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:381)
	at org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter.doFilter(AbstractAuthenticationProcessingFilter.java:187)
	at org.springframework.security.web.authentication.UsernamePasswordAuthenticationFilter.doFilter(UsernamePasswordAuthenticationFilter.java)
	at com.plateau.common.security.impl.authentication.PlateauAuthenticationProcessingFilter.doFilter(PlateauAuthenticationProcessingFilter.java)
	at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:381)
	at org.springframework.security.saml.SAMLLogoutProcessingFilter.doFilterHttp(SAMLLogoutProcessingFilter.java:192)
	at org.springframework.security.saml.SAMLLogoutProcessingFilter.doFilter(SAMLLogoutProcessingFilter.java:92)
	at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:381)
	at org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter.doFilter(AbstractAuthenticationProcessingFilter.java:187)
	at org.springframework.security.saml.SAMLProcessingFilter.doFilter(SAMLProcessingFilter.java)
	at com.plateausystems.elms.framework.sso.impl.saml.MultiAppDispatchSAMLProcessingFilter.doFilter(MultiAppDispatchSAMLProcessingFilter.java)
	at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:381)
	at org.springframework.security.saml.SAMLEntryPoint.doFilterHttp(SAMLEntryPoint.java:101)
	at org.springframework.security.saml.SecurityFilter.doFilter(SecurityFilter.java:53)
	at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:381)
	at org.springframework.security.saml.metadata.MetadataDisplayFilter.doFilterHttp(MetadataDisplayFilter.java:90)
	at org.springframework.security.saml.SecurityFilter.doFilter(SecurityFilter.java:53)
	at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:381)
	at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:105)
	at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:381)
	at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:105)
	at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:381)
	at org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter.doFilter(AbstractAuthenticationProcessingFilter.java:187)
	at com.plateausystems.elms.framework.sso.impl.oauthtoken.LearnerOAuthTokenAuthenticationProcessingFilter.doFilter(LearnerOAuthTokenAuthenticationProcessingFilter.java)
	at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:381)
	at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:79)
	at org.springframework.security.web.context.HttpSessionContextIntegrationFilter.doFilter(HttpSessionContextIntegrationFilter.java)
	at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:381)
	at com.plateau.common.webtoolkit.api.servlet.PlateauAbstractFilter.doFilter(PlateauAbstractFilter.java:117)
	at com.plateau.common.websecurity.impl.servlet.XSSScanFilter.doFilter(XSSScanFilter.java)
	at com.plateausystems.elms.client.servlet.XssFilter.doFilter(XssFilter.java)
	at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:381)
	at org.springframework.security.oauth2.provider.verification.BasicUserApprovalFilter.doFilter(BasicUserApprovalFilter.java:41)
	at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:381)
	at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:168)
	at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:237)
	at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:167)
	at com.plateausystems.elms.client.servlet.SecurityFilterToBeanProxy.doFilter(SecurityFilterToBeanProxy.java:82)
	at com.plateau.foundation.servlet.TenantAwareDelegatingFilter.doFilter(TenantAwareDelegatingFilter.java:87)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:240)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:207)
	at com.plateausystems.elms.client.servlet.CheckOtherLogonFilter.doFilter(CheckOtherLogonFilter.java:128)
	at com.plateau.foundation.servlet.TenantAwareDelegatingFilter.doFilter(TenantAwareDelegatingFilter.java:87)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:240)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:207)
	at com.plateausystems.elms.client.servlet.ContentServletCheckLogonFilter.doFilter(ContentServletCheckLogonFilter.java:95)
	at com.plateau.foundation.servlet.TenantAwareDelegatingFilter.doFilter(TenantAwareDelegatingFilter.java:87)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:240)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:207)
	at com.plateau.common.webtoolkit.servlet.EncodingFilter.doFilter(EncodingFilter.java:297)
	at com.plateau.common.webtoolkit.servlet.GZIPEncodingFilter.doFilter(GZIPEncodingFilter.java)
	at com.plateau.foundation.servlet.TenantAwareDelegatingFilter.doFilter(TenantAwareDelegatingFilter.java:87)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:240)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:207)
	at com.plateau.common.webtoolkit.servlet.ExpiresFilter.doFilter(ExpiresFilter.java:520)
	at com.plateausystems.elms.client.servlet.CachingFilter.doFilter(CachingFilter.java:46)
	at com.plateau.foundation.servlet.TenantAwareDelegatingFilter.doFilter(TenantAwareDelegatingFilter.java:87)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:240)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:207)
	at com.plateau.foundation.servlet.JdbcResourceMonitorServletFilter.doFilter(JdbcResourceMonitorServletFilter.java:116)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:240)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:207)
	at com.plateausystems.elms.util.helper.test.automation.PlateauTestFilter.doFilter(PlateauTestFilter.java:114)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:240)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:207)
	at com.plateausystems.elms.client.servlet.ResponseHeaderFilter.doFilter(ResponseHeaderFilter.java:321)
	at com.plateau.foundation.servlet.TenantAwareDelegatingFilter.doFilter(TenantAwareDelegatingFilter.java:87)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:240)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:207)
	at com.plateau.common.webtoolkit.servlet.RequestLogger.doFilter(RequestLogger.java:193)
	at com.plateau.foundation.servlet.TenantAwareDelegatingFilter.doFilter(TenantAwareDelegatingFilter.java:87)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:240)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:207)
	at com.plateau.common.webtoolkit.servlet.RequestInfo.doFilter(RequestInfo.java:77)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:240)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:207)
	at com.plateausystems.elms.client.servlet.AlternativeSessionFilter.doFilter(AlternativeSessionFilter.java:78)
	at com.plateau.foundation.servlet.TenantAwareDelegatingFilter.doFilter(TenantAwareDelegatingFilter.java:87)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:240)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:207)
	at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:83)
	at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76)
	at com.plateau.foundation.servlet.TenantAwareDelegatingFilter.doFilter(TenantAwareDelegatingFilter.java:87)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:240)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:207)
	at com.plateau.foundation.servlet.PlateauFoundationSetupHandler.doFilter(PlateauFoundationSetupHandler.java:451)
	at com.plateausystems.elms.framework.bootstrap.TMSPlateauFoundationSetupHandler.doFilter(TMSPlateauFoundationSetupHandler.java)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:240)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:207)
	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:212)
	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:106)
	at org.apache.catalina.session.FoundationSessionManagerValve.invoke(FoundationSessionManagerValve.java:47)
	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:141)
	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:79)
	at org.apache.catalina.valves.RemoteIpValve.invoke(RemoteIpValve.java:676)
	at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:616)
	at org.apache.catalina.valves.StuckThreadDetectionValve.invoke(StuckThreadDetectionValve.java:208)
	at org.apache.catalina.valves.SetCharacterEncodingValve.invoke(SetCharacterEncodingValve.java:37)
	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:88)
	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:522)
	at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1095)
	at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:672)
	at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1500)
	at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:1456)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
	at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
	at java.lang.Thread.run(Thread.java:807)
Caused by: com.plateausystems.elms.util.helper.ElmsMissingReferenceDataAccessException: SqlMapClient operation; nested exception is com.ibatis.common.jdbc.exception.NestedSQLException:   
--- The error occurred while applying a parameter map.  
--- Check the QuestionnaireSurvey.questionnaireSurveyComponentVOParamMap.  
--- Check the statement (update failed).  
--- Cause: java.sql.SQLIntegrityConstraintViolationException: ORA-02291: integrity constraint (NCL_STAGE_TMS.FK_CPNT_CPNT_SURVEY) violated - parent key not found

	at com.plateausystems.elms.util.helper.ElmsSqlErrorCodesTranslator.customTranslate(ElmsSqlErrorCodesTranslator.java:25)
	at org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator.doTranslate(SQLErrorCodeSQLExceptionTranslator.java:186)
	at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:72)
	at org.springframework.orm.ibatis.SqlMapClientTemplate.execute(SqlMapClientTemplate.java:203)
	at org.springframework.orm.ibatis.SqlMapClientTemplate.insert(SqlMapClientTemplate.java:364)
	at com.plateausystems.elms.bo.questionnairesurveys.helper.QuestionnaireSurveyDAOImpl.addComponentSurvey(QuestionnaireSurveyDAOImpl.java:306)
	at com.plateausystems.elms.bo.questionnairesurveys.impl.QuestionnaireSurveyServiceImpl.addComponentSurvey(QuestionnaireSurveyServiceImpl.java:720)
	... 217 more
Caused by: com.ibatis.common.jdbc.exception.NestedSQLException:   
--- The error occurred while applying a parameter map.  
--- Check the QuestionnaireSurvey.questionnaireSurveyComponentVOParamMap.  
--- Check the statement (update failed).  
--- Cause: java.sql.SQLIntegrityConstraintViolationException: ORA-02291: integrity constraint (NCL_STAGE_TMS.FK_CPNT_CPNT_SURVEY) violated - parent key not found

	at com.ibatis.sqlmap.engine.mapping.statement.MappedStatement.executeUpdate(MappedStatement.java:107)
	at com.ibatis.sqlmap.engine.impl.SqlMapExecutorDelegate.insert(SqlMapExecutorDelegate.java:404)
	at com.ibatis.sqlmap.engine.impl.SqlMapSessionImpl.insert(SqlMapSessionImpl.java:82)
	at org.springframework.orm.ibatis.SqlMapClientTemplate$8.doInSqlMapClient(SqlMapClientTemplate.java:366)
	at org.springframework.orm.ibatis.SqlMapClientTemplate.execute(SqlMapClientTemplate.java:200)
	... 220 more
Caused by: java.sql.SQLIntegrityConstraintViolationException: ORA-02291: integrity constraint (NCL_STAGE_TMS.FK_CPNT_CPNT_SURVEY) violated - parent key not found

	at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:445)
	at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:396)
	at oracle.jdbc.driver.T4C8Oall.processError(T4C8Oall.java:879)
	at oracle.jdbc.driver.T4CTTIfun.receive(T4CTTIfun.java:450)
	at oracle.jdbc.driver.T4CTTIfun.doRPC(T4CTTIfun.java:192)
	at oracle.jdbc.driver.T4C8Oall.doOALL(T4C8Oall.java:531)
	at oracle.jdbc.driver.T4CPreparedStatement.doOall8(T4CPreparedStatement.java:207)
	at oracle.jdbc.driver.T4CPreparedStatement.executeForRows(T4CPreparedStatement.java:1044)
	at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:1329)
	at oracle.jdbc.driver.OraclePreparedStatement.executeInternal(OraclePreparedStatement.java:3584)
	at oracle.jdbc.driver.OraclePreparedStatement.execute(OraclePreparedStatement.java:3685)
	at oracle.jdbc.driver.T4CPreparedStatement.execute(T4CPreparedStatement.java)
	at oracle.jdbc.driver.OraclePreparedStatementWrapper.execute(OraclePreparedStatementWrapper.java:1376)
	at sun.reflect.GeneratedMethodAccessor258.invoke(Unknown Source)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:606)
	at oracle.ucp.jdbc.proxy.StatementProxyFactory.invoke(StatementProxyFactory.java:230)
	at oracle.ucp.jdbc.proxy.PreparedStatementProxyFactory.invoke(PreparedStatementProxyFactory.java:124)
	at com.sun.proxy.$Proxy2024.execute(Unknown Source)
	at com.plateau.common.db.api.AbstractPreparedStatementWrapper.execute(AbstractPreparedStatementWrapper.java:292)
	at com.plateau.common.db.oracle.impl.AbstractOraclePreparedStatementWrapper.execute(AbstractOraclePreparedStatementWrapper.java)
	at com.plateau.common.db.oracle.impl.PlateauOraclePreparedStatement.execute(PlateauOraclePreparedStatement.java)
	at sun.reflect.GeneratedMethodAccessor258.invoke(Unknown Source)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:606)
	at com.plateau.foundation.jdbc.StatementPerfMonitorInvocationHandler.invoke(StatementPerfMonitorInvocationHandler.java:146)
	at com.sun.proxy.$Proxy2027.execute(Unknown Source)
	at sun.reflect.GeneratedMethodAccessor258.invoke(Unknown Source)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:606)
	at com.plateau.common.core.api.InterruptibleInvocationHandler.invoke(InterruptibleInvocationHandler.java:71)
	at com.plateau.common.db.api.InterruptibleJdbcObjectProxyFactory$InterruptibleJdbcObjectProxy.invoke(InterruptibleJdbcObjectProxyFactory.java:155)
	at com.sun.proxy.$Proxy2028.execute(Unknown Source)
	at com.ibatis.sqlmap.engine.execution.DefaultSqlExecutor.executeUpdate(DefaultSqlExecutor.java:77)
	at com.ibatis.sqlmap.engine.mapping.statement.MappedStatement.sqlExecuteUpdate(MappedStatement.java:216)
	at com.ibatis.sqlmap.engine.mapping.statement.MappedStatement.executeUpdate(MappedStatement.java:94)
	... 224 more

See Also

2204319 - LMS: How to remove surveys from a user's learning plan

Keywords

required survey remove survey mandatory survey required for item completion , KBA , LOD-SF-LMS-ADM , Admin Tools , LOD-SF-LMS-COR , LMS Core - Items, Catalog, Curricula , Problem

Product

SAP SuccessFactors Learning 1708