Crea un objeto QueryFilterNode que contiene el operador booleano especificado.
Este método crea un nodo anidado (o subnodo) en la expresión de consulta. El nodo recién creado opera al mismo nivel que los filtros en el objeto QueryFilterNode especificado en el parámetro del nodo y está sujeto a las mismas condiciones. Puede añadir filtros al nodo recién creado utilizando el método BuildFilter como lo haría para cualquier otro nodo.
VBScript
node.BuildFilterOperator bool_operator
Perl
$node->BuildFilterOperator(bool_operator);
VBScript
' query for (id in idRange) AND (submitter = jjones OR clopez OR kwong)
Set qdef = sessionObj.BuildQuery("Defect")
qdef.BuildField ("id")
qdef.BuildField ("headline")
'Here is the root operator
Set filterNode1 = qdef.BuildFilterOperator(AD_BOOL_OP_AND)
Dim idRange(1) ' This sets up an array of two elements
idRange(0) = "SAMPL00000055"
idRange(1) = "SAMPL00000057"
filterNode1.BuildFilter "id", AD_COMP_OP_IN, idRange
'Here is the subnode operator
Set filterNode2 = filterNode1.BuildFilterOperator(AD_BOOL_OP_OR)
filterNode2.BuildFilter "submitter", AD_COMP_OP_EQ, "jjones"
filterNode2.BuildFilter "submitter", AD_COMP_OP_EQ, "clopez"
filterNode2.BuildFilter "submitter", AD_COMP_OP_EQ, "kwong"
Perl
# query for (Owner = jsmith) AND (state = closed)
@owner = ("jsmith");
@state = ("closed");
$queryDef = $CQSession->BuildQuery("Defect");
@dbfields = ("ID","State","Headline");
foreach $field (@dbfields) {
$queryDef->BuildField($field);
}
$FilterNode1 = $queryDef->BuildFilterOperator($CQPerlExt::CQ_BOOL_OP_AND);
$FilterNode1->BuildFilter("Owner", $CQPerlExt::CQ_COMP_OP_EQ, \@owner);
$FilterNode1->BuildFilter("State", $CQPerlExt::CQ_COMP_OP_NOT_IN, \@state);
$resultSet = $CQsession->BuildResultSet($queryDef);
$resultSet->Execute;
$num_columns = $resultSet->GetNumberOfColumns;