Thursday 6 December 2012

Multi Language Support(Localization)(Presentation Services)

One of the foremost important features in OBIEE is Localization i.e. Multi country implementation .It’s a robust feature indeed to make the application reusable across several countries in multi country roll-out deployment and thus internationalizing the application.

The Oracle Business Intelligence Presentation layer supports multiple language translations for any presentation column name and column description. When working with Oracle BI Answers or rendering a dashboard, users should see their local language strings in their reports. For example, English-speaking and French-speaking users would see their local language strings in their reports.
The Oracle Business Intelligence Presentation layer supports multiple language translations for any presentation column name and column description. When working with Oracle BI Answers or rendering a dashboard, users should see their local language strings in their reports. For example, English-speaking and French-speaking users would see their local language strings in their reports. There are two kinds of application strings required for the translation in Oracle Business

Policy Store
Testing JAZN translation file is straightforward. You need to deploy them in place of existing system-jazn-data.xml in your dev instance from biapps Installer(C:\Middleware\Oracle_BI1\biapps\admin\provisioning\localization) . You have to bring down the weblogic before replacing the existing jazn with translated jazn. You can then see the display name change in enterprise manager.
JAZN deployment Location - (C:\oracle\middleware\user_projects\domains\bifoundation_domain\config\fmwconfig)
Policy Store looks like below for Arabic language

Catalog Strings
To test the catalog localization, we need to deploy the translated strings (C:\Middleware\Oracle_BI1\biapps\catalog\res\l_xx) into a particular location in oracle instance home (ORACLE_INSTANCE\bifoundation\OracleBIPresentationServicesComponent\coreapplication_obipsn\msgdb\)
Please see this OBIEE documentation link for more details of this - http://docs.oracle.com/cd/E23943_01/bi.1111/e10541/deploylocal.htm#CIHHGIAC
Note: After deploying the translation strings, you should choose appropriate language in UI to see the translated content.

Repository Strings
We have to import the dat files given by translation team into W_LOCALIZED_STRING_G table in the warehouse. The import tool(dataimp.exe) is available in the clear case(biapps\seeddata\Bin) and will be shipped with biapps installer. We then need to configure the initialization block to populate the session variables (row-wise initialization) for translation
Please see the below link for details about importing repository strings (.dat) files into w_localized_string_g table




"Unable to connect to Oracle WebLogic NodeManager. Make sure the NodeManager windows service is running” erros in Oracle BI Applications (BI Apps) Installation

This post shows how to install BI Apps 7.9.6.3 with OBIEE 11.1.1.5.0 version on  Windows 7 environment.
Download BI Apps 7.9.6.3, which is released for OBIEE 11g (11.1.1.5 or higher) from the following link
http://www.oracle.com/technetwork/middleware/bi-enterprise-edition/downloads/biee-111150-393613.html
Extract the .zip file in your hard disc and run the setup.exe file to start the installation wizard

Click next

Specify installation location. Select the following location paths for BI Home, Instance and Domains and then click Next
BI Oracle Home: <install directory>\Oracle_BI1
Oracle Instance: <install directory>\instances\instance_number
Domain Home: <install directory>\user_projects\domains\bifoundation_domain
Specify WebLogic Administration Server Details i.e port, user name (OBIEE Admin user)  and password and then click Next

Note: if you get “Unable to connect to Oracle WebLogic NodeManager. Make sure the NodeManager windows service is running” erros, then open  Start–>All Programs–>Oracle WebLogic –> Oracle WebLogic Server 11gR1–> Tools –> Node Manger. A command prompt window will open, its looks like the following

If you get the above error, click Back and then Next in the installation wizard. If not just ignore the above step and continue with your installation.
Click Next after choosing the Applications you would like to install
Click Next to see the summary of the selected applications and click Next to start the installation. 
Click Finish to complete the installation.

Navigate to <install directory>\Oracle_BI1\biapps\repository to see the BI Apps repositories.

Password to both repositories is Admin123, you can see it in AdminToolCmdFile.txt file

Open anyone of these repositories using Oracle BI Administration tool in Off line mode to confirm that it is working…
Remember, Default password for Oracle BI Apps 7.9.6.3 repositories  is Admin123
 
Thanks
Dimple

Installing Oracle BI Apps 7.9.6.3

