MarkView Oracle Integration - an error is encountered containing the text “Multi-organization routine failed to initialize a session”.
11957
Summary
11957
Applies To
- ERP System: Oracle R12 using Multi Org Access Control (MOAC)
- MarkView Version: All
Behavior
- An error similar to the following may be encountered:
java.sql.SQLException: ORA-20001: SQL_PLSQL_ERROR: N, ROUTINE, MO_GLOBAL.INIT, N, ERRNO, -20001, N, REASON, ORA-20001: SQL_PLSQL_ERROR: N, ROUTINE, MO_GLOBAL.SET_ORG_ACCESS, N, ERRNO, -20001, N, REASON, ORA-20001: APP-FND-02938: Multi-organization routine failed to initialize a session for the product: &PRODUCT. Please inform your support representative.
This error text may be part of a longer error message string and may be encountered in any of the following ways:
- On a MarkView application page during a MarkView session (e.g. AP or Expenses)
- When trying to open Working Folder in Oracle
- In a MarkView log file following a system update (e.g. usermgmt.log after an AUSS sync.)
Cause
- This error has been known to occur when an Application is not registered with Oracle. The application can be MarkView or another Application associated with MarkView or MarkView users.
Identifying the Application requiring registration
- If the Application requiring registration is not the MarkView application - which typically has the Application_Short_Name 'SQLAP' - it is usually in some way associated with MarkView or a MarkView User (e.g. by way of a Responsibility).
- The apps table FND_MO_PRODUCT_INIT can be queried for APPLICATION_SHORT_NAME and STATUS to identify which applications are registered (STATUS = Y):
Select * from fnd_mo_product_init;
- The following query can be used to identify which Applications are referenced by MarkView AUSS and therefore may be causing AUSS to fail with the above error:
SQL> select group_name, application_short_name from mv_auss_source_group sg, fnd_application a where source_application_id=application_id;
- The following query can be used to identify the ApplicationShortName and how it is referenced within the From Block Function configuration:
SQL> select '-' || fbf.form_block_function_id || '-', '-' || fbf.form_name || '-', '-' || fbf.block_name || '-', '-' || fbf.application_id || '-', '-' || mverp_form_block_func_admin.GetApplicationShortName(fbf.application_id) || '-', '-' || mverp_form_block_func_admin.GetResponsibilityKey(fbf.responsibility_id) || '-', '-' || fbf.responsibility_id || '-', '-' || mverp_form_block_func_admin.GetOrganizationName(fbf.organization_id) || '-', '-' || fbf.organization_id || '-', '-' || fbf.function_id || '-', '-' || af.description || '-', '-' || fbf.button_label|| '-', '-' || fbf.item_name || '-', '-' || fbf.property_name || '-', '-' || fbf.zoom_style || '-' from mverp_form_block_function fbf, sf_application_function af where af.function_id = fbf.function_id order by fbf.form_name, fbf.block_name, fbf.application_id, fbf.responsibility_id, fbf.function_id;
- The apps table FND_MO_PRODUCT_INIT can be queried for APPLICATION_SHORT_NAME and STATUS to identify which applications are registered (STATUS = Y):
Resolution
- The resolution is to register the required Application(s) with Oracle. The command to register an application requires a commit and is shown below:
SQL> exec FND_MO_PRODUCT_INIT_PKG.register_application('<AppName>','SEED','Y'); where <AppName> is the APPLICATION_SHORT_NAME of the application which requires registration.
APPLICATION_SHORT_NAMEs which are known to have caused this issue include: APXAMEXTRX SQLAP SQLGL XGL
Keywords: Multi Org Access Control, MOAC