Pages

Thursday, January 24, 2013

Starting Services in OBIEE 11g

Before you complete the steps below the following Windows Services should **not** be running.

a. Oracle Process Manager (instance1)
b. Oracle Weblogic NodeManager

1) Start NodeManager from the Command Prompt

Cd <MIDDLEWARE_HOME>\wlserver_10.3\server\bin

startNodeManager.cmd

Wait till you see message "Secure socket listener start at port"

2) Start Admin server from command prompt

Cd <MIDDLEWARE_HOME>\user_projects\domains\bifoundation_domain\bin

startWebLogic.cmd

It will ask for user name / password, specify the user details that you have mentioned at the time of 11g install

Wait till you see message Admin server is in running mode.

3) Now start Managed server from GUI

Access WebLogic console from a browser

http://<machinename>:7001/console

Login, Environment > servers > Control > select bi_server1 > click on start

It would take some time for Managed server to start. Wait till you see Running status.

4) Now start the OBIEE components from command prompt

Cd C:\OBIEE\instances\instance1\bin

opmnctl startall


How to stop / start individual OBIEE 11g System Components from the OPMN

 

BI Service:

opmnctl stopproc ias-component=coreapplication_obis1
opmnctl startproc ias-component=coreapplication_obis1

Javahost:

opmnctl stopproc ias-component=coreapplication_obijh1
opmnctl startproc ias-component=coreapplication_obijh1

Presentation Service:

opmnctl stopproc ias-component=coreapplication_obips1
opmnctl startproc ias-component=coreapplication_obips1

Scheduler Service:

opmnctl stopproc ias-component=coreapplication_obisch1
opmnctl startproc ias-component=coreapplication_obisch1

Cluster Service:

opmnctl startproc ias-component=coreapplication_obiccs1
opmnctl stopproc ias-component=coreapplication_obiccs1


Sometimes I have a configuration change to make or need to restart a specific system component in one of my servers, here is a list of stop / start commands for each of the system components...

Wednesday, January 23, 2013

OBIEE 11.1.1.6.2 Writeback

Detailed Write Back steps in OBIEE 11.1.1.6.2


Step 1


Amend the instanceconfig.xml and add the LightWriteback entry as shown below with in the server instance tags

The instanceconfig.xml file is located in $MW_HOME/instances/instance1/config/OracleBIPresentationServicesComponent
/coreapplication_obips1 directory




Add the LightWriteback tag just above the /ServerInstance tag as in above example.

<LightWriteback>true</LightWriteback>

Restart the OPMN services for the instanceconfig amendment above to take effect

Login to Analytics http://<hostname>:9704/analytics

Set privileges within Administration screen




Add roles or users to the Write back privileges above

Step 2


Create a table used to store the write back table and import it into the physical layer in RPD









Ensure the connection pool user has required privileges to insert / update data on this table

Step 3

 



 

 

 

 

In Business Model, switch on the Writable property for all required columns



This completes the one time setup required to carry out write back functionality. Following steps are required for setting up an actual write back



Step 4

 

 

Create a new analysis with the required columns









Select the Column Properties using the drop down arrow on each column













Choose the column property and Tick the Enable Write Back check box on the Write Back tab for the required column. In my case, I have enabled only for USD Amount.

Note: If the ‘Writable’ flag is not enabled in RPD then this check box also cannot be enabled

Step 5

 



 





 

 

 


Note that only the USD_AMT column is displayed as editable

Choose the Edit Table View option and click on Table View Properties

 

 

 

 

 

 

 

 

 

 









Tick the Enable Write Back on enter a Template Name. I entered ‘RPA’ and this can be any user given name. Note this name is case sensitive. Below you will see how to create this template called RPA used here



Step 6


Click on the advanced tab of the analysis






























Here under the Analysis XML box we want to note down all the columnID's that we will be using to populate the Writeback table with

Make a note of the columnIDs for the required columns. These will be used in the next step


Step 7

 

Create XML file as below and place it in




$MW_HOME/instances/instance1/bifoundation/OracleBIPresentationServicesComponent/coreapplication_obips1
/analyticsRes/customMessages directory if the analytics res directory has been deployed.

Please see the Deploying analyticsRes for custom Messages post that we have created that wont ever get overwritten by Oracle Patches etc

If you dont want to use the analyticsRes custom messages folder then you can use the seeded folder


If the directory ‘customMessages’ does not exist then create one in the path mentioned

 

--------Start of XML--------

<?xml version="1.0" encoding="utf-8" ?>

<WebMessageTables xmlns:sawm="com.siebel.analytics.web/message/v1">

   <WebMessageTable lang="en-us" system="WriteBack" table="Messages">

      <WebMessage name="RPA">

         <XML>

            <writeBack connectionPool="Writeback">

                 <insert></insert>

                <update>update encumbered_rpa set usd_amt = @{cbe48633dbeb2bda8},update_date = sysdate,updated_by = '@{cb26f41933b0c7d7c}' where product_id = @{c9c0a2069f38dda8c}</update>

            </writeBack>

         </XML>

      </WebMessage>

   </WebMessageTable>

</WebMessageTables>

-------End------


 

Within the update tags have the update statement that gets executed in the database using the columnIDs picked from the Advanced tab

