Wednesday, May 6, 2015

Automap For ODI12c Not Working?

ODI 10g and 11g came with a nifty function that when you pulled a source and a target into an Interface it would ask you if you wanted to Automap columns. This function was a default setting that came when installing the client.
A client wanted to go with ODI12c and be on the bleeding edge of Oracle technology. Install and Upgrade went perfectly, but when we would drag from one bubble to another to cause an Automap to automagically happen, absolutely nothing happened. Why in the world would Oracle take this awesome and sometimes critical option away?
First things first. We downloaded the VMBox that Oracle so nicely provides on their website. (just ask and I will point you to this). After downloading ODI12c vm, reading the install guide, release notes, and completing the install we were ready to see what Oracle had done. Lo and behold, Automapping works using the prepackaged VM from Oracle. Next logical thing was to go out to OTN and see if anyone else was having this issue. All we were able to find was the following:
Attribute Matching
“The Attribute Matching Dialog is displayed when a connector is drawn to a projector component (see "Projector Components") in the Mapping Editor. The Attribute Matching Dialog gives you an option to automatically create expressions to map attributes from the source to the target component based on a matching mechanism. It also gives the option to create new attributes on the target based on the source, or new attributes on the source based on the target.
This feature allows you to easily define a set of attributes in a component that are derived from another component. For example, you could drag a connection from a new, empty Set component to a downstream target datastore. If you leave checked the Create Attributes On Source option in the Attribute Matching dialog, the Set component will be populated with all of the attributes of the target datastore. When you connect the Set component to upstream components, you will already have the target attributes ready for you to map the upstream attributes to.”
With all research exhausted we decided that it must be an issue with the install and upgrade. After everything was reinstalled and re-upgraded we discovered the Automap still wasn’t working. We then opened an SR with Oracle, which simply stated, “Why isn’t Automap working in 12c… Please Help!?” They informed us that it’s not standard to have Automapping active and it’s by user preference now, so it can be turned off and on at will. There is no mention of this anywhere.
With that said here are the steps that will make your life easier in the future... First, login to an ODI Development environment (make sure it’s not an execution environment).
Follow these steps:
1. Click on Tools>Preferences
B_1
2. Go To ODI and Click on the +
b_2
3. Under ODI click on the + beside User Interface
b_3
4. Under User Interface click on Designer, to the right you will see that the “Display ‘Attribute Matching’ dialog for mappings”
b_4
It’s that simple. Now you have Automapping.
Now let’s cover why you would want to turn off this amazing feature sometimes when you are developing. Let’s say you have a lot of development that is not a 1:1 column mapping, if you are not careful you could accidently create columns on your Components (Components are new to 12c’s flow based processing).
b_5
As you can see from the above screenshot there are a lot of options to uncheck just because you wanted to draw the data flow path from one object to another. Save yourself time -- unless you need to have it checked leave it turned off. Odds are if you are moving whole tables from one place to another, you are moving tables and data from SQLServer to Oracle.