La réécriture permet aux utilisateurs de mettre à jour les données directement dans les tableaux de bord et les analyses.
Les utilisateurs dotés du privilège Réécrire dans la base de données voient les champs de réécriture comme pouvant être modifiés dans les analyses. Les valeurs qu'ils entrent sont enregistrées dans la base de données. Les utilisateurs qui ne sont pas dotés du privilège Réécrire dans la base de données voient les champs de réécriture comme étant accessibles en lecture seule.
Si un utilisateur entre une valeur dans un champ pouvant être modifié et clique sur le bouton Réécrire, l'application exécute la commande SQL insert ou update définie dans un modèle de réécriture. Si la commande réussit, l'analyse est mise à jour avec la nouvelle valeur. Si une erreur survient lors de la lecture du modèle ou de l'exécution de la commande SQL, un message d'erreur s'affiche.
La commande insert est exécutée lorsqu'un enregistrement n'existe pas encore et que l'utilisateur entre de nouvelles données dans la table. Dans ce cas, l'utilisateur a entré dans la table un enregistrement dont les valeurs étaient vides initialement. La commande update est exécutée lorsqu'un utilisateur modifie des données existantes. Pour afficher un enregistrement qui n'existe pas encore dans la table physique, vous pouvez créer une autre table similaire. Utilisez cette table similaire pour afficher les enregistrements d'espace réservé qu'un utilisateur peut modifier.
Note :
Lorsque vous créez des modèles de réécriture, vous devez inclure une commande insert et une commande update, même si elles ne sont pas utilisées. Par exemple, si vous effectuez seulement une opération insert, vous devez inclure un énoncé update <update></update> vide, comme dans ce code XML :
insert et deux énoncés update vides. Pour savoir comment créer et structurer des fichiers XML de réécriture, voir Créer des fichiers de modèle de réécriture.
<?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>