Write Back Proof of Concept
Write Back Proof of Concept
Apart from Reporting, OBIEE has an advanced feature which allows entering or updating
the values directly into the database. This feature is called write back. Users with
appropriate permissions can use this feature.
This exercise describes the implementation of write back feature in OBIEE.
In order to implement this feature in OBIEE we have to make some changes in the
repository and in presentation services.
Step 1:
Create a table in which you are trying to implement write back. In this example, I created
a table called customer with the below SQL in dwpd database.
Step 2:
Imported that table in the rpd.
Renamed the Connection pool to WriteBack. Make the table not cacheable.
Step3:
Dragged it onto BMM layer.
Dragged the same table from physical layer to BMM. This table is just used to join the
table to itself as in our example; this table doesn’t join to any other table in our database.
If we don’t have this, OBIEE will give you error telling that there are no joins in the
subject area. To remove that error, we are just joining this table to itself.
Step4:
Drag the table to Presentation layer. No need of the duplicate table to be in presentation
layer.
Step5:
Check the consistency check and check in the changes.
Step6:
Go to the presentations services and access the table.
Step7:
Drag the column in the criteria and see the results. Now you will see no results because
the table has no data. Populate the table with data in the databse and run the report again.
Step8:
Edit the table view to see:
Step9:
Click the write back properties. Now fill the properties with:
Step10:
Go to properties for the both the columns and select
Save it as test.xml
Remember, the template remains the same for all the write back xml. The fields which
are highlighted in red only change according to the requirement.
Here CustomerWB is name of the xml which is referenced in our presentation services.
Insert and update change according to the requirements. You see c0 and c1 used. These
are the values used in the report.
Step11: (Only administrator can do this)
Move this xml file to the server where OBIEE is installed. Place it on
{Oracle_BI_Home}/web/msgdb/customMessages
Restart the presentation services.
Step13:
Make sure in rpd, double click the database name for that table.
Step14:
Check your results.
Step15:
You can update values but how to implement insert. To implement this, the table in the
database must have blank rows. Since the table cannot have blank rows as CUSTKEY is
defined as primary key, we created a separate table in the same database with the same
structure with the below SQL.
Dragged it onto source of the Customer table. Now this table is added as source to the
original table.
Once joined then, Go to Logical table sources and define the fragmentation content for
both these tables.
Make sure the condition mentioned will always be true. In our case both 1001 and 1002
exists, so it works fine. If one of the cases fails, then source is not added giving incorrect
answers. So, define the condition, such that it is always true.
Step15:
Check the consistency and save the rpd. Now check the report.
Depending on the requirement, your xml file will change and make sure the
fragmentation content is always true when you are looking to insert.