SAP Knowledge Base Article - Public

2080166 - Error - Duplicate Column Name error when importing background element data file - Employee Central

Symptom

  • An error message is generated when attempting to import a background data file into EC 2.0 instance. The error message indicates the existence of a “duplicate column name”. Please see the example import notification email below for more information.

Environment

  • Employee Central

Resolution

  • In this case there existed a duplicate “vfld” name (or variable fields) in two data fields within a background element in the data model.
  • To correct the problem the background element XML code in the data model needed to be modified to ensure all “vfld” names within the data fields of the affected background element had unique names. In this case two vfld names matched, “vfld5”. Please note that “dfld” (date fields) names must also be unique.


 
Additional Information:

  • In this case, “vfld5” was duplicated in both the “jobRole” and “consultingBonusAllocation” data fields of a background element. (Please see complete modified background element code below). Original and modified XML for the effected background element appears below.


Original Code:

    <data-field id="consultingBonusAllocation" field-name="vfld5" max-length="25" max-file-size-KB="15">

 
Modified Code:

    <data-field id="consultingBonusAllocation" field-name="vfld7" max-length="25" max-file-size-KB="15">

"Image/data in this KBA is from SAP internal systems, sample data, or demo systems. Any resemblance to real data is purely coincidental."

Complete Modified Background Element Code from Data Model:

  <background-element id="expatComp1" type-id="18">

    <label>Additional Compensation - Section 1 (**Confidential Section**)</label>

    <data-field id="specialComp1EffectiveDate" field-name="dfld1" max-length="999" max-file-size-KB="100">

      <label>Effective Date</label>

    </data-field>

    <data-field id="employeeType" field-name="vfld1" max-length="25" max-file-size-KB="15">

      <label>Employee Type</label>

    </data-field>

    <data-field id="jobRole" field-name="vfld5" max-length="25" max-file-size-KB="15">

      <label>Job Role</label>

    </data-field>

    <data-field id="jobFunction" field-name="vfld6" max-length="25" max-file-size-KB="15">

      <label>Job Function</label>

    </data-field>

    <data-field id="comXL" field-name="vfld2" max-length="25" max-file-size-KB="15">

      <label>CompXL</label>

    </data-field>

    <data-field id="deferredBonusEligible" field-name="vfld3" max-length="25" max-file-size-KB="15">

      <label>Deferred Bonus Eligible</label>

    </data-field>

    <data-field id="bonusAllocation" field-name="vfld4" max-length="25" max-file-size-KB="15">

      <label>Bonus Allocation</label>

    </data-field>

    <data-field id="consultingBonusAllocation" field-name="vfld7" max-length="25" max-file-size-KB="15">

      <label>Consulting Bonus Allocation</label>

    </data-field>

  </background-element>


Example Background Data Import E-mail Notification

From:        System System <SystemMessage@successfactors.com>

To:        <Admin@somecompany.com>

Date:        07/17/2012 11:06 AM

Subject:        SomeCompany - Live Profile Import Process Status (Background Information) 7/17/12.

________________________________________

 

Company Name: SomeCompany

Duration: 1 seconds.

Live Profile Import process started at 7/17/12.

Overwrite option is selected. All existing entries in section expatComp1 have been deleted.

Internal system error.  Please contact your representative.    Not able to call the EJB to import the data. com.successfactors.sm.service.SuccessionEJBException: failed to save section (expatComp1). Failed to execute a batched prepared statement. ORA-00957: duplicate column name