The following is a short description of what steps have to be taken to install Oracle BI Applications (OBIA) version 7.9.6.3. This version of OBIA is the first version which runs on the new Oracle BI 11g 11.1.1.5.0 platform
This document assumes, that Oracle BI 11g has been installed already. Make sure the Weblogic Administration Server is running before the installation starts.
  • Unpack the installation software
  • Navigate to the folder; ‘Oracle_BI_Applications’
  • Start Setup.exe
  • A wizard will start

  • Click Next
  • Enter the installation directories — {MIDDLEWARE_HOME}
    • There are three important locations;
      • Oracle BI Home Locatie  –> {MIDDLEWARE_HOME}\Oracle_BI1
      • Oracle Instance Locatie  –> {MIDDLEWARE_HOME}\instances\instance1
      • Oracle Domain Location –> {MIDDLEWARE_HOME}\user_projects\domains\bifoundation_domain

  • Click Next
  • Enter the Weblogic Administrator Details

  • Click Next
  • In the background, some examinations are performed. This could take a while
  • Select the applications (default = everything), which should be installed

  • Click Next
  • A summary appears with the e=information about what will be installed

  • Click Next
  • Wait for the installer to finish
  • Click Finish
After the installation has finished, one can check what has been installed. In the ‘Oracle BI Home’ there has been an additional folder (biapps) added.

You will find the new Repository RPD-file in; {MIDDLEWARE_HOME}\Oracle_BI1\biapps\repository
The Repository can be opened offline. The Repository password (Admin123) is the default.
De new Catalog resides in the; {MIDDLEWARE_HOME}\Oracle_BI1\biapps\catalog-folder.

Thursday 11 October 2012

Extract Projects using Command extractprojects

Using the extractprojects Utility to Extract Projects

You can use the Oracle BI Server utility extractprojects to extract projects from a given repository without the overhead of the MUD environment. The extractprojects utility is available on both Windows and UNIX systems. You can only use extractprojects with binary repositories in RPD format.
The extractprojects utility generates an RPD file that includes the set of projects you specify. The utility does not perform other tasks that are performed when you check out projects using the Administration Tool, like saving an original repository file or tracking the extract as a check-out in the MUD directory.
Before running extractprojects, you must first run bi-init to launch a command prompt that is properly initialized.

Syntax 
The extractprojects utility takes the following parameters:
extractprojects -B base_repository_name -O output_repository_name {-I input_project_name} [-P repository_password] [-L]
Where:
base_repository_name is the name and path of the repository from which you want to extract projects.
output_repository_name is the name and path of the repository generated by the utility.
input_project_name is the name of a project you want to extract. You can enter multiple projects. Be sure to precede each project entry with -I (for example, -I project1 -I project2). If the project name contains spaces, enclose it in double quotes (for example, "project 1").
repository_password is the password for the repository from which you want to extract projects.
Note that the repository_password argument is optional. If you do not provide the password argument, you are prompted to enter the password when you run the command. To minimize the risk of security breaches, Oracle recommends that you do not provide password arguments either on the command line or in scripts. Note that the password argument is supported for backward compatibility only, and will be removed in a future release.
- L enables logging. When logging is enabled, a log file in the format ProjExtr.YYYYMMDD.HHMMSS.xml is created in the Oracle BI Server logging directory. For example:
ORACLE_INSTANCE/diagnostics/logs/OracleBIServerComponent/coreapplication_obisn/ProjExtr.20100616.082904.xml
Example 
The following example extracts project1 and project2 from my_repos.rpd and creates a new repository called extract_repos.rpd:
extractprojects -B my_repos.rpd -O extract_repos.rpd -I project1 -I project2
Give password: my_rpd_password
Note:
Be sure to provide the full pathnames to your repository files, both the input file and the output file, if they are located in a different directory.

Wednesday 10 October 2012

Nesting Of Presentation Tables in Obiee 10g/11g

Methods to Support Nesting Of Presentation Tables in Obiee 10g/11g

1.      By prefixing the presentation table with a hyphen and a space character (ex: ‘- Bill To Location’)
2.      By beginning the description of presentation table with ‘->’ characters

