What is MO_GLOBAL.INIT and When to Use MO_GLOBAL.INIT?

Before reading this post, if you are new to Multi Org and MOAC then read: MOAC – Oracle Apps ORG_ID, Multi Org Concept

What is MO_GLOBAL.INIT ?

MO_GLOBAL.INIT will read the “MO: Operating Unit” and “MO: Security Profile” profile option values from the current context (responsibility/user) and will initialize access to Multiple Organizations.

How does MO_GLOBAL.INIT initialize access to Multiple Organizations?

MO_GLOBAL.INIT will be executed in multi org environment, this API takes application short name as input and finds values for “MO: Operating Unit” and “MO: Security Profile” in the current context(responsibility/user). If the application being initialized is turned on with Multi-Org Access Control then access will be allowed for all the Operating Units under the security profile. (Note: Query for table FND_MO_PRODUCT_INIT to know if an application is turned on for multiple organizations access or not)

What if MO Profiles are not configured

If “MO: Security Profile” is configured then “MO: Operating Unit” is ignored, If “MO: Security Profile” is not configured and “MO: Operating Unit” is configured then the application being initialized is granted access only to a particular organization configured in “MO: Operating Unit”.

If both “MO: Operating Unit” and “MO: Security Profile” are not configured then its a critical error and MOAC will not function.

When should we use MO_GLOBAL.INIT?

  1. MO_GLOBAL.INIT should be used in Multi Org environment
  2. MO_GLOBAL.INIT will be called every time after logging into the application or whenever there is a switch in context/responsibility

Sample Usage of MO_GLOBAL.INIT

--Use this before API call
mo_global.init ('AR');