Save the XML as RPA.xml
Bounce the OPMN service for this XML to be loaded and available for use

 

Step 8

 

Run the report that was created in Step 4
 












If all the steps are carried as they should be then you will see two buttons as in the above screen shot. The Update functionality is ready.

Amend the value of any editable field and hit the Update button then the change is carried out in the database and the screen gets refreshed with the new value. The statement that is given in the XML template between the update tags gets executed.

Revert button is used to undo any changes that are not yet sent to the database.

If you have noticed, the insert statement is left blank. But the same XML can be amended to provide the functionality of insert. If the amended record exists in DB, then the update statement is issued and if the amended record does not exist in DB then the insert statement is issued.

You don’t necessarily have a insert statement with the insert tags. You can use a function call here or you can issue an update statement to a different table. Using this base functionality you can deliver tailor made solutions fit for purpose.

Tuesday, January 22, 2013

OBIEE11g: "NULL" Value in Prompts

In OBIEE 11g when we create a prompt on a column we can see "NULL" value is in the prompt. As it is the unwanted value we have to suppress this value. We can achieve this by following the below steps...

Step 1 : NULL is getting displayed in the Prompt



Step2 : Edit the prompt and look for the column on which the prompt is created

Step3 : Open the RPD in Online or Offline mode. Go to the physical layer and select the table, expand the table and select the column

Step 4 : Edit the properties of the column by double clicking on it.




Step 5 : Unchecked the Check box which says "Nullable".


Step 6 : Save the RPD and check the same on the dashboard. Now you can see the NULL value got disappeared.
NOTE : After saving the RPD changes it will take some time to reflect the result on the dashboard. Immediately you can not see the NULL value disappeared. It will take about an hour or so to reflect if you make the changes in Online Mode. If you restart the services then you can see the immediate expected result.
After making the changes in Online mode and saving it dont forget to clear the cache.

Sunday, January 13, 2013

Changing Brand Name (Next to Oracle Logo) and Browser Title

1. To change Brand Name (Next to Oracle Logo) on the Business Intelligence home page ,

Alter kmsgHeaderBIBrandName attribute of productmessages.xml file under <Middleware_Home>\Oracle_BI1\bifoundation\web\msgdb\l_en\messages.
  
2. To change OBIEE 11G browser Title

To change the OBIEE 11G browser Title name to your custom text Open productmessages.xml from <Middleware_Home>\Oracle_BI1\bifoundation\web\msgdb\l_en\messages. Search for kmsgProductPortal attribute and change its value with your custom text.

Example:

<WebMessage name="kmsgHeaderBIBrandName"><TEXT>4i Apps BI</TEXT></WebMessage>
<WebMessage name=”kmsgProductPortal”><TEXT>Haree BI Interactive Dashboards</TEXT>
</WebMessage>


save it and stop and start the Opmn to restart all OBIEE 11G services.

OBIEE Pivot Table nulls to Zeros for empty Rows

When you create a pivot table and you see nulls in the measures part , You want to see 0 or 0.00 instead

Just change the data format on the report column in the report itself too

Custom format

#,##0.00;-#,##0.00;0.00

For Nulls if you want zeros 0 instead of null then enter:
#,##0;-#,##0;0

For a Dash
#,##0;-#,##0;-

A custom Message instead of null
#,##0;-#,##0;no data

OBIEE Pivot Table insert a word in Top Left Cell

Place static code in Answers Request or Dashboard "Contains HTML"



 <script  type="text/javascript"  language="javascript">
window.setTimeout(InsertText,100);
function InsertText() {
   if (document.body!=null)
  {
    var cols = document.getElementsByTagName('td');
      for (var x=0; x<cols.length; x++) {
  if (cols[x].className == 'PTCC' && cols[x].innerHTML.indexOf('')!=-1)
    cols[x].innerHTML = 'PIVOT TABLE';
}
 
   } else {
      window.setTimeout(InsertText,100);
   }
}
</script>
<style type="text/css">
.PTCC
{          
             color:#335C85;
             background-color:#ffff99;
             font-family:Arial;
             font-size:8pt;
             font-weight:bold;
             text-align:center;         
}       
</style>


Replace the class name PTCC with the appropriate class name using page source.

Eg:

OBIEE 11g Dashboard BG Image or Watermark

1. Make sure analyticsRes folder is active in weblogic for customizations

Check out the section Exposing a Static Directory in WebLogic Server


I normally use this location for customizations or images etc..


$MW_HOME\instances\instance1\bifoundation\OracleBIPresentationServicesComponent\coreapplication_obips1\analyticsRes




(Remember i will make this deployment accessible from the following location setting is ticked) when deploying analyticsRes folder in weblogic.

2. Upload your image file for OBIEE within anaylticsRes folder.


3. Edit or create an OBIEE Dashboard and insert a Text Box within the text box paste the following code
<script type="text/javascript">var obj = document.getElementById('DashboardPageContentDiv');obj.style.background = "url('/analyticsRes/6.jpg') white center no-repeat fixed"</script>

Remember to tick the html box. Save your dashboard.
I uploaded an image called 6.jpg.
When you view your dashboard your image will be in the background.

Try this... It works.