In Obiee 11g,New ‘Child Presentation Tables’ functionality is going to help here.it is new implemented 
in 11.1.1.6.3 and 11.1.1.6.4 Verison.We Can add sub folder table to Child Presentation Tables of Main Table

Hide dashboard prompts/Section in OBIEE

There is a way to hide the dashboard prompts in OBIEE.
But, need to have a separate section containing this prompt.. that’s reason i made my article title as: prompt/Section 
Here is the way..
1. Edit Dashboard, go to Properties of Section > Format Section..

2. Expand Custom CSS Style Options (HTML Only) then select Use Custom CSS Style check box… and write the following code as shown:
display:none;

It’s more effective then collapsible option..

Conversion of date datatype to timestamp in OBIEE

Hi,
In OBIEE, direct date to timestamp conversion is not possible unless we use evaluate functions to call it’s database functions…
One way i found to convert date column to it’s timestamp is:
First, cast the date column to char later cast it to timestamp
Ex: Cast(Cast(CURRENT_DATE AS CHAR) AS TIMESTAMP)
 
You may have question why we need to convert it to timestamp..
Well, while using timestampdiff with sql_tsi_hour as interval, we can’t pass date datatype columns as it throws error:
Ex: TimestamDiff(SQL_TSI_HOUR, TimeID, CURRENT_DATE) won’t take as functionality. Gives you following error:
[nQSError: 10058] A general error has occurred. [nQSError: 22025] Function TimestampDiff is called with an incompatible type. (HY000)
 Now, try in this way:
TimestamDiff(SQL_TSI_HOUR, TimeID, Cast(Cast(CURRENT_DATE as Char) as Timestamp))
It gives you proper results with out any error.

Dashboard Renaming in OBIEE 10g/11g

Renaming Dashboards in OBIEE
There are 2 ways to rename the shared dashboards.
1. Using Catalog Manager
2. From Answers admin tab.
Using Catalog Manager:
1. Log in to catalog manager and navigate on shared folders and select the Group Folder under which you have created that dashboard.
2. Navigate till you find _Portal folder under the shared folders
_portal-path
 3.   Select a dashboard that you want rename from the right side pane, right click and select Smart Rename (fix refs) option
renaming-dashboard
4.   Here you give your desired name for the selected dashboard.
            I am renaming it to Rename Test
rename-dashboard
     5. Press Enter to submit the name to server
     6.  Now go to login to presentation service and go to dashboards. You will see that your dashboard name has been changed.
verify-dashboard-name
Rename dashboard from Answers admin tab:

  1. Log into presentation service with Administrator, go to Settings > Administration > Manage Presentation Catalog.
  2. It opens a window; in this window you find option Show Hidden Items. Select this check box. Now you are able to
  3. Navigate to the Shared Folders and the group folder under which you have created the dashboard.
  4. Select _Portal folder (this will only appear when you select Show Hidden Items options)
  5. It displays the list of dashboards under this folder. Now select Rename option corresponding to the dashboard that you want to rename
manage-catalog
      6.   Here you mention the desired name and click on Update.
update-name
    7.   Now go to Dashboards and check whether name has renamed or not.

Write Back in OBIEE 10g/11g

Write Back in OBIEE 10g:

             Write Back is the ability to enter values directly into a report and have those values used in calculations and charts in the report. For example, a report can have Sales Quota Amount defined as a write back field, Sales Amount as a field from the data warehouse, and Percentage of Quota as a calculated field (Sales Amount/Sales Quota Amount). When viewing the report you can change the Sales Quota Amount and the Percentage of Quota field recalculates appropriately.
This document give a step-by-step guide with picture to help the implementation of this functionality.
You can use this functionnality only in a table view. If you want to use it on a pivot, you must first transform your table view as a pivot view : OBIEE - How to perform a pivot in a table view
For 11g, you must now explicitly select the Writeable option for each logical column for which you want to enable write-back.

Security, Privileges

First, you must grant your account with the privilege “Write Back to database” :
  1. Login in OBI Presentation Service Website
  2. Follow this links : Setting / Administration / Manage Privileges
  3. Grant the privilege “Write Back to database” to the permitted group

Second, you must grant the direct access database to the user through the Administration Tool in the security part.
  1. Login in OBI Administration
  2. Go to the menu : Manage / Security
  3. Grant the privilege “Execute Direct Database Access” to the permitted group of user
