OBIEE Integration With Oracle Apps
OBIEE Integration With Oracle Apps
doc
Oracle Business Intelligence Enterprise Edition (OBIEE) 11g Oracle E-Business Suite (Oracle Apps) Integration
162259289.doc
This document details about the steps required to integrate Oracle BI Applications (7.9.6.3) with Oracle E-Business Suite Applications R12 in the following ways. Single Sign-On first into Oracle E-Business Suite R12.1.3 and have that authentication passed through to Oracle BI EE 11g. Embed links to OBIEE 11g dashboard/answers in Oracle E-Business Suite pages. Create Action Links within Oracle BI EE 11g reports and dashboards that take you back into Oracle E-Business Suite in context. Activate Sign-Out Link within Oracle BI EE 11g that take you back into Sign-In page of your choice (Oracle E-Business Suite or Oracle BI EE). To achieve this we need to fulfill the below steps. 1. Embedding Link to Navigate (EBS to OBIEE) Create Function Create Menu Assign Menu to a Responsibility Assign Responsibility to Users Setting up the Profile 2. Modifying the OBIEE Repository File (RPD) Setup the Connection Pool Setup the Initialization Block 3. Modifying the OBIEE Configuration Files (XML Files) Modify Authenticationschemas.xml Modify Instanceconfig.xml Modify Actionframeworkconfig.xml 4. Creating Application Roles Create Application Role in EM Assign Access to New Application Role 5. Assign privileges to Catalog / Subject Areas Assign Privileges to Dashboards & Answers Assign Permission to Catalog Components Assign Permissions to Presentation Subject Areas 6. Embedding Link to navigate Back (OBIEE to EBS) Action Link to EBS Form Passing Context to EBS Forms
1.) Embedding Link to Navigate (EBS to OBIEE): To embed a link in Oracle E-Business Suite that opens Oracle Business Intelligence dashboards/answers, you need to create a form functions, menu and responsibility. First login to Oracle E-Business Suite with the System Administrator credentials as shown below.
Creating Function: Then, select the System Administrator responsibility from the Main Menu which is on the left, drill to Application. The available menus appear in the Application are Function, Menu, Administer Folder, Currency, Network Testetc.
162259289.doc
Please select Function from the Application Menu, the Form Functions dialog will appear. In the Description tab of the form, Enter the name of the Function for the Function Field Example: OBIEE-DASHBOARD OBIEE-ANSWERS Enter the User Function Name Example: OBIEE Dashboard, OBIEE Answers Give the Description in the Description Field Save the changes by using Save Button from the toolbar.
In the Properties tab of the Form Function, Specify the type as SSWA jsp function for both the Functions.
162259289.doc
In the Web HTML tab of the Form Function, For the HTML Call, enter one of the following options To link to answers, enter OracleOasis.jsp?mode=OBIEE&function=Answers To link to dashboards, enter OracleOasis.jsp?mode=OBIEE&function=Dashboard Save the changes using Save Button on the toolbar.
Create Menu: From the Application menu, select Menu. The Menus dialog appears. Enter the name of the Menu Example: OBIEE Enter a User Menu Name Example: OBIEE For Function, enter the name of the functions created in the previous section. i.e. OBIEE-DASHBOARD and OBIEE-ANSWERS Save the changes using the Save Button on the toolbar, and then close the Menus dialog.
162259289.doc
Assign Menu to a Responsibility: You can create a new responsibility or an existing responsibility can be used. Below steps shows how to create a new responsibility. From the Security Menu, Click on Responsibility and select Define.
Enter the name of the responsibility (OBIEE-Financials). Select the application for which the responsibility is being created. Specify a unique Responsibility Key (OBIEE-Financials). For Available Form, Select Oracle Self Service Web Applications. For Data Group, enter Standard for Name and re-enter the application name for Application. For Menu, enter the name of the menu you created in the previous section (OBIEE).
162259289.doc Save you changes using the Save button on the toolbar, and then close the responsibilities dialog.
Repeat same steps given above to create another responsibility name (OBIEEProjects).
Assign Responsibility to Users: You can create a new user or an existing user can be used. Below steps shows how to create a new user.
From the Security Menu, Click on User and then Select Define. Enter the name of the user. Specify the responsibilities that this user will have access to. (OBIEE-Financials or OBIEE-Projects). Save you changes using the Save button on the toolbar, and then close the Users dialog.
162259289.doc
162259289.doc
Click Find. On the resulting screen, specify the Oracle Business Intelligence URL.
Have a look on below screen that has example URL as:
http://my_server.domain.com:port (http://otap1.lahd.pola:9704)
162259289.doc
For port, enter the Web server port where Oracle Business Intelligence is running (for example, 9704).
Save your changes using the save button on the toolbar. Repeat same steps given above for another responsibility name: OBIEEProjects. Save your changes using the save button on the toolbar. 2.) Modifying the OBIEE Repository File (RPD): You have to modify OBIEE repository file (rpd) for EBS-OBIEE integration. If you have implemented BI Application, all required variables, connections pools will already be there for you. If not, you need to create them manually using this document as an example. Set up the Connection Pools:
In the Oracle BI Administration tool, open the RPD in offline mode. In physical layer, select the Oracle EBS OLTP Initblocks Connection Pool. On the Connection Scripts tab, the value of Execute on Connect property should be as follow.
Call /* valueof(NQ_SESSION.ACF) */ APP_SESSION.validate_icx_session(valueof(NQ_SESSION.ICX_SESSION_COOKIE))
162259289.doc
Set up the Initialization Block: Open the RPD. From Menu Bar, select Manage Variables Initialization Block. Check whether the Initialization Block EBS Security Context exists or not. If not, please follow steps a - j mentioned below. If it exists, please skip steps (a) and (b) below, start with (c.) and verify that the settings for this initialization block is similar to as mentioned here: a) From the Action menu, select new and then select New, then Session and then Initialization Block. b) Enter/Select the name of the initialization block EBS Security Context. c) If Initialization Block EBS Security Context is disabled, Right click on it and select Enable. d) For default Initialization string enter the following. Select FND_GLOBAL.RESP_ID, FND_GLOBAL.RESP_APPL_ID, FND_GLOBAL.SECURITY_GROUP_ID, FND_GLOBAL.RESP_NAME, FND_GLOBAL.USER_ID, FND_GLOBAL.EMPLOYEE_ID, FND_GLOBAL.USER_NAME, FND_GLOBAL.RESP_NAME from dual e) For Connection Pool, Click Browse and select the Oracle EBS OLTP Initblocks Connection Pool. f) Click Ok. g) Click Edit Target Data.
162259289.doc h) Create the following Session Variables (In the same order). OLTP_EBS_RESP_ID OLTP_EBS_RESP_APPL_ID OLTP_EBS_SEC_GROUP_ID OLTP_EBS_RESP_NAME OLTP_EBS_USER_ID OLTP_EBS_EMPLOYEE_ID USER ROLES Note: To add variable User and Roles, follow the below steps. First, delete the existing session variable USER and existing target variable OLTP_EBS_USER under EBS Security Context Edit Target Data.
162259289.doc
Then Create new Session Variables for USER and ROLES using New Button. If the Admin Tool prompted for USER Session Variable has special purpose. Are you sure want to use this name ? then click Yes.
i) Click Ok. j) Enable Required for Authentication checkbox. k) Click Ok. Note: If Initialization Block is disabled, to enable it right-click and select Enable.
162259289.doc
162259289.doc You need to modify few OBIEE configuration files to enable EBS OBIEE integration for user security. After making the changes in all XML configuration files, we need to Restart Oracle Business Intelligence Services. Modifying Authenticationschemas.xml: This file can be found on server at: ORACLE_HOME/bifoundation/web/display Open the file authenticationschemas.xml for editing. Find the following element in the file: <AuthenticationSchema name="EBS-ICX" Locate the sub-element RequestVariable source="cookie" and change the value of the nameInSource attribute from ICX_SESSION to the name of the EBS ICX authentication cookie prefix. <RequestVariable source="cookie" type="auth" nameInSource="TEST" biVariableName="NQ_SESSION.ICX_SESSION_COOKIE" /> Note: Ask your Oracle E-Business Suite administrator for the name of the EBS ICX authentication cookie if you do not know it. Alternatively, follow these steps to find the cookie name: Log in to Oracle E-Business Suite. Enter the following text in the address bar of your browser: javascript:write(document.cookie) The cookie is displayed. For example: TEST=hEXoGr7ZPJW0ZDVE3gTU7YPM4d The value you need to provide in authenticationschemas.xml is the prefix of the EBS ICX authentication cookie. In the previous example, the EBS ICX authentication cookie is TEST=hEXoGr7ZPJW0ZDVE3gTU7YPM4d, and the prefix is TEST. In the same entry (RequestVariable source="cookie"), ensure that the value of the biVariableName attribute is the same as the value you entered as part of the connection script when you created the connection pool for the Oracle E-Business Suite database. Find the following element: <SchemaKeyVariable source="cookie" Change the value of the nameInSource attribute from ICX_SESSION to the name of the EBS
162259289.doc ICX authentication cookie prefix (i.e. TEST). For example: <SchemaKeyVariable source="cookie" nameInSource="TEST" forceValue="EBSICX"/> Save and close the file. Below you can see the Original XML and Modified XML.
162259289.doc
Modifying Instanceconfig.xml: This file can be found on server at: ORACLE_INSTANCE/config/OracleBIPresentationServicesComponent/coreapplication _obipsn Open the file instanceconfig.xml for editing. Locate the <Authentication> element. Include EBS-ICX in the list of enabled schemas. For example: <EnabledSchemas>UidPwd,Impersonate,UidPwd-soap,Impersonate-soap,EBSICX</ EnabledSchemas> Ignore the comment in instanceconfig.xml that says this setting is centrally managed. EBSICX must be manually added to the EnabledSchemas element. If you want to have Sign-Out link in OBIEE page (so you can log out from OBIEE and go to any webpage of you choice, for example EBS login page); You need to perform the following steps in order to get the Log out (Sign out) link displayed in OBIEE 11g.
162259289.doc Inside the <Authentication> section, add the following tag block <SchemaExtensions> as given below:
As example, you may use the following log-off / log-on URL options: EBS Homepage: http://<your EBSserver:port>/OA_HTML/OA.jsp?OAFunc=OAHOMEPAGE Analytics logoff: http://<your BI server:port>/analytics/saw.dll?Logoff Analytics logon: http://<your BI server:port>/analytics/saw.dll?bieehome&startPage=1 Save and close the file. Below you can see the Original XML and Modified XML.
162259289.doc Modifying Actionframeworkconfig.xml: This file can be found on server at: <Oracle Middleware Home>\user_projects\domains\bifoundation_domain\ config\ fmwconfig\biinstances\coreapplication This change is needed when you create action link inside OBIEE to navigate back to Oracle EBS form.
162259289.doc
After making all changes in XML configuration files, Restart Oracle Business Intelligence services.
162259289.doc 4.) Creating Application Roles: In this section, we will create an application role which must be same as responsibility name which we created in EBS (in this example, we created EBS responsibility OBIEEFinancials so we need to create application role name OBIEE-Financials) using Oracle Enterprise Manager 11g. To access to subject areas and catalog, we can add this new application role to an existing application role as a member (in this example, it will be member of BIAuthor) or we can use these newly created application roles without using any other existing application roles. In this example, we will use newly created application roles directly; without using any existing application roles. Creating Application Role in EM: Login to Enterprise Manager 11g using Admin Credentials (i.e. weblogic) Navigate to Business Intelligence coreapplication Right click on coreapplication Security Application Role.
162259289.doc Enter Role Name, Display name, Description as OBIEE-Financials. Click OK Repeat same steps to create another application role: OBIEE-Projects.
After creating two Application Roles i.e. OBIEE-Financial and OBIEE-Projects, the screen will appear as follows.
162259289.doc
Here no need to assign members or users in these application role here in Enterprise Manager. Assign Access to New Application Roles: If we want to use an existing application role to have same access/privileges for newly created application role, we can assign newly created application role to existing roles BIAuthor. We can also use newly created application role directly; without using any existing application role. Using existing application role BI Author to use its access level for newly created application role (for example: OBIEE).
Click on existing role name BIAuthor Click Add Application Role in Members section Search, move OBIEE application role name from left to right pane (Selected Roles), and then Click OK
162259289.doc
Click on OK
Now, newly created application role OBIEE is member of existing application role BIAuthor (which already have privileges for subject areas and catalog).
162259289.doc
5.) Assign Privileges to Catalog / Subject Area Access: We need to assign appropriate access to application role inside Dashboards Administration area so users related to new responsibility can access catalog as per requirement. Assign Privileges to Dashboards & Answers: Login to BI Analytics using Admin Credentials (Ex: weblogic). Click on Administration.
162259289.doc Add application roles OBIEE-Finance and OBIEE-Projects by clicking on New Button (+), to give access to Dashboards and Answers.
You can see the two Application Roles OBIEE-Finance and OBIEE-Projects as below after giving privileges to Dashboard.
Add application role OBIEE-Finance in appropriate Subject Area section to give privilege to that particular Subject Area.
162259289.doc
Same as above add the application role OBIEE-Projects to the particular Subject Area. After adding the two roles you can see the below screen which is having privileges to OBIEE-Finance and OBIEE-Projects.
162259289.doc
Click on Back and then Sign-out. Assign Permissions to Catalog Components: Login to BI Analytics using Admin Credentials (Ex: weblogic). Navigate to Catalog.
Navigate to the folder within Shared Folder to which you want to assign permissions.
162259289.doc
Select No Access for Authenticated User Select Full Control for newly created application role. OBIEE-Financials for Financials folder OBIEE-Projects for Projects folder Select OK
Note: For all shared folders which you do not want to show for any users, select No Access for Authenticated User.
162259289.doc Assign Permissions to Presentation Subject Areas: In repositorys presentation subject area, you need to assign permissions to newly created application role (i.e. OBIEE-Financials, OBIEE-Projects). Check permission property tab for all related subject areas (in presentation layer) and make appropriate changes for appropriate application role i.e. select Read, Read/Write, No Access radio buttons etc. Using BI Administration desktop tool, open repository in ONLINE mode.
Select presentation subject area, right click to open property tab. Check-Out to make changes in repository. Click Permission to open permission tab. Select No Access radio button for Everyone application role. Select Read or Read/Write radio button for newly created application roles as per your requirement. Click OK. Check-in the changes, save the repository (in online mode).
Repeat the above steps to all Subject Areas in Presentation Layer where we want to assign permissions to newly created Application Roles.
162259289.doc Assign appropriate permissions to all subject areas related to Financial Analytics. (For OBIEE - Financials role).
Assign appropriate permissions to all subject areas related to Project Analytics. (For OBIEE - Projects role).
NOTE: We are assigning these permissions in ONLINE mode so we need to check and validate them again whenever you are deploying repository file.
162259289.doc 6.) Embedding Link to Navigate Back (OBIEE to EBS): We can choose few options when we want to navigate back to EBS from OBIEE. In this document, we will discuss 2 options (a) Navigate back to Oracle EBS form using Action Link (b) Sign-Out from OBIEE and show any login web page of our choice. (Example: EBS login page or BI Analytics login page). Action Links to EBS Form: Configure Oracle BI EE Action Framework: Modify ActionFrameworkConfig.xml as per instruction given above. Include the following element: <ebusinesssuiteconfig><visible>true</visible></ebusinesssuiteconfig> Save and close the file. Passing Context to EBS Form: Identify the e-Business Suite Form that is to be linked to. Identify the parameters required by the Form/Page. Please refer to e-Business Suite Documentation for details. Create a new Action which will enable OBIEE to call the e-Business Suite Target form. Log into OBIEE. Click on New Action.
162259289.doc
In the resultant screen, two mandatory parameters, FunctionCode and Connection Pool need to be specified. For FunctionCode, Specify the function code of the target form which needs to be launched. Also, Specify the connection pool (mentioned under section rpd changes). In addition to these two mandatory parameters, create new parameter which has the same name as the identified parameter (Identified in Step 1) and specify a value.
Mark the FunctionCode and Connection Pool parameters as hidden, for better user experience. Save the Action Navigate to location where the Action is saved and Click on Execute to test the Action. Clicking on Execute should launch e-Business Suite Form.
162259289.doc
The Action Link created above can be used in Analysis/Dashboards. For details, how to use Action Links in Analysis/Dashboard, Refer to Oracle Business Intelligence Enterprise Edition documentation. Steps below provide a simple example on how to use Action Link in Analysis: Login into OBIEE. Navigate to New->Analysis. Select a Subject Area and then select a column on which the Action Link is to be set as an Interaction. Navigate to Column Properties. Click on Interaction tab. Select Primary Interaction as Action Link under Value. Click on + icon and Specify the Action Link (which was created in earlier step). Specify parameters if a dialog box for parameters are prompted. Set the value to be based on Column. Check the Hidden Checkbox. Click on ok. Save the Analysis.
162259289.doc
Now, Test navigation as given below: Login to e-Business Suite. Click on the OBIEE Answers link to navigate to OBIEE. Open the newly created Analysis. Click on the column value to navigate back to e-Business Suite.
Sign Out and Sign In: If we do not want go back to same Oracle EBS form after working in OBIEE, we can just sign out from OBIEE and display any web page of our choice. When we add following tags in instanceconfig.xml file, sign-out link appears on home page (top right side of screen). You can define any URL which you want to see after sign-out (example: Login screen for EBS or BI Analytics). Follow instruction given above in this document.
162259289.doc
Troubleshooting & Tips: Cookie for Integration: How to get cookies value which is being used for EBS-OBIEE integration? Log in to Oracle E-Business Suite. Enter the one of following text in the address bar of your browser: javascript:alert(document.cookie), javascript:document.write(document.cookie) javascript:document.writeLn(document.cookie); The cookie is displayed. For example: TEST=hEXoGr7ZPJW0ZDVE3gTU7YPM4d Verify Variable Value for Integration: How to verify the Responsibility Name defined in EBS is being passed to OBIEE? Get cookies value as per steps given above. Execute following command first and then SQL in sql*plus/TOAD etc.
162259289.doc
You should get values in result set. For example, RESP_NAME will have value OBIEE.
Connection Pool and Use of Variables: DSN and User values in Connection pool: I noticed that sometimes it works with repository variable name and sometime with complete TNS entry in it. Try it which style works in your case. (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=etdb1.lahd.pola) (PORT=1539))(CONNECT_DATA=(SERVICE_NAME=UAT) (INSTANCE_NAME=UAT))) VALUEOF(ORA_EBS_OLTP_DSN) and VALUEOF(ORA_EBS_OLTP_USER
162259289.doc
Verify Application Roles Being Passes: Login to Oracle EBS using your username/password. Click on appropriate OBIEE related responsibility (example: OBIEE-Financials). When you come to BI Abalytics home page, click your username (top-right corner of screen). Click on My Account. Click on Role and Catalog Groups. Now, you should see the Responsibility Name which you selected in Oracle EBS (which is your Application Role defined in Oracle Enterprise Manager).
162259289.doc