To be completed (add example).
Searched the specified model for the instance id of the instance where the specified attribute has exactly the specified value. The attribute is specified by name via the arguments entityName and attributeName. If the attribute type is of string type use the attrStringValue to specify the attribute value. If the attribute type is of integer type, use the attrIntegerValue to specify the attribute value. This function returns only one instance id which implies that you only should use this function if the attribute value is defined to be unique. If the attribute value may occur in more than one instance, use edmiGetHashedAttrInstancesBN.
If no attribute hash table is defined for the specified attribute, no sequential search is performed and the function returns an error code.
Related functions: edmiGetHashedAttrInstance, edmiGetHashedAttrInstances, edmiGetHashedAttrInstancesBN
Header:
#include "sdai.h"
Prototype:
EdmiError edmiGetHashedAttrInstanceBN (SdaiModel modelId,
SdaiString entityName,
SdaiString attributeName,
SdaiString attrStringValue,
SdaiInteger attrIntegerValue,
SdaiInstance *instance);
Arguments:
modelId | A numeric modelID that uniquely identifies the model of interest in the EDMdatabase. |
entityName | Specify the name of the instance type, i.e. the name of the entity that defines the instance type. Entity names are case insensitive. |
attributeName | Specifies the name of the attribute. Attribute names are case insensitive. |
attrStringValue | is used to specify the hash table key for hash tables of SdaiString data type |
attrIntegerValue | is used to specify the hash table key for hash tables of SdaiInstance, and EdmPackedDate data types |
*instance | Address of the variable where to return the instance id of the found instance. |
Returns:
A completion code of datatype EdmiError is the returned function value. The completion code has the following values:
Completion code = 0 : Operation successfully performed.
Completion code != 0: Error in operation. Completion code is an EDMinterface error code. Use edmiGetErrorText to get the error text corresponding to the error code.
Example:
EdmiError rstat;
. . .