write_back_execute_direct_database_request.jpg

Configure Write Back Report

Table properties

You must choose a report in Answers to be able to writing back to the database.
  1. Go to the Table Component
  2. Click on the write back properties icon (a green database with a yellow pen). Remark that each column have on this head a letter C and a number (Ex. c1, C2, … )
obiee_write_back_table.jpg
  1. Fill the template name with for example : SetWriteBackValue. (This name will indicate later the statement to update or insert in the database)

Column properties

  • Set to “write back” the value integration type of the column you want to be able to update.

Write Back Template to define the DML statement

The write back template is an custom messages (XML-formatted) file that contains SQL commands needed to insert and update records in the write back table and columns you have configured. It must be store in the directory "OracleBI\web\msgdb\customMessages".
<?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="SetWriteBackValue">
         <XML>
            <writeBack connectionPool="Connection Pool">
                <insert>INSERT INTO OTHER_SCHEMA.WRITE_BACK VALUES (@{c0})</insert>
                <update>UPDATE OTHER_SCHEMA.WRITE_BACK SET VALUE='@{c0}' WHERE PK=@{c2}</update>
     </writeBack>
         </XML>
      </WebMessage>
   </WebMessageTable>
</WebMessageTables>
The line <WebMessage name="SetWriteBackValue"> contain the value of the template name. This value must match with the value filled in the table properties.
The line <writeBack connectionPool=“Connection Pool”> contain the value of the connection pool. You must have the same name in the repository.
The line <update>UPDATE WRITE_BACK SET VALUE='@{c0}' WHERE PK=@{c2}</update> contain the SQL statement to update the database.
Values can be referenced either by position (such as @1, @3) or by column ID (@{c0}, @{c2}). To find the column ID, see the header columns labels in the table


The custom message are loaded when the OBI Presentation Service is started therefore restart it before testing.


When the update and insert statement run

  • The insert command runs when the update value is null.
  • Update command runs when a user modifies existing data.

How to update

You are now able to launch “Write Back” capabilities !
  1. Change the value of the column that you have configured (Here above the VALUE column)
  2. Click on the button in the bottom-right corner of the table (Here above the WRITE BACK VALIDATION button)
obiee_write_back_table.jpg

Support

the Update Button is grey

The write back button is grey when Oracle BI Presentation server hasn't found the XML template message.
Two reasons for this :
  • The name of the template name in the report is different than in the XML message.
Example with the name : SetWriteBackValue

must be the same in the node WebMessage of the xml message :
<WebMessage name="SetWriteBackValue">
  • Or may be you simply forgot to restart the OBI Presentation Service. (The messages are loaded during the initialization)
Write Back in OBIEE 11g:

Introduction:
As we all know we have a Writeback property in OBIEE with Insert and Update. But many of us don’t know that we can even implement delete Writeback which we made in our project as per our client’s requirement.
Here I am going to provide everyone a complete document on OBIEE Writeback which includes Insert, Update and Delete WRITEBACK.
Requirement:
We have a complete new table created for Writeback (No data) and in this we have to implement inserting new records, updating them and deleting the record entered. Data to be entered a fresh.
Changes in Instance Config File:
Add the following tag in instance config file.
<WebConfig>
             <ServerInstance>
                 <LightWriteback>true</LightWriteback>
            </ServerInstance>
RPD Changes for Writeback:
Before implementing Writeback following are the RPD changes.
1.      Import the created table in to RPD and make necessary joins in physical layer.
2.      Make necessary changes in the RPD business layer as per the design.
3.      In BMM Layer which ever column to be made editable please check writable option as shown below.
Fig 1: Enabling Writeable option in BMM Layer
4.      Make the above changes for necessary columns and drag that to presentation layer and save it.
5.      Once above changes are done create the report in UI and do following change.
a.      Whichever columns required for editable enable Writeback option in the report as shown below and set the text field and save the report.
Fig 2: Enabling Writeable option in Report
Insert Writeback: For inserting records,
1.      Make sure that table should have a null record for inserting the data.
2.      Create an xml file as shown below and save with the same web message name used in this xml marked with yellow color. Also add insert syntax for which u r going to insert data in the insert tag.
<?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="DSR_Twist_writeback_insert">
         <XML>
            <writeBack connectionPool="BI Writeback Connection Pool">
 <update>
