Aller au contenu principal

Gérer les suppressions des tables ajoutées

DataSync maintient la destination à jour avec Sage Intacct. Quand un enregistrement est supprimé dans Sage Intacct, DataSync le supprime aussi, avec une instruction DELETE. Le modèle par défaut contient ces instructions pour ses propres tables prédéfinies uniquement. Si vous ajoutez vous-même une table à l'extraction en chargement incrémentiel, aucune instruction DELETE n'existe pour cette table, donc les enregistrements supprimés dans Sage Intacct restent dans la table de destination.

Pour qu'ils disparaissent aussi de votre table, ajoutez une instruction DELETE au script de post-exécution de la table Audit History. Chaque instruction a besoin du nom de la table, du type d'objet Audit History et du champ clé qui correspond à ZZ_Audithistory.Objectkey.

Ajouter une instruction DELETE pour une table personnalisée​

Table Audithistory dans DataSync, avec l'icône crayon en surbrillance sous Script de Post Execution
  1. Dans DataSync, sélectionnez le module Extractions.
  2. Sélectionnez l'extraction Sage Intacct avec actualisation et cliquez sur le lien de la colonne Tables.
  3. Cherchez la table Audithistory, puis cliquez sur l'icône crayon sous Script de Post Execution.
  4. À la fin du script, copiez une instruction DELETE existante.
  5. Remplacez <TableName>, <objecttype> et <KeyField> par les valeurs de votre table, sans rien changer d'autre.
  6. Cliquez sur Enregistrer.
IF OBJECT_ID('##DestinationSchema.<TableName>', 'U') IS NOT NULL
DELETE t
FROM ##DestinationSchema.<TableName> t
WHERE EXISTS (
SELECT 1
FROM ##DestinationSchema.ZZ_Audithistory h
WHERE LOWER(h.Objecttype) = '<objecttype>'
AND h.Objectkey = CAST(t.<KeyField> AS varchar(100))
);
astuce

Une ligne est supprimée uniquement si son type d'objet et sa clé figurent dans ZZ_Audithistory.