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?
- MO_GLOBAL.INIT should be used in Multi Org environment
- 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');