Filtrage des données que l'utilitaire stagingprop doit propager

Vous pouvez filtrer les données que l'utilitaire stagingprop propage pour publier des mises à jour uniquement pour des objets spécifiques dans votre base de données de production. Vous pouvez filtrer les données par tables, par enregistrements de modifications, par filtres personnalisés, ou par une combinaison des options de filtrage.

Lorsque vous filtrez les données à propager, vous réduisez l'impact sur les performances du site du processus stagingprop en réduisant la quantité de données qui est propagée. Pour filtrer les données, vous pouvez configurer l'utilitaire pour filtrer par table ou par enregistrements de modifications. Lorsque vous exécutez l'utilitaire, vous pouvez utiliser des paramètres de ligne de commande pour identifier la méthode de filtrage et tout fichier de configuration ou valeur requis à utiliser. Vous pouvez filtrer les données en utilisant des filtres personnalisés.

Lorsque vous utilisez un filtre personnalisé, l'utilitaire stagingprop propage les données qui correspondent au filtre. Vous pouvez utiliser plusieurs filtres personnalisés simultanément pour filtrer les données que vous souhaitez propager, mais les filtres doivent être définis dans le même fichier de configuration. Un filtre personnalisé peut filtrer des données en fonction de critères tels que le stockage, les paramètres régionaux, ou l'ID objet (par exemple, ID promotion, ID catégorie ou ID dossier). Les filtres personnalisés s'appliquent uniquement aux objets et aux tables qui sont définies dans le fichier de configuration spécifié. Si une table n'est pas incluse dans une définition de filtre dans le fichier de configuration, le contenu de cette table est propagé normalement. Par exemple, si vous avez des données de catalogue et de promotion qui sont marquées pour propagation et vous configurez des filtres personnalisés pour les promotions, l'utilitaire stagingprop propage les données de promotion spécifiques qui correspondent aux filtres personnalisés et propage toutes les données de catalogue qui sont marquées pour propagation.

Vous pouvez utiliser plusieurs méthodes de filtrage simultanément. Par exemple, si vous avez des données de catalogue et de promotion qui sont marquées pour propagation, vous pouvez utiliser des filtres personnalisés pour filtrer les données de promotion et inclure une liste personnalisée qui configure l'utilitaire stagingprop pour propager uniquement les données dans des tables de base de données liées à la promotion. Avec ces méthodes de filtrage combinées, l'utilitaire stagingprop propage uniquement les données de promotion qui correspondent aux filtres personnalisés, et non les données de catalogue.

Remarque : En utilisant des filtres personnalisés, vous pourriez ne pas avoir besoin de modifier les déclencheurs pour les opérations INSERT et UPDATE sur la base de données de transfert pour une utilisation dans la mise à jour de la base de données de production. Si vous incluez les requêtes pour extraire des données de propagation INSERT et UPDATE dans le fichier de configuration du filtre de transfert, vous devez modifier uniquement les déclencheurs pour les opérations DELETE. Si vous utilisez l'option de filtrage d'enregistrements de changements, vous devez modifier les déclencheurs pour les opérations INSERT, UPDATE et DELETE.

Pour les opérations INSERT et UPDATE qui utilisent des filtres personnalisés, le processus de transfert utilise la configuration du filtre personnalisé et les valeurs de clé primaire de la table STAGLOG pour associer des enregistrements avec les tables appropriées dans la base de données de transfert et extraire les enregistrements filtrés pour la propagation.

Pour les opérations DELETE qui utilisent des filtres personnalisés, le processus de transfert ne peut pas extraire ou interroger les enregistrements dans la base de données de transfert. Les enregistrements sont déjà supprimés dans la base de données de transfert, de sorte que le processus de transfert ne peut pas déterminer si un filtre personnalisé s'applique, par exemple si un enregistrement supprimé était associé à un ID magasin en particulier. La seule façon d'identifier qu'une clé primaire d'enregistrement est associée à une valeur de filtre personnalisé est d'enregistrer l'association avant de supprimer le dossier. Vous devez continuer à utiliser le déclencheur AFTER DELETE qui est associé à la table STAGLOG pour déterminer cette association pour les opérations DELETE.

Procédure

