该程序包还可搜索所引用的记录类型以找到此类引用,但是配置项会限制递归深度。缺省情况下,EmailPlus 会搜索以下这些记录:
要更改此深度,必须在 EMP_Customisable Perl 全局脚本中定义一个常量。例如,将 $MAX_FIELDPATH_RECURSE_DEPTH 常量的值设置为 2 会将递归深度设置为 2:当前记录的子级记录和当前记录子级记录的子级记录。将 $MAX_FIELDPATH_RECURSE_DEPTH 常量的值设置为 0 会将搜索限制为当前记录。如果将该值设置为 3,那么除了搜索当前记录外,还会最多搜索到第三个级别的子级记录。
放宽要搜索的字段种类的另一种方法是使用 $FIELDPATH_INCLUDE_STRINGS 常量,这使得 EmailPlus 包括任一递归深度的记录中所发现的所有字符串字段。必须确定该选择是否仅包括其中含有有效 ClearQuest® 用户标识列表的字段,针对一行指定一个用户标识或者用逗号分隔。否则,结果将不明确。
在带有 GLOBAL SCOPE 的 EMP_Customisable Perl 全局脚本中定义这些常量,而不是在函数或子例程中定义。例如,根据以下代码定义常量:
# 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;
….
如果未定义这些常量,那么程序包将采用以下缺省行为: