ODI 12c: Renaming a Project

Hello all,

Working as a consultant has its own challenges which makes me try things at home, which drives me to play more with Oracle and ODI and learn new things. Today a new challenge appeared in front of me. I am working in an upgrade project, where the upgrade from ODI 10g to ODI 12c is already completed and my task is to test the codes in ODI 12c to see if they are still good. (There are some problems but they will be topic of another post.)

So today, our client admitted that they do not have only ODI 10g to upgrade, they also have an ODI 12c repository other than the upgraded one. And they want to merge two 12c repositories together. But there are some problems.

  1. Projects have the same name
  2. Some variables have the same name
  3. Some custom KMs have the same name but different codes.

So we thought of some methods and their possible outcomes. One option was to change the Project Name (and Code off course) but we could not decide how will ODI react to this change. So I decided to give it a try in my training VM tonight.

What I was expecting?

  1. ODI will recognize and change codes of variables in mappings
  2. ODI will recognize and change codes of variables in packages (refresh, evaluate, set, declare variable components)
  3. ODI may recognize the variable usage in procedure options
  4. ODI will not recognize and change variables in procedures

Let’s see what happened together:

First I created a new project and I created a variable called MY_VAR and put some refresh code in it, which does not matter since I am not going to run any of the objects for this demo.

Project Creation

Project Creation

Second I created MY_PROC with one task TASK 1 and one option MY_OPT. Task has one line of code, which is the MY_VAR itself, just to see if it will change.

MY_VAR

MY_PROC

Then I created a mapping called MY_MAP, put two random datastores in it. Made a link between them and mapped a column with MY_VAR.

MY_MAP

MY_MAP

Then I created a package MY_PACK which includes a Refresh Variable, MY_PROC with MY_OPT set to MY_VAR, and finally MY_MAP.

MY_PACK

MY_PACK

Finally I proceed to change Project Name and Project Code. ODI warns user in this step, that errors in objects may occur especially with project variables.

Rename

Rename

After I accepted the changing the name and the code, let’s see what happened. Refresh Variable in the pack is changed as I expected. You can see its new path in the lower right corner of the image. (click on image to see it bigger)

Refresh MY_VAR

Refresh MY_VAR

Option MY_OPT of MY_PROC did not change.

MY_OPT

MY_OPT

Code in MY_PROC stays the same after change.

MY_PROC

MY_PROC

Column mapping in MY_MAP did not change also which is a disappointment for me.

MY_MAP

MY_MAP

After seeing the results let’s check how many guesses I’ve done right. I will copy/paste the list from above.

  1. ODI will recognize and change codes of variables in mappings DID NOT HAPPEN
  2. ODI will recognize and change codes of variables in packages (refresh, evaluate, set, declare variable components) HAPPENED
  3. ODI may recognize the variable usage in procedure options DID NOT HAPPEN
  4. ODI will not recognize and change variables in procedures HAPPENED

So I achieved a score of 2 out of 4 in my guesses. And unfortunately ODI achieved to detect only 1 of the four scenarios. So be cautious about changing the name and the code of a project in ODI, actually be careful about changing the code of any othe objects too. (such as models, contexts etc.)

This demo has been done using ODI 12.1.2.0.0 and results may vary depending on the version.

Version

Version

Thanks for reading and please do not hesitate to write your comments or ask questions in section below.

Android : MAKEIT Rehber Project

Hello,

Last night I developed a new Android application for inhouse use of my company. Since we are a small company which aims to get bigger, our population keeps growing. This brings some problems with it. For example, some older employees don’t know about newcomers and their contact information.

One day I needed to call a new employee and I realised I don’t have her contact information. And before that point I was not aware of situation. Then I decided to make a phonebook that reads information from a shared file on internet, which our HR will update when somebody joins or leaves the company. So every employee would have every other’s contact information.

This is how MAKEIT Rehber was born. – Rehber means phonebook in Turkish. – Yesterday night I developed the first version of application, where the contact info was hardcoded, then added reading a remote file, then I added sending SMS or Whatsapp messages directly and lastly I added my own open source library : tellal to send notifications through MAKEIT Rehber. This notifications can be just new version notifications or something about company.

There is still some development to do. But it has more than enough abilities now.

Below you can find a screenshot.

MAKEIT Rehber

MAKEIT Rehber

 

Thanks for reading, please do not hesitate to ask your questions or comment on my posts in the comment area you can find below.

Have a nice day.

Project Management

Maia

There is a good project management article on the internet. Which takes delivering baby as a Software project and share which role thinks what about the project exactly. I believe it is really close to daily life projects, we have in enterprise companies, where we have an obivous line and knowledge difference between project roles. Here is that article.

Have fun!

  • Project Manager is a person who thinks nine women can deliver a baby in one month.
  • Developer is a person who thinks it will eighteen months to deliver a baby.
  • The Onsite Coordinator is one who thinks single woman can deliver nine babies in one month.
  • The Client is the one who doesn’t know why he wants a baby.
  • Marketing Manager is a person who thinks he can deliver a baby even if no man and woman are available.
  • The Resource Optimization Team thinks they don’t need a man or woman; they’ll produce a child with zero resources.
  • The Documentation Team doesn’t care whether the child is delivered, they’ll just document 9 months.
  • The User Interface Team will design a baby with three arms and one leg and ask if it can be done.
  • The Quality Auditor is the person who is never happy with the process to produce a baby.
  • Tester is a person who always tells his wife that this is not the right baby.
photo by: Sergiu Bacioiu