Correct me if I'm wrong - Even though ODI touts the ability to have one set of code for various physical environments, it doesn't make moving from say DEV to TEST any much easier.

What I mean to say is, even if I create 'InterfaceA' under the Logical Schema 'Phase1' and my Context is 'DEV' pointing to the Physical Schema for 'Development Data Server'; when I want to chance the Context to say 'TEST', I have to go into 'InterfaceA' and make that change to Context 'TEST'.

Now, I have to do this for 'InterfaceA' through 'InterfaceXY' and so on for each Package, Scenario, Procedure and so on.

Point being, there's not centralized mechanism to change all the Contexts for all the objects - therefore this functionality is nothing great.

Might as well copy all the objects to a New Repository and change the Contexts there. Have a Master Rep for each DEV, TEST and PROD.

What you need to do is ensure that you don't explicitly specify the context inside your ODI objects such as the interfaces. There is a setting called Execution Context which is what should be selected. Then when you execute your ODI scenarios you choose the execution context and this will be applied to all objects in the execution cycle

I See, and I remember. Got it. Don't specify the context within the object and pass it as a parameter during runtime/execution. I was aware of this at one point, but it slipped my mind - thanks much for the clarification.