Proporciona funcionalidad de tipo ‘Buscar registro’. Devuelve el objeto EntityDef para el ID de base de datos de (DBID) de registro proporcionado. El método requiere que especifique el tipo de EntityDef y, de manera opcional, los nombres de EntityDef en los que buscar el DBID.
El tipo de EntityDef devuelto se debe comprobar para determinar qué tipo de registro ha coincidido, ya que la matriz de entDefNames permite búsquedas en varios tipos de registro. Asimismo, si se ha utilizado ANY_ENTITY como argumento de entityDeftype, debe determinar si se ha devuelto un registro con estado (REQ_ENTITY) o sin estado (AUX_ENTITY).
Puede llamar a GetEntityDefOfName o GetEntityDefOfDbId para averiguar si existe una entidad con el displayName o el DBID especificado en la base de datos de usuario. Una vez conocido el EntityDef, la entidad se puede obtener llamando al método GetEntity del objeto Session.
Para solicitar el tipo de registro utilizando su nombre de visualización en lugar del ID de base de datos, utilice el método GetEntityDefOfName.
VBScript
session.GetEntityDefOfDbId(ID_db, nombres_entitydef,tipo_entitydef)
Perl
$session->GetEntityDefOfDbId(ID_dbnombres_entitydef, tipo_entitydef);
Para Visual Basic, un valor Variant que contiene una matriz de series. Cada serie contiene el nombre de un EntityDef.
Para Perl, una referencia a una matriz de series. Cada serie contiene el nombre de un EntityDef.
Los nombres de los EntityDef se utilizan para buscar la entidad identificada por displayName o DbId. Esta lista de nombres de EntityDef se itera y se procesa en el orden proporcionado. Si alguno de los nombres de EntityDef proporcionados en el argumento entDefNames no es válido, se lanza una excepción que identifica el nombre no válido. Si se proporciona un valor de matriz vacío, se utilizan todos los tipos de EntityDef definidos en el esquema, y el orden de búsqueda es que se busca primero el EntityDef encontrado con más frecuencia y se busca el último el EntityDef menos encontrado.
Perl
use CQPerlExt;
# Crear sesión...
# Iniciar sesión...'Método UserLogon de sesión'
# Determinar la matriz de nombres de EntityDef para la búsqueda...
eval { $entDefNamesDB = $CQSession->GetEntityDefNames(); };
# Ordenar la lista de nombres de EntityDef devueltos de GetEntityDefNames()
@entDefNamesDBsorted = sort @$entDefNamesDB;
$entDefNamesDBsorted = \@entDefNamesDBsorted;
# El usuario puede proporcionar nombres de EntityDef. Por ejemplo:
# @entDefNamesUser = ($ARG{'EDEF1'},$ARG{'EDEF2'},$ARG{'EDEF3'});
# $entDefNamesUser = \@entDefNamesUser;
# si se utilizan nombres de EntityDef proporcionados por el usuario en la búsqueda,
# $entDefNames = $entDefNamesUser;
# de lo contrario, se utilizan todos los nombres de EntityDef de DB para la
búsqueda:
$entDefNames = $entDefNamesDBsorted;
# Invocar CQSession->GetEntityDefOfDbId()...
my($DbId) = $ARG{'DBID'};
eval { $CQEntityDefOfDbId = $CQSession->
GetEntityDefOfDbId($DbId, $entDefNames, $ARG{'ENTTYPE'}); };
# situar aquí el manejo de excepciones...
# Obtener el Entity del registro...
eval { $CQEntityDefName = $CQEntityDefOfDbId->GetName(); };
# situar aquí el manejo de excepciones...
# Obtener la entidad...