My Oracle Support Banner

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 NOVEMBER 09, 2018

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

To view full details, sign in with your My Oracle Support account.

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


In this Document
Symptoms
Changes
Cause
Solution


My Oracle Support provides customers with access to over a million knowledge articles and a vibrant support community of peers and Oracle experts.