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

SAP SuccessFactors Learning

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 moreCaused 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 moreCaused 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, Item, survey, mandatory survey, required for item completion , KBA , LOD-SF-LMS-ADM , System Admin, Global Variables, References , LOD-SF-LMS-COR , LMS Core - Items, Catalog, Curricula , Problem

Product

SAP SuccessFactors Learning 1708