La réécriture permet aux utilisateurs de mettre à jour les données directement à partir des tableaux de bord et des analyses.
Les champs de réécriture apparaissent comme des champs modifiables dans les analyses pour les utilisateurs disposant du privilège Réécrire dans la base de données. Les valeurs qu'ils saisissent sont enregistrées dans la base de données Les champs de réécriture apparaissent comme des champs en lecture seule pour les utilisateurs ne disposant pas du privilège Réécrire dans la base de données.
Si un utilisateur saisit une valeur dans un champ modifiable et clique sur le bouton de réécriture, l'application exécute la commande SQL insert ou update définie dans le modèle de réécriture. Si la commande fonctionne, l'analyse est mise à jour avec la nouvelle valeur. En cas d'erreur lors de la lecture du modèle ou de l'exécution de la commande SQL, un message d'erreur apparaît.
La commande insert est exécutée lorsqu'un enregistrement n'existe pas encore et que l'utilisateur saisit de nouvelles données dans la table. Dans ce cas, l'utilisateur a effectué une saisie dans un enregistrement de table dans lequel la valeur d'origine était NULL. 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 analogue. Servez-vous de cette table analogue pour afficher des enregistrements de réserve qu'un utilisateur peut modifier.
Remarque :
Lorsque vous créez des modèles de réécriture, vous devez inclure à la fois une commande insert et une commande update, même si elles ne sont pas utilisées. Par exemple, si vous n'exécutez qu'une commande insert, vous devez inclure une instruction update vide (<update></update>), comme dans le code XML ci-après.
insert et deux instructions update vides. Pour en savoir plus sur la création et la structuration des fichiers XML de réécriture, reportez-vous à Création de 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>