insert into BI_WRITEBACK(WRITEBACK_KEY,SUBJECT_AREA,DASHBOARD_NAME,PAGE_NAME,REPORT_NAME,COMMENT_TEXT,SORT_ORDER,REPORT_DATE,REPORT_REGION)
values (to_char(seq_writeback.nextval),'DSR Reports','DSR - TWIST','Global Sales','Market Overview','@{ce0535f1ee8fd6988}','@{c1771a2407a39a37a}','@{cfe255305c4bb1c5b}','@{c8eec6ef257ca3d52}')
 </update>
<insert>
insert into BI_WRITEBACK(WRITEBACK_KEY,SUBJECT_AREA,DASHBOARD_NAME,PAGE_NAME,REPORT_NAME,COMMENT_TEXT,SORT_ORDER,REPORT_DATE,REPORT_REGION)
values (to_char(seq_writeback.nextval),'DSR Reports','DSR - TWIST','Global Sales','Market Overview','@{ce0535f1ee8fd6988}','@{c1771a2407a39a37a}','@{cfe255305c4bb1c5b}','@{c8eec6ef257ca3d52}')
 </insert>
        </writeBack>
         </XML>
      </WebMessage>
   </WebMessageTable>
</WebMessageTables>
The above xml file to be placed in the following path
C:\app\product\obiee\Oracle_BI1\bifoundation\web\msgdb\customMessages
Create the customMessages folder in the above as it won’t be available here with same name shown above with all case sensitive’s.
Fig 3: XML File for insert and its location
Once the above step is done go to table properties and enable Writeback.
                                                              i.      Give the template name here whichever u give in xml file.
                                                            ii.      Disable Toggle Table Mode which will be enabled by default and this is because if we don’t disable it editing of column will not happen.
                                                          iii.      Also give our necessary naming conventions in the apply button which ever required.
                                                           iv.      Standards Insert for inserting and Update for updating remaining defaults as shown below and click ok.
                                       Fig 4: Passing xml file web message name in the table properties for insert
Update Writeback: For Updating records,
Create an xml file as shown below and save with the same web message name used in this xml marked with yellow color. Also add update syntax for which u r going to update data in the update tag.
<?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="DSR_Twist_writeback_update">
         <XML>
            <writeBack connectionPool="BI Writeback Connection Pool">
         <update>
update BI_WRITEBACK set
SUBJECT_AREA='DSR Reports',DASHBOARD_NAME='DSR - TWIST',PAGE_NAME='Global
Sales',
REPORT_NAME='Market Overview',COMMENT_TEXT='@{ce0535f1ee8fd6988}',SORT_ORDER=@{c1771a2407a39a37a},REPORT_
REGION='@{c8eec6ef257ca3d52}'
where WRITEBACK_KEY='@{c33a77793cd508cf9}' </update>
<insert> </insert>
        </writeBack>
         </XML>
      </WebMessage>
   </WebMessageTable>
</WebMessageTables
The above xml file to be placed in the following path
C:\app\product\obiee\Oracle_BI1\bifoundation\web\msgdb\customMessages
Create the customMessages folder in the above as it won’t be available here with same name shown above with all case sensitives.
Fig 5: XML File for update and its location
Once the above step is done go to table properties and enable Writeback.
                                                              i.      Give the template name here whichever u give in xml file.
                                                            ii.      Disable Toggle Table Mode which will be enabled by default and this is because if we don’t disable it editing of column will not happen.
                                                          iii.      Also give our necessary naming conventions in the apply button which ever required.
Standards Insert for inserting and Update for updating remaining defaults as shown below and click ok.











  Fig 6: Passing xml file web message name in the table properties for update
Once all the above changes are done restart the services for getting all the changed affected.
Finally Insert and Update looks like the following screenshot once u make insert or update we get a mess updates are successful.
                             
                                                                 Fig 7: Final layout of reportafter inserting and updating records
