Offre la fonctionnalité Rechercher un enregistrement. Renvoie l'objet EntityDef correspondant à l'ID base de données indiqué (DBID) de l'enregistrement. Cette méthode nécessite l'indication du type d'EntityDef et éventuellement des noms d'EntityDef dans lesquels rechercher le DBID.
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 l'attribut displayName ou DBID 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 nom d'affichage, et non de son ID base de données, utilisez la méthode GetEntityDefOfName.
VBScript
session.GetEntityDefOfDbId(db_id, entitydef_names,entitydef_type)
Perl
$session->GetEntityDefOfDbId(db_identitydef_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 attribut displayName (nom d'affichage) ou DbId (ID base de données). Cette liste de noms d'EntityDef est traitée de manière itérative dans l'ordre donné. 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->GetEntityDefOfDbId()... my($DbId) = $ARG{'DBID'}; eval { $CQEntityDefOfDbId = $CQSession->GetEntityDefOfDbId($DbId, $entDefNames, $ARG{'ENTTYPE'}); }; # exception handling goes here... # Get the Entity Def Name of the record... eval { $CQEntityDefName = $CQEntityDefOfDbId->GetName(); }; # exception handling goes here... # Get entity...