This action might not be possible to undo. Are you sure you want to continue?
1. What is Multiple Organizations (Multi-Org) architecture? Multi-Org feature uses database views to partition data. The security is embedded in the view layer, which allows access to the partitioned data without any changes to the applications code. The Multi-Org views reside in the APPS schema, which has access to the complete E-Business Suite data model, and contains synonyms to all tables and sequences, stored procedures, views, and database triggers. All applications code runs against the APPS schema. The Multi-Org views are based on the Multi-Org tables that are partitioned by Operating Unit (ORG_ID). These tables reside in the product schema (for example, AP). A Multi-Org table is named with _ALL suffix. In the APPS schema, the corresponding Multi-Org view is created with the same table name without the _ALL suffix. For example, AP schema has a Multi-Org table named AP_INVOICES_ALL; the APPS schema has a corresponding synonym named AP_INVOICES_ALL, which can be used to access all the data. The view AP_INVOICES exists in the APPS schema to access the partitioned data by Operating Unit. The Multi-Org views derive the Operating Unit context from a global database variable “CLIENT_INFO” included in the view definition. 2. How do you set the CLIENT_INFO variable? The CLIENT_INFO variable is a global database variable that has been introduced in Release 10.7 to hold the ORG_ID value and other information. It is 64 bytes long. The first 10 bytes are used to store the ORG_ID value. Upon session initialization, AOL initialization (FND_GLOBAL.initialize) populates the org context in the CLIENT_INFO global database variable, with the value from the profile option "MO: Operating Unit". The org context in the CLIENT_INFO variable is set only if you have enabled Multi-Org in your database. This can be verified by looking at the MULTI_ORG_FLAG in FND_PRODUCT_GROUPS table. The MULTI_ORG_FLAG is 'N' or NULL in a non Multi-Org database and ‘Y’ in a Multi-Org database. Even though the ORG_ID column in the database tables allows a maximum of 15 digits, only 10 digits are used for the org context in the CLIENT_INFO variable. If you specify more than 10 digits for the ORG_ID in the profile option "MO: Operating Unit", you will get an error when your session is initialized. The API FND_CLIENT_INFO.set_org_context, which sets the org context in the CLIENT_INFO variable, raises the error. Additional information is available in Metalink Note 233987.1. 3. Why is the ORG_ID value in CLIENT_INFO variable different from SQL*Plus vs. from Applications? You may not be initializing your session in SQL*Plus in the same way as in Applications. When you access a form from Applications, the FND_GLOBAL.initialize() API sets the org context in the CLIENT_INFO variable. This API accepts the user_id, responsibility_id, and resp_appl_id for the session as input parameters, and performs the following activities: • Reads the profiles, and caches the values
NULL.SUBSTRB(USERENV(‘CLIENT_INFO’). In such case. then that data should not belong in a Multi-Org table in the first place.–99) If you have not enabled Multi-Org in your database.apps_initialize() API in turn calls FND_GLOBAL. You can retrieve these values from Applications. 5.‘ ‘. Can you use –99 for ORG_ID value in a Multi-Org table? The Multi-Org views include a CLIENT_INFO predicate that filters data based on the org context in the CLIENT_INFO variable.g. .set_client_info(). These APIs initialize only the org context. and pass user_id. Alternatively.–99)) =NVL(TO_NUMBER(DECODE(SUBSTRB(USERENV(‘CLIENT_INFO’). it is not recommended to directly call APIs that set the CLIENT_INFO org context.NULL.apps_initialize() API. 6. and custom initialization To mimic the behavior you observe in Applications to SQL*Plus.1. The Multi-Org views filter data. If you have a business need for global data.1. responsibility_id and resp_appl_id FND_GLOBAL.1). which will require a temporary table to be populated with one or multiple Operating Units. for ORG_ID value.1). How is the ORG_ID value stored in the Multi-Org tables? If you provide an ORG_ID value when you perform an insert. or dbms_application_info. you must not stamp your transaction with a negative integer. SUBSTRB(USERENV(‘CLIENT_INFO’). fnd_client_info. The ORG_ID value can be a positive integer or can be NULL. In SQL*Plus. you need to execute the FND_GLOBAL. –99. navigating to Help -> Examine Getting the session values for user_id. and the MRC context in the CLIENT_INFO variable Sets the Security Group context Executes product specific. A sample Multi-Org view is as given below: SELECT * FROM <table name>_ALL WHERE NVL(ORG_ID.setup_client_info().NVL(TO_NUMBER(DECODE(SUBSTRB(USERENV(‘CLIENT_INFO’). by executing the following steps: • • • Logging in.• • • Sets the org context.g.1. Any other value will not be retrieved by the views. or based on NULL ORG_ID. which is insufficient because of an upcoming feature of E-Business Suite. that ORG_ID value is stored. e. How do Multi-Org views secure the data? The Multi-Org views secure data based on the Operating Unit associated with a Responsibility.10))).initialize() API as in Applications. the CLIENT_INFO org context is not set.10))). e. the views return only the rows that have NULL value for ORG_ID column.1. based on the value of the org context in the CLIENT_INFO variable. responsibility_id and resp_appl_id as parameters. Global data is stored with NULL ORG_ID value. you can have the data made available to every Operating Unit. and choosing the Responsibility that you are interested in From the menu.‘ ‘. To make data globally available. 4.
How do you convert a global table into a Multi-Org table? To convert a global table into a Multi-Org table. 8. those views will be replaced by synonyms with the Multi-Org security policy attached. • Inform AD to remove the table from the list of Multi-Org tables in the AD_MORG package 9. include ORG_ID as part of the composite unique index Inform AD to add the Multi-Org table in the AD_MORG package. 10. 7. The recommendation is to set the ORG_ID column to UNUSED in the current release. • If ORG_ID column was part of the composite unique index. The MO_GLOB_ORG_ACCESS_TMP table is used to store the list of Operating Units to which a Responsibility has access. How do you convert a Multi-Org table into a global table? To convert a Multi-Org table into a global table. which is the org context stored in the first 10 bytes of the CLIENT_INFO global database variable. What is the purpose of MO_GLOB_ORG_ACCESS_TMP table? To prepare for an upcoming feature of the E-Business Suite. Today the Multi-Org views are secured by the CLIENT_INFO predicate. a session specific global temporary table has been introduced for Multi-Org. then drop ORG_ID column. giving user access to one Operating Unit at a time. This should be done after all objects that reference the table have been updated to reflect the name change. This package lists all Multi-Org tables. and to drop the column in the subsequent major release of the E-Business Suite. first upgrade the data in the table to unique values without including the ORG_ID value. The table is populated by the Multi-Org initialization code upon session initialization and is used in the Multi-Org security policy function to control data secured by Operating Unit. execute the following steps: • • • • • Rename the table to add _ALL suffix Add ORG_ID column to the table Include RDBMS default value for ORG_ID column to use the CLIENT_INFO predicate if value not specified If the table contains seed data that is replicated to every Operating Unit. Why do you see increased temporary tablespace resource usage after applying 11.If you do not provide an ORG_ID.5. the database uses the default value.8 . and whether the tables contain seed data to be replicated. In the future. execute the following steps: • • Drop the Multi-Org view Rename the table to remove _ALL suffix.
therefore significantly reducing the tablespace resource consumption of every user who logs on the system. This has been causing “No Data Found” error in many forms. Can you set “MO: Operating Unit” profile option in a non Multi-Org database? In a non Multi-Org instance.1. Irrespective of the "MO: Operating Unit" profile option at the Responsibility level. the profile option “MO: Operating Unit” is ignored and the org context in the CLIENT_INFO variable is not set. Several other products will also use this profile option. you may optionally set this profile option at Responsibility level. is populated on session initialization with one or more Operating Units for all products that have an integration point with Multi-Org. Additional information is available in Metalink Note: 211431. If you use JTF Territories. 15. The org context in the CLIENT_INFO variable is set only if the MULTI_ORG_FLAG is set to ‘Y’ in the FND_PRODUCT_GROUPS table. 13. The MULTI_ORG_FLAG is 'N' or NULL in a non Multi-Org database. Solution to the problem has been provided through patch 2822998. Additional information is available in Metalink Note: 211431. What is the purpose of the profile option "MO: Distributed Environment"? The profile option "MO: Distributed Environment" is introduced to handle Multi-Org initialization in a .1. The temporary table is now populated for only the products that have made code changes to uptake the upcoming feature of the E-Business Suite. This results in increased temporary tablespace resource consumption. Otherwise. You should not set this profile option at any level. CRM Foundation (JTF) product uses the profile option "MO: Security Profile" to control data secured by Operating Unit for inquiry only. Profile Options 11. which is available for download from Metalink. because of an upcoming feature of the E-Business Suite. a Multi-Org temporary table.Maintenance Patch? For an upcoming feature of E-Business Suite. MO_GLOB_ORG_ACCESS_TMP. What is the purpose of "MO: Default Operating Unit" profile option? The "MO: Default Operating Unit" profile option is reserved for an upcoming feature of the E-Business Suite. Why is the Responsibility level value for the profile option "MO: Operating Unit" not retrieved when you access Applications? Recent changes to Profiles Hierarchy feature have introduced this problem. 12. only the Site level value was cached. 14. Solution to the problem has been provided through patch 2816177. do not set this profile at any level. It does not matter whether you have set up one or more Operating Units in the system. What is the purpose of the "MO: Security Profile" profile option? Currently.
several products of the E-Business Suite have been modified to use the new Multi-Org Initialization code that populates a temporary table. you will get "No data found" error. which includes autonomous commit. Additional information is available in Metalink Note: 214702.distributed environment. The initialization code raises the aforementioned error if the profile option "MO: Security Profile" is set. If the Multi-Org initialization is not executed on forms opening for those products.1 18. Responsibility. which is available for download from Metalink. Multi-Org initialization uses autonomous transaction. end. Please check if your profile option "MO: Security Profile" includes any Operating Unit or the profile option "MO: Operating Unit" is set”? For an upcoming feature of the E-Business Suite. or Application level: begin mo_global.init. with a prior version of the database. How do you register Multi-Org Access Control initialization for Custom Products? To prepare for an upcoming feature of the E-Business Suite. but does not include any Operating Units. because autonomous transactions are not supported in a distributed environment prior to . Users who are using distributed transactions in a Multi-Org environment. Those products are registered in the AOL Callout tables to execute Multi-Org initialization on session startup. should set this profile option to 'Yes' at Site.1. Why is the following error raised when you run “Refresh Snapshots” process in Oracle Advanced Pricing Module: "ORA-00164: autonomous transaction disallowed"? This error is raised when the Multi-Org initialization code. As custom products are not registered in this table. you will get the same error. You will also get the error if either "MO: Security Profile" or "MO: Operating Unit" profile option is not set. Additional information is available in Metalink Note: 228329. is executed. Make sure you have applied patch 2820541. Why is the following error raised when you open a form: "You do not have access privilege to any Operating Unit. Session Initialization 16. To execute the Multi-Org Initialization code on session startup for a Responsibility that is associated with a custom product. which is supported in a distributed environment from Release 9iR2.1. to indicate that autonomous commit should not be used in the Multi-Org initialization. add the following PL/SQL block to the “Initialization SQL Statement – Custom” profile option at Responsibility. the Multi-Org initialization is modified to populate a temporary table with the Operating Units specified by the profile option "MO: Security Profile". or User level. The solution ignores the “MO: Security Profile” profile option value even if it is set. Additional Information is available in the Metalink Note 201520. 17.
if you do not use predefined valuesets for validation Validate_Reporting_Entity procedure. which will generate the appropriate SQL predicate at runtime. You need to pass the table alias to this function. which is available for download from Metalink. which initializes the lexical parameter(s) P_ORG_WHERE used in the report query. which retrieves the Legal Entity Name for a given Operating Unit Get_Legal_Entity_Info. which retrieves the Legal Entity Id and Legal Entity Name for a given Operating Unit Get_Set_Of_Books_Name. Solution to the problem has been provided through patch 2753304. You need to set the profile option "MO: Distribute Environment" to ‘Yes’ for the Responsibility you are getting the error. What public APIs are available for Cross Organization Reporting feature? The following public APIs are available in XLA_MO_REPORTING_API package: • • Initialize procedure. You can convert to Multi-Org by running the process available from the Database Objects menu of the ADADMIN utility. which validates the reporting level parameter.Release 9iR2. What is involved in the “Convert to Multi-Org” process? The Convert to Multi-Org process upgrades a standard product group into a Multi-Org product group. if you do not use predefined valuesets for validation Upgrade 21. which retrieves the Set of Books Name for a given Operating Unit Get_Set_Of_Books_Info.1. Multi-Org initialization is now modified to support distributed and non distributed environments. which initializes the security context for the current database session Get_Predicate function. Public APIs 19. You can choose this option only if you do not already have Multi-Org enabled in your database. What public APIs are available in the MO_UTILS package? The following public APIs are available: • • • • • Get_Legal_Entity_Name. Additional information is available in Metalink Note: 228329. . which retrieves the Set of Books Name and Set of Books Id for a given Operating Unit Get_Multi_Org_Flag. which validates the reporting entity parameter. • • Validate_Reporting_Level procedure. which retrieves if the database has been converted to Multi-Org (Y) or not (N or NULL) 20.
The program can be run in “single organization” mode or in “all organization” mode. The patch number is 2576566. Additional information is available in Metalink Note 220382. The “Replicate Seed Data” process copies the row.The “Convert to Multi-Org” process does the following: • • • Populates the ORG_ID column with the Operating Unit value you specified for the profile option: "MO: Operating Unit" at site level. A shared seed data row has an ORG_ID value of -3114. make sure you do the following: • • Apply the AD Patch 2412184: ADADMIN Convert to Multi-Org Performance Improvement: Increase parallelization Define at least one Operating Unit.7 is available for download from Metalink. Seed data that is replicated to every Operating Unit has an ORG_ID value of -3113. The “Replicate Seed Data” process copies the row to every Operating Unit you defined in the system if you run the process in “all organization” mode.1. If your database is not Multi-Org enabled. make sure you apply the following TCA patch as post conversion process: • Patch 2451368: Migrate data from Customers to Site Uses 22. or to a particular Operating Unit if you run the process in “single organization” mode. Before running the “Convert to Multi-Org” process. and set the profile option. What enhancements to the “Convert to Multi-Org” process are available? In Release 10. Runs the “Replicate Seed Data” program. 23. It now uses the adpatch infrastructure to launch multiple instances of the conversion script that . the “Replicate Seed Data” process copies both types of seed data to new rows with NULL value for ORG_ID column. What is involved in the “Replicate Seed Data” process? The “Replicate Seed Data” process copies the seed data in the Multi-Org tables. The “single organization” mode applies when the “Replicate Seed Data” process is executed within the context of a particular Operating Unit (or ORG_ID). sets ORG_ID value to NULL in the new row. the “Replicate Seed Data” process is run for all Operating Units. 11 and 11i.7. "MO: Operating Unit" at Site level. to that Operating Unit’s value After running the “Convert to Multi-Org” process. There are two types of seed data: shared and replicated to every Operating Unit. Sets the MULTI_ORG_FLAG in the FND_PRODUCT_GROUPS table to “Y”. the “Convert to Multi-Org” process has been improved to significantly reduce the time needed to convert a non Multi-Org system into a Multi-Org system: • The improved “Convert to Multi-Org” process for Release 10. The “all organization” mode applies when the “Replicate Seed Data” process is executed without any Operating Unit context. and makes the row available across Operating Units. If you define more than one Operating Unit.
• The improved “Convert to Multi-Org” process for Release 11i is available for download from Metalink. Bulk bind is a feature introduced in Oracle 8i that minimizes the number of context switches between the SQL and PL/SQL engines. "Multiple Organizations in Oracle Applications" for Release 11i. it falls back to conventional SELECT and UPDATE statements. Otherwise. and Release 10. This results in a significantly reduced overhead. amount of memory. it falls back to conventional SELECT and UPDATE statements. This results in a significantly reduced overhead. The performance gain is dependent on several factors such as the number of CPUs. • The improved “Convert to Multi-Org” process for Release 11 is available for download from Metalink. Additional information is available in Metalink Note 208267. and the volume of data to be updated. The process detects the version of the database server and only uses bulk binds if it is 8i or greater. the process uses bulk binds to improve the performance of the SELECT and UPDATE statements. or Release 10 / Architecture Feature information can be found in the following locations: • MetaLink or iSupport: Navigate to Top Tech Docs / E-Business Suite: ERP / Applications Core Technology / Multiple Organizations Architecture (Multi-Org) Top of Page . Where can you find more information on Multiple Organizations (Multi-Org)? The user's guides. Additional information is available in Metalink Note 220384.7 can be found in the following locations: • MetaLink or iSupport: Navigate to Top Tech Docs / E-Business Suite: ERP / Applications Core Technology / Multiple Organizations Architecture (Multi-Org) / Manuals and eTRMs / Release 11i. In addition. It now uses bulk binds to improve the performance of the SELECT and UPDATE statements. Each instance handles the conversion of one Multi-Org table. Bulk bind is a feature introduced in Oracle 8i that minimizes the number of context switches between the SQL and PL/SQL engines. memory. It now uses AD's parallel update method to increase server's CPU utilization for updates.1.execute in parallel. The patch number is 2573222. Release 11. The patch number is 2412194. Release 11. The performance gain is dependent on several factors such as the number of CPUs.1. The program detects the version of the database server and only uses bulk binds if it is 8i or greater. Otherwise. and the volume of data to be updated. Documentation Library 24.
in more than 145 countries around the world. along with related consulting. the company offers its database.1 billion.506. With annual revenues of more than $10. CA 94065 USA Worldwide Inquiries: 650.Oracle Corporation World Headquarters 500 Oracle Parkway Redwood Shores.oracle.7000 Fax: 650. education.com Oracle Corporation (Nasdaq: ORCL) is the world's leading supplier of software for information management. and support services. Features and screen shots shown may not correspond exactly to the released product. Copyright © 2002 Oracle Corporation All Rights Reserved . and the world's second largest independent software company.506. Oracle is a registered trademark of Oracle Corporation.7200 http://www. tools and application products. All other company and product names mentioned are used for identification purposes only and may be trademarks of their respective owners.
This action might not be possible to undo. Are you sure you want to continue?
We've moved you to where you read on your other device.
Get the full title to continue listening from where you left off, or restart the preview.