com.successfactors.sm.service.SuccessionEJBException: failed to save section (expatComp1). Failed to execute a batched prepared statement. ORA-00957: duplicate column name

               at com.successfactors.sm.service.ejb.SuccessionEJB.importBgData(SuccessionEJB.java:2941)

               at sun.reflect.GeneratedMethodAccessor676.invoke(Unknown Source)

               at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)

               at java.lang.reflect.Method.invoke(Method.java:597)

               at org.jboss.invocation.Invocation.performCall(Invocation.java:359)

               at org.jboss.ejb.StatelessSessionContainer$ContainerInterceptor.invoke(StatelessSessionContainer.java:237)

               at org.jboss.resource.connectionmanager.CachedConnectionInterceptor.invoke(CachedConnectionInterceptor.java:158)

               at org.jboss.ejb.plugins.StatelessSessionInstanceInterceptor.invoke(StatelessSessionInstanceInterceptor.java:169)

               at org.jboss.ejb.plugins.CallValidationInterceptor.invoke(CallValidationInterceptor.java:63)

               at org.jboss.ejb.plugins.AbstractTxInterceptor.invokeNext(AbstractTxInterceptor.java:121)

               at org.jboss.ejb.plugins.TxInterceptorCMT.runWithTransactions(TxInterceptorCMT.java:350)

               at org.jboss.ejb.plugins.TxInterceptorCMT.invoke(TxInterceptorCMT.java:181)

               at org.jboss.ejb.plugins.SecurityInterceptor.invoke(SecurityInterceptor.java:168)

               at org.jboss.ejb.plugins.LogInterceptor.invoke(LogInterceptor.java:205)

               at org.jboss.ejb.plugins.ProxyFactoryFinderInterceptor.invoke(ProxyFactoryFinderInterceptor.java:138)

               at org.jboss.ejb.SessionContainer.internalInvoke(SessionContainer.java:648)

               at org.jboss.ejb.Container.invoke(Container.java:960)

               at sun.reflect.GeneratedMethodAccessor99.invoke(Unknown Source)

               at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)

               at java.lang.reflect.Method.invoke(Method.java:597)

               at org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:155)

               at org.jboss.mx.server.Invocation.dispatch(Invocation.java:94)

               at org.jboss.mx.server.Invocation.invoke(Invocation.java:86)

               at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:264)

               at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:659)

               at org.jboss.invocation.local.LocalInvoker$MBeanServerAction.invoke(LocalInvoker.java:169)

               at org.jboss.invocation.local.LocalInvoker.invoke(LocalInvoker.java:118)

               at org.jboss.invocation.InvokerInterceptor.invokeLocal(InvokerInterceptor.java:209)

               at org.jboss.invocation.InvokerInterceptor.invoke(InvokerInterceptor.java:195)

               at org.jboss.proxy.TransactionInterceptor.invoke(TransactionInterceptor.java:61)

               at org.jboss.proxy.SecurityInterceptor.invoke(SecurityInterceptor.java:70)

               at org.jboss.proxy.ejb.StatelessSessionInterceptor.invoke(StatelessSessionInterceptor.java:112)

               at org.jboss.proxy.ClientContainer.invoke(ClientContainer.java:100)

               at $Proxy191.importBgData(Unknown Source)

               at com.successfactors.liveprofile.util.LiveProfileBgAndRatingImportEvent.processRequest(LiveProfileBgAndRatingImportEvent.java:390)

               at com.successfactors.platform.service.MailConsumerMDB.onMessage(MailConsumerMDB.java:105)

               at sun.reflect.GeneratedMethodAccessor159.invoke(Unknown Source)

               at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)

               at java.lang.reflect.Method.invoke(Method.java:597)

               at org.jboss.invocation.Invocation.performCall(Invocation.java:359)

               at org.jboss.ejb.MessageDrivenContainer$ContainerInterceptor.invoke(MessageDrivenContainer.java:492)

               at org.jboss.resource.connectionmanager.CachedConnectionInterceptor.invoke(CachedConnectionInterceptor.java:158)

               at org.jboss.ejb.plugins.MessageDrivenInstanceInterceptor.invoke(MessageDrivenInstanceInterceptor.java:116)

               at org.jboss.ejb.plugins.CallValidationInterceptor.invoke(CallValidationInterceptor.java:63)

               at org.jboss.ejb.plugins.AbstractTxInterceptor.invokeNext(AbstractTxInterceptor.java:121)

               at org.jboss.ejb.plugins.TxInterceptorCMT.runWithTransactions(TxInterceptorCMT.java:315)

               at org.jboss.ejb.plugins.TxInterceptorCMT.invoke(TxInterceptorCMT.java:181)

               at org.jboss.ejb.plugins.RunAsSecurityInterceptor.invoke(RunAsSecurityInterceptor.java:109)

               at org.jboss.ejb.plugins.LogInterceptor.invoke(LogInterceptor.java:205)

               at org.jboss.ejb.plugins.ProxyFactoryFinderInterceptor.invoke(ProxyFactoryFinderInterceptor.java:138)

               at org.jboss.ejb.MessageDrivenContainer.internalInvoke(MessageDrivenContainer.java:399)

               at org.jboss.ejb.Container.invoke(Container.java:960)

               at org.jboss.ejb.plugins.jms.JMSContainerInvoker.invoke(JMSContainerInvoker.java:1139)

               at org.jboss.ejb.plugins.jms.JMSContainerInvoker$MessageListenerImpl.onMessage(JMSContainerInvoker.java:1452)

               at org.jboss.jms.asf.StdServerSession.onMessage(StdServerSession.java:266)

               at org.jboss.jms.client.container.ClientConsumer.callOnMessageStatic(ClientConsumer.java:160)

               at org.jboss.jms.client.container.SessionAspect.handleRun(SessionAspect.java:831)

               at org.jboss.aop.advice.org.jboss.jms.client.container.SessionAspect14.invoke(SessionAspect14.java)

               at org.jboss.jms.client.delegate.ClientSessionDelegate$run_N8003352271541955702.invokeNext(ClientSessionDelegate$run_N8003352271541955702.java)

               at org.jboss.jms.client.container.ClosedInterceptor.invoke(ClosedInterceptor.java:172)

               at org.jboss.aop.advice.PerInstanceInterceptor.invoke(PerInstanceInterceptor.java:105)

               at org.jboss.jms.client.delegate.ClientSessionDelegate$run_N8003352271541955702.invokeNext(ClientSessionDelegate$run_N8003352271541955702.java)

               at org.jboss.jms.client.delegate.ClientSessionDelegate.run(ClientSessionDelegate.java)

               at org.jboss.jms.client.JBossSession.run(JBossSession.java:199)

               at org.jboss.jms.asf.StdServerSession.run(StdServerSession.java:194)

               at EDU.oswego.cs.dl.util.concurrent.PooledExecutor$Worker.run(PooledExecutor.java:756)

               at java.lang.Thread.run(Thread.java:619)

Keywords

KBA , sf employee central , LOD-SF-EC-BCI , Manage Business Configuration (BCUI) & Data Models (XML) , Problem

Product

SAP SuccessFactors HCM Core all versions