A "Ghost" Attribute is Added by Reverse Engineering to the ODI 12c Model But it Does not Exist in Salesforce (Doc ID 2278545.1)

Last updated on JULY 07, 2017

Applies to:

Oracle Data Integrator - Version 12.2.1.2.6 and later
Information in this document applies to any platform.

Symptoms

Using Salesforce with Oracle Data Integrator (ODI) 12.2.1.2.6.

After a sandbox refresh, ODI reverse-engineering adds attributes which do not exist in Salesforce to some of the Salesforce Models.

For example, in the Account entity there is an attribute (column) called "Account" added which does not exist in Salesforce.

The same happens for Opportunity.

If this unwanted attribute is then deleted from the Salesforce Model, an error message is signalled when you right click on the entity (Datastore) and chose "View Data" from the pop-up menu:

java.sql.SQLException: [FMWGEN][SForce JDBC Driver][SForce]INVALID_FIELD:
Account_Owner_Manager_Name__c, Account__c FROM Account
  ^
ERROR at Row:1:Column:3494
No such column 'Account__c' on entity 'Account'. If you are attempting to use a custom field, be sure to append the '__c' after the custom field name. Please reference your WSDL or the describe call for the appropriate names. in statement [select * from SFORCE.ACCOUNT]
  at weblogic.jdbc.sforcebase.ddcn.b(Unknown Source)
  at weblogic.jdbc.sforcebase.ddcn.a(Unknown Source)
  at weblogic.jdbc.sforcebase.ddcm.b(Unknown Source)
  at weblogic.jdbc.sforcebase.ddcm.a(Unknown Source)
  at weblogic.jdbc.sforcecloud.ddd.a(Unknown Source)
  at weblogic.jdbc.sforcecloud.ddh.p(Unknown Source)
  at weblogic.jdbc.sforcebase.ddez._(Unknown Source)
  at weblogic.jdbc.sforcebase.ddez.z(Unknown Source)
  at weblogic.jdbc.sforcebase.dddu.executeQuery(Unknown Source)
  at com.borland.dx.sql.dataset.o.f(Unknown Source)
  at com.borland.dx.sql.dataset.QueryProvider.e(Unknown Source)
  at com.borland.dx.sql.dataset.JdbcProvider.provideData(Unknown Source)
  at com.borland.dx.dataset.StorageDataSet.refresh(Unknown Source)
  at com.borland.dx.sql.dataset.QueryDataSet.refresh(Unknown Source)
  at com.sunopsis.graphical.frame.edit.AbstractEditFrameGridBorland.initialize(AbstractEditFrameGridBorland.java:644)
  at com.sunopsis.graphical.frame.edit.AbstractEditFrameGridBorland.(AbstractEditFrameGridBorland.java:925)
  at com.sunopsis.graphical.frame.edit.EditFrameTableData.(EditFrameTableData.java:49)
  at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
  at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
  at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
  at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
  at oracle.odi.ui.editor.AbstractOdiEditor.open(AbstractOdiEditor.java:115)
  at com.oracle.jdeveloper.nbwindowsystem.editor.EditorState.openEditor(EditorState.java:318)
  at com.oracle.jdeveloper.nbwindowsystem.editor.SplitPane.doLayout(SplitPane.java:579)
  at com.oracle.jdeveloper.nbwindowsystem.NbEditorManager.whenCurrentEditorChanges(NbEditorManager.java:1637)
  at com.oracle.jdeveloper.nbwindowsystem.editor.TabGroup.whenCurrentEditorChanges(TabGroup.java:1026)
  at com.oracle.jdeveloper.nbwindowsystem.editor.TabGroup.setCurrentTabGroupState(TabGroup.java:847)
  at com.oracle.jdeveloper.nbwindowsystem.editor.TabGroup.addTabGroupState(TabGroup.java:129)
  at com.oracle.jdeveloper.nbwindowsystem.NbEditorManager.createEditor(NbEditorManager.java:556)
  at com.oracle.jdeveloper.nbwindowsystem.NbEditorManager.createEditor(NbEditorManager.java:533)
  at com.oracle.jdeveloper.nbwindowsystem.NbEditorManager.openEditor(NbEditorManager.java:401)
  at com.oracle.jdeveloper.nbwindowsystem.NbEditorManager.openEditorInFrame(NbEditorManager.java:321)
  at ...


To reproduce the behavior:

  1. Reverse-engineer Salesforce objects "Accounts" and "Opportunities"
  2. Observe that there is a new attribute added to the corresponding Datastores. However, the attribute actually doesn't exist on the Salesforce back-end server
  3. Remove the additional attribute from the Salesforce model in ODI
  4. Right-click on the Model (or Datastore) and select "View Data". Notice the error.

Changes

 

Cause

Sign In with your My Oracle Support account

Don't have a My Oracle Support account? Click to get started

My Oracle Support provides customers with access to over a
Million Knowledge Articles and hundreds of Community platforms