Offre la fonctionnalité Rechercher un enregistrement. Renvoie l'objet EntityDef correspondant au nom d'affichage indiqué de l'enregistrement. Cette méthode nécessite l'indication du type d'EntityDef et éventuellement des noms d'EntityDef dans lesquels rechercher le nom d'affichage.
Vous devez consulter le type d'EntityDef renvoyé pour déterminer le type d'enregistrement correspondant, car le tableau entDefNames autorise les recherches dans plusieurs types d'enregistrement. De plus, si vous utilisez ANY_ENTITY dans l'argument entityDeftype (type d'entityDef), vous devez vérifier si l'enregistrement renvoyé est avec état (REQ_ENTITY) ou sans état (AUX_ENTITY).
Vous pouvez appeler les méthodes GetEntityDefOfName ou GetEntityDefOfDbId pour savoir si une entité possédant le nom d'affichage ou l'ID base de données indiqué est disponible dans la base de données utilisateur. Une fois EntityDef connu, vous pouvez obtenir l'entité à l'aide de la méthode GetEntity de l'objet Session.
Pour effectuer une requête sur le type d'enregistrement à l'aide de son ID base de données, plutôt que de son nom d'affichage, utilisez la méthode GetEntityDefOfDbId.
Pour plus d'informations sur les noms d'affichage et les clés uniques, voir Types d'enregistrement .
VBScript
session.GetEntityDefOfName(display_name, entitydef_names,entitydef_type )
Perl
$session->GetEntityDefOfName(display_name, entitydef_names,entitydef_type);
Dans Visual Basic, valeur de type Variant contenant un tableau de chaînes. Chaque chaîne contient le nom d'un EntityDef.
Dans Perl, référence à un tableau de chaînes. Chaque chaîne contient le nom d'un EntityDef.
Les noms des EntityDef permettent de rechercher l'entité identifiée par son nom d'affichage ou son ID base de données. This list of EntityDef names is iterated and processed in the order given. Si un nom d'EntityDef indiqué dans l'argument entDefNames est incorrect, une exception est émise et identifie ce nom incorrect. Si une valeur de tableau vide est indiquée, tous les types d'EntityDef définis dans le schéma sont utilisés et la recherche s'effectue dans l'ordre de l'EntityDef le plus fréquent à l'EntityDef le moins fréquent.
Perl
use CQPerlExt;
# Build session...
# Log in...'Session UserLogon method'
# Determine the array of Entity Def Names for searching...
eval { $entDefNamesDB = $CQSession->GetEntityDefNames(); };
# Sort the list of entity def names returned from GetEntityDefNames()
@entDefNamesDBsorted = sort @$entDefNamesDB;
$entDefNamesDBsorted = \@entDefNamesDBsorted;
# EntityDef Names can be supplied by the user. For example:
# @entDefNamesUser = ($ARG{'EDEF1'},$ARG{'EDEF2'},$ARG{'EDEF3'});
# $entDefNamesUser = \@entDefNamesUser;
# if using user supplied EntityDef Names for searching then
# $entDefNames = $entDefNamesUser;
# else use all DB EntityDef names for searching:
$entDefNames = $entDefNamesDBsorted;
# Call CQSession->GetEntityDefOfName()...
#my($dName) = substr($ARG{'DATABASE'}.$ARG{'RECORDNAME'}, 5);
my($dName) = $ARG{'ID'};
eval { $CQEntityDefOfName = $CQSession->GetEntityDefOfName($dName, $entDefNames, $ARG{'ENTTYPE'}); };
# exception handling goes here...
# Get the Entity Def Name of the record...
eval { $CQEntityDefName = $CQEntityDefOfName->GetName(); };
# exception handling goes here...
# Get entity...