Séparation par domaine d’une table personnalisée

  • Rversion finale: Zurich
  • Mis à jour 31 juil. 2025
  • 3 minutes de lecture
  • Vous devrez peut-être créer des tables personnalisées dans des domaines distincts. Cette rubrique couvre à la fois la procédure et le concept derrière la séparation par domaine d’une table personnalisée.

    1. Créer un champ sys_domain

    Remarque :
    Si une table système ou une table n’a pas été séparée par domaine par le module d’extension Domain Separation, il est préférable de ne pas la séparer par domaine.
    Utilisez ces points comme guide pour créer un champ sys_domain.
    • Créez un nouveau type de champ domain_id .
      • Nom de colonne : sys_domain
      • Autres attributs : définis automatiquement
    • La Sys_domain_path est créée automatiquement.

    Le nom de colonne sys_domain est réservé dans le ServiceNow AI Platform, ce qui signifie que le système le reconnaît et vous applique automatiquement le type de champ et les attributs appropriés. Cette configuration automatique crée également un champ sys_domain_path correspondant.

    • Définissez le nom de la colonne sur sys_domain plutôt que d’utiliser l’étiquette.
    • Séparation de domaine n’est pas approprié pour toutes les tables. En général, si une table fait partie de l’instance de base et que cette table n’a pas de champ sys_domain , vous devez le laisser ainsi.

    Un champ sys_domain est créé automatiquement lorsque vous créez un champ de type domain_id portant le nom « sys_domain ».

    2. Ajouter une règle métier pour définir le domaine

    Sans règles métier
    Le domaine est défini sur le domaine actuel de l’utilisateur qui crée l’enregistrement.
    Avec règles métier
    Le domaine est affecté à l’aide d’une logique scriptée, généralement basée sur le champ Entreprise.

    En plus d’un champ sys_domain, les tables personnalisées ont besoin d’une règle métier similaire à Domaine - Définir le domaine - Tâchepour définir la valeur du champ de domaine. En outre, vous aurez besoin de Domaine – Par défaut – Tâche, qui déplace les enregistrements sans domaine vers le domaine par défaut si la première règle ne parvient pas à attribuer un domaine.

    Sur la table des tâches, examinez les règles métier pour Domaine. Portez une attention particulière au champ Commande. La priorité d’exécution est donnée par le champ Ordre, de faible à élevée.

    La première règle qui s’exécute, Domaine – Définir le domaine – Tâche, tente de définir le domaine de l’enregistrement en fonction du domaine de la société de l’enregistrement.

    Si la première règle ne parvient pas à trouver un domaine approprié, la deuxième règle, Domaine – Par défaut – Tâche, s’exécute. Cette règle définit le domaine de l’enregistrement sur le domaine par défaut.

    Enfin, si le domaine d’un enregistrement de tâche change, la règle métier Domaine – Domaine en cascade – Tâche change le domaine sur tous les enregistrements liés à la tâche, tels que les workflows, les mesures, les SLA et les pièces jointes.

    3. Ajouter une règle métier en cas d’échec de l’étape 2

    Si la règle métier initiale ne parvient pas à définir un domaine et que le domaine est toujours vide ou global, une deuxième règle métier s’exécute. Cette règle examine le champ task_for basé sur le champ appelant ou requested_for . Cette règle vérifie si vous pouvez définir le domaine de l’enregistrement en fonction du domaine de l’utilisateur. Dans le cas contraire, la règle métier définit le domaine sur le domaine par défaut.

    Voici un exemple de script pour la règle métier :

    /* essentially
    If (task_for is set)
      set the domain to the user's domain
    ELSE
      set the domain to the default domain
    */

    4. Domaine – domaine en cascade – tâche

    Les tâches peuvent comporter de nombreuses tables connexes qui fonctionnent ensemble pour les objectifs business. Ces enregistrements connexes comprennent le workflow, le SLA, les approbations, les pièces jointes et les e-mails. Si le domaine d’une tâche change, le domaine des enregistrements connexes doit également changer afin qu’ils restent visibles par les utilisateurs dans le nouveau domaine.

    Cette règle en cascade est généralement déclenchée lorsque vous effacez des enregistrements du domaine par défaut.

    Les enregistrements connexes pour un domaine en cascade contenu dans le script sont affichés de la même manière que dans l’exemple :

    /*
    * Keep domains in sync w/related records for:
    * workflow context
    * workflow history
    * approver tables and related workflows
    * attachments
    * emails
    */