Lorsque vous appliquez des filtres de processus de l'utilitaire stagingprop, vous pouvez utiliser l'une des méthodes de filtrage suivantes :
  • Pour utiliser un filtre personnalisé pour filtrer les données :
    1. Créez un fichier de configuration du filtre de transfert.
      Ce fichier doit définir le SQL que l'utilitaire doit utiliser pour extraire et propager les données filtrées. Lorsque vous utilisez un fichier de configuration du filtre de transfert, vous remplacez le comportement par défaut de l'utilitaire stagingprop lors de la phase de propagation de l'opération de stagingprop. Ce remplacement permet à l'utilitaire d'extraire et d'utiliser le SQL que vous définissez dans votre fichier de configuration.

      Pour identifier l'ensemble spécifique de données à filtrer, vous pouvez identifier les ensembles de données explicitement dans le fichier de configuration, ou inclure des paramètres de substitution, {customfilterparametername}, dans le fichier de configuration. Si vous utilisez un paramètre de substitution, vous pouvez inclure le paramètre customfilter% et la valeur pour identifier l'ensemble de données dans la ligne de commande lorsque vous exécutez l'utilitaire stagingprop. La valeur de parametername et % doit correspondre pour que la valeur du paramètre customfilter% puisse être transmise à partir de la ligne de commande dans l'instruction SQL qui est définie dans le fichier de configuration. En utilisant les paramètres de substitution, vous pouvez créer un fichier de configuration que vous pouvez réutiliser pour propager les mêmes types d'objets par un ID différent sans qu'il soit besoin de mettre à jour le fichier de configuration.

      Par exemple, le modèle de l'utilitaire stagingprop suivant comprend le paramètre de substitution {customfilterfolderid}. La valeur de ce paramètre doit être un ID de dossier. Le fichier de configuration modèle définit SQL pour filtrer les données de promotion par un ID de dossier de sorte que l'utilitaire extrait et propage uniquement les promotions incluses dans le dossier identifié. Dans la commande d'utilitaire de cet exemple, le paramètre customfilterfolderid est utilisé pour transmettre l'ID dossier qui remplace le paramètre de substitution {customfilterfolderid} :
    2. Mettez à jour les déclencheurs de la base de données pour vos tables de transfert afin de remplacer les déclencheurs de base de données existants pour les tables auxquelles vous appliquez des filtres personnalisés dans votre fichier de configuration.
      Étant donné que seuls certains enregistrements sont propagés, vous devez remplacer les déclencheurs de la base de données par défaut pour indiquer que seuls les enregistrements des données filtrées sont propagés. Pour plus d'informations, voir Création de déclencheurs SQL pour remplacer les déclencheurs de la table de base de données HCL Commerce.
    3. Spécifiez les paramètres suivants de ligne de commande lorsque vous exécutez l'utilitaire stagingprop :
      • Paramètre filterconfigfile avec le chemin accès au fichier configuration du filtre de transfert en tant que valeur du paramètre. Vous devez inclure ce paramètre pour utiliser un filtre personnalisé.
      • Paramètres et valeurs customfilter% à utiliser pour les paramètres de substitution dans l'instruction SQL dans le fichier configuration du filtre de transfert pour remplacer l'instruction SQL par défaut que l'utilitaire utilise. Si votre fichier de configuration ne comprend pas tous les paramètres de substitution, n'incluez pas ce paramètre lorsque vous exécutez l'utilitaire. Si votre fichier comprend des paramètres de substitution, incluez les paramètres et les valeurs correspondants lorsque vous exécutez l'utilitaire pour assurer que l'utilitaire SQL est complet et valide.
    4. Si vous propagez des données du catalogue qui doivent être indexées avec une recherche de HCL Commerce, veillez à mettre à jour l'index de recherche pour inclure vos données propagées.
  • Pour utiliser une liste personnalisée pour filtrer les données par table de base de données :
    1. Créez un fichier contenant une ou plusieurs liste(s) de tables de base de données.
    2. Spécifiez les paramètres scope et configfile lorsque vous exécutez l'utilitaire stagingprop.
      Le paramètre scope de l'utilitaire stagingprop identifie que vous filtrez les données par table de base de données. Vous disposez de quatre options pour définir la portée de la propagation de données au niveau de la table :
      _all_
      Toutes les données prêtes pour la production sont propagées vers l'environnement de production.
      _site_
      Seules les tables contenant des données de site sont propagées vers l'environnement de production.
      _merchant_
      Seules les tables contenant des données de commerçant sont propagées vers l'environnement de production.
      s
      Seules les tables de base de données définies contenues dans la liste s sont propagées vers l'environnement de production. Cette liste se trouve dans un fichier désigné par le paramètre configfile. Vous pouvez spécifier plusieurs listes de portée en séparant leurs par une barre oblique ("/").
  • Pour utiliser un enregistrement de modification pour filtrer les données :
    1. Le paramètre filtre de l'utilitaire stagingprop permet de filtrer les données par enregistrement de modification.
    2. Pour chaque enregistrement de modification à propager, insérez la même valeur d'entier positif dans la colonne STGFILTER des enregistrements de modification contenus dans la table STAGLOG. Vous pouvez insérer ces informations à l'aide de l'une des options suivantes :
      • Mettez à jour manuellement la table STAGLOG pour modifier les enregistrements appropriés.
      • Mettez à jour les déclencheurs INSERT, UPDATE et DELETE pour toute table applicable pour insérer les modifications dans la colonne STG FILTER de la table STAGLOG.
    3. Spécifiez le paramètre filtre associé à une valeur d'entier positif lors de l'exécution de l'utilitaire stagingprop.