Delete Writeback: For Deleting records,
Delete Writeback is not possible directly as we did for Insert and Update. There is no provision in the xml file for delete as we have tags for insert and update.
We generally create 2 reports for deleting records.
Steps for deleting the records which are Inserted and Updated:
1.      Create a main report with the corresponding columns as shown below. For better delete operation use at least a primary key column of that table i.e., a unique key column. In the below screen shot we have a unique column called Writeback Key and this is a varchar in our case.
Fig 8: Main report created for delete writeback
2.      Create a function in the backend as shown below.
create or replace function writeback_delete_geo(r_key in varchar2,to_delete         in varchar2)
            return varchar2
            is pragma autonomous_transaction;
            v_geo varchar2(100);
            begin
            if to_delete = 'yes' then
            delete bi_writeback where writeback_key = r_key;
            commit;
            return 'deleted';
            else
            return 'no delete';
            end if;
            exception
            when others then        return 'failure';           end;
In the above function delete operation is handled on a unique column where there are no repetitions of data else if repetitions are there, more than a record is deleted which is not correct. So always make it on a unique identifier.
In our case I made this key varchar because I passed character values like failure, delete and no delete in the function as return values and this will holds good only when the unique identifier can be a char.
3.      Create another report which will be drill down from main report created previously and make the unique identifier is prompted in the drill report.
In the child report drag 2 columns one unique identifier column and other dummy column as shown below.
Fig 9: Sub report creted for delete writeback
In the other column called delete writeback we need add the following formula when u create the report i.e.,
EVALUATE('WRITEBACK_DELETE_GEO(%1,''No'')',"Writeback"."Writeback Key")
Here for evaluate function pass the function that we created in the backend and pass parameter No on the key that we have created the function with delete statement.
Once we create this report and display the results report looks like
                                                                Fig 10: After creating Subreport in table view
4.      Now add narrative and type  The row is @2 successfully.
The layout looks like
                                                                                           Fig 11: Adding Narrative view
5.      Now put only narrative by deleting table view from the above screen shot which looks like
                                                                                             Fig 12: Only Narrative View
6.      Once done go to criteria and change the delete writeback column to the following formula which is
EVALUATE('WRITEBACK_DELETE_GEO(%1,''Yes'')',"Writeback"."Writeback Key")
Once this is done don’t run the report just save the report if we run the report then whole data in that table is lost. We need to re insert the data in the table. Make sure we don’t delete data while creating the intermediate report itself.
7.      Once these changes are done navigate the intermediate report from the main report on the unique column and save it.
8.      Once we click on the main report the result is as below.
Fig 13:Main report after enabling drill on writeback key
Click on Writeback Key where link is enabled the result is as
Fig 14: Message after deleting a row
After deleting the report looks like
Fig 15: Final Report
Record is being deleted.
In this way delete Writeback is implemented.
Note:
1.       If this Writeback key is not unique and repeating then all those records will be deleted.
2.       There are some bugs like while inserting and updating records some time it    throws error but when u edit report and insert or update and save then it never throws error in either in answers or dashboard but this is not always only some times.
Final Layout looks like
Fig 16: Dashboard Layout with Insert,Update and Delete Strategies
Another way of using delete writeback
Delete Writeback: For inserting records,
1.      Make sure that table should have a null record for inserting the data.
2.      Create an xml file as shown below and save with the same web message name used in this xml marked with yellow color. Also add insert syntax for which u r going to insert data in the insert tag.
<?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="DSR_Twist_writeback_insert">
         <XML>
            <writeBack connectionPool="BI Writeback Connection Pool">
 <update>
delete bi_writeback where writeback_key = '@{ce0535f1ee8fd6988}';
</update>
<insert>
delete bi_writeback where writeback_key = '@{ce0535f1ee8fd6988}';
 </insert>
        </writeBack>
         </XML>
      </WebMessage>
   </WebMessageTable>
</WebMessageTables>
The above xml file to be placed in the following path
C:\app\product\obiee\Oracle_BI1\bifoundation\web\msgdb\customMessages
Create the customMessages folder in the above as it won’t be available here with same name shown above with all case sensitive’s.
Once the above step is done go to table properties and enable Writeback.
                                                             v.      Give the template name here whichever u give in xml file.
                                                           vi.      Disable Toggle Table Mode which will be enabled by default and this is because if we don’t disable it editing of column will not happen.
                                                         vii.      Also give our necessary naming conventions in the apply button which ever required.
                                                       viii.      Standards Insert for inserting ,Update for updating remaining defaults and Delete for deleting records as shown below and click ok.
Thanks