Configure for Write-back in Analyses and Dashboards
Users of a dashboard page or an analysis might have the ability to modify the data that they see in a table view.
This ability is often referred to as "write back." As the administrator, you assist the content designer in configuring write back for users.
The following sections provide information about how to configure for write back:
About Write-back for Administrators
Write-back enables users to update your data directly from dashboards and analyses.
Users with the Write Back to Database privilege see write-back fields as editable fields in analyses. The values they enter are saved to the database. Users without the Write Back to Database privilege, see write-back fields as read-only fields.
If a user types a value in an editable field and clicks the write-back
button, then the application runs the insert or update
SQL command defined in a write-back template. If the command succeeds, the
analysis is updated with the new value. If there's an error either reading the template
or running the SQL command, an error message is displayed.
The insert command runs when a record doesn't yet exist and
the user enters new data into the table. In this case, the user typed in a table record
where the original value was null. The update command runs when a user
modifies existing data. To display a record that doesn't yet exist in the physical
table, you can create another similar table. Use this similar table to display
placeholder records that a user can modify.
Note:
When you create write-back templates, you must include both an
insert command and an update command, even if
they're not both used. For example, if you're only performing an
insert, you must include an empty update
statement <update></update>, as in this XML code:
insert commands and two empty update statements.
To find out more about how to create and structure write-back XML files, see Create Write-Back Template Files.<?xml version="1.0" encoding="utf-8" ?>
<WebMessageTables xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="oracle.bi.presentation/writebackschemas/v1">
<WebMessageTable lang="en-us" system="WriteBack" table="Messages">
<WebMessage name="SetQuotaUseID">
<XML>
<writeBack connectionPool="Supplier">
<insert>INSERT INTO regiontypequota VALUES(@{c5f6e60e1d6eb1098},@{c5d7e483445037d9e},'@{c3a93e65731210ed1}','@{c6b8735ea60ff3011}',@{c0432jkl53eb92cd8})</insert>
<update></update>
</writeBack>
</XML>
</WebMessage>
<WebMessage name="SetForecastUseID">
<XML>
<writeBack connectionPool="Supplier">
<insert>INSERT INTO regiontypeforecast VALUES(@{c83ebf607f3cb8320},@{cb7e2046a0fba2204},'@{c5a93e65d31f10e0}','@{c5a93e65d31f10e0}',@{c7322jkl93ev92cd8})</insert>
<update></update>
</writeBack>
</XML>
</WebMessage>
</WebMessageTable>
</WebMessageTables>Enable Write-back in Analyses and Dashboards
Administrators can enable users to edit the data in analyses and dashboards.
Write-Back Limitations
Users can write back to any data source (except for an ADF data source) that allows the execution of SQL queries from Oracle BI Server.
As you configure for write back, keep the following limitations in mind:
-
Numeric columns must contain numbers only. They mustn't contain any data formatting characters such as dollar signs ($), pound signs or hash signs (#), percent signs (%), and so on.
-
Text columns must contain string data only.
-
If a logged-on user is already viewing a dashboard that contains an analysis where data has been modified using write back, the data isn't automatically refreshed in the dashboard. To see the updated data, the user must manually refresh the dashboard.
-
You can use the template mechanism only with table views and only for single-value data. The template mechanism isn't supported for pivot table views or any other type of view, for multiple-value data, or for drop down columns with single-value data.
-
All values in write-back columns are editable. When displayed in non printer friendly context, editable fields are displayed as if the user has the Write Back to Database privilege. However, when a logical column is mapped to a physical column that can change, the logical column returns values for multiple level intersections. This scenario might cause problems.
-
Any field in an analysis can be flagged as a write-back field, even if it's not derived from the write-back table that you created. However you can't successfully run the write-back operation if the table isn't write-back enabled. The responsibility for correctly tagging fields lies with the content designer.
-
A template can contain SQL statements other than
insertandupdate. The write-back function passes these statements to the database. However, Oracle doesn't support or recommend the use of any statements other thaninsertorupdate. -
Presentation Services performs only minimal validation of data input. If the field is numeric and the user enters text data, then Presentation Services detects that and prevents the invalid data from going to the database. However, it doesn't detect other forms of invalid data input (values out of range, mixed text and numeric, and so on). When the user clicks the write-back button and an insert or update is run, invalid data results in an error message from the database. The user can then correct the faulty input. Content designers can include text in the write-back analysis to aid the user, for example, "Entering mixed alphanumeric values into a numeric data field isn't allowed."
-
The template mechanism isn't suitable for entering arbitrary new records. In other words, don't use it as a data input tool.
-
When creating a table for write back, ensure that at least one column doesn't include write-back capability but does include values that are unique for each row and are non-null.
-
Write-back analyses don't support drill-down. Because drilling down modifies the table structure, the write-back template doesn't work.
Caution:
The template mechanism takes user input and writes it directly to the database. The security of the physical database is your own responsibility. For optimum security, store write-back database tables in a unique database instance.