Le package recherche également les types d'enregistrement référencés pour de telles références, mais un objet de configuration limite la profondeur de la récursivité. Par défaut, EmailPlus exécute la recherche dans ces enregistrements :
Pour modifier cette profondeur, vous devez définir une constante dans le script global EMP_Customisable. Par exemple, la définition de la valeur de la constante $MAX_FIELDPATH_RECURSE_DEPTH sur 2 définit la profondeur de récursivité sur deux : l'enregistrement enfant et les enregistrements enfants des enregistrements enfants de l'enregistrement actuel. La définition de la valeur de la constante $MAX_FIELDPATH_RECURSE_DEPTH sur 0 limite la recherche à l'enregistrement en cours. La définition de la valeur sur 3 recherche les enregistrements enfants jusqu'au troisième niveau, en plus de l'enregistrement en cours.
L'autre façon d'élargir le type de zones recherchées consiste à utiliser la constante $FIELDPATH_INCLUDE_STRINGS, qui demande à EmailPlus d'inclure toutes les zones de chaîne reconnues dans des enregistrements à toutes les profondeurs de récursivité. Vous devez déterminer si la sélection inclut toutes les zones qui contiennent des listes d'ID utilisateur ClearQuest valides spécifiées une à la ligne ou séparées par des virgules. Autrement, les résultats ne sont pas définis.
Définissez ces constantes dans le script global EMP_Customisable avec GLOBAL SCOPE, et non à l'intérieur d'une fonction ou d'un sous-programme. Par exemple, définissez les constantes selon le code ci-dessous :
# Start of Global Script EMP_Customisable
# The routines in the module are customisable.
$MAX_FIELDPATH_RECURSE_DEPTH = 2;
$FIELDPATH_INCLUDE_STRINGS = 1;
sub EMP_SubstituteCustomMetaTag {
my $metaTagParts_ref = shift; # a reference to an array
my $entityDefObj = shift;
my $isHTMLContent = shift;
my $isTest = shift;
….
Si ces constantes ne sont pas définies, le package adopte
le comportement par défaut suivant :