Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

Version 1 Current »


 
Implements the Express built in function Value_In as defined in section 15.28 Value_in – membership function; in ISO 10303-11:1994(E) : The EXPRESS Language Reference Manual.
The Value_in function returns a SdaiLogical value depending on whether or not the specified <value> is a member in the specified <aggr> or not. This operation uses value comparison (deep comparison).
This operation is only applicable on data models. The actual data model must be open before this operation can be successfully performed.
Related functions: sdaiIsMember
Header:
#include "sdai.h"
Prototype:
EdmiError edmiValueIn(SdaiAggr          aggr,
                       SdaiPrimitiveType dataType,  
                       SdaiLogical       *result, 
                       . . .); 
Arguments:

aggr

A numeric aggregateID that uniquely identifies the aggregate of interest in the EDMdatabase.
The aggregateID is returned when the aggregate is created or it can be retrieved with an EDMinterface get operation.

dataType

Specifies the data type ( primitive type) of the specified <value> argument that will be checked for existing in the specified <aggr> argument.
The value of this argument must be one of the following legal data types: sdaiINTEGER, sdaiREAL, sdaiBOOLEAN, sdaiLOGICAL, sdaiSTRING, sdaiENUMERATION, sdaiBINARY, sdaiAGGR, sdaiINSTANCE or sdaiSELECT.

result

Address of a SdaiLogical variable that will receive the result of the Value_In operation. The returned result is as follows:
sdaiTRUE: <value> found in aggregate <aggr>
sdaiFALSE: <value> not found in aggregate <aggr>
sdaiUNKNOWN: Unpredictable result due to unset values or error in operation. Use sdaiErrorQuery to check for error in operation.

value

The actual data value passed to the Value_In operation.

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;
SdaiAggr aggr;
SdaiLogical result;
SdaiInstance documentId;
. . .
if (rstat = edmiValueIn (aggr,
sdaiINSTANCE, 
&result, 
documentId)) { 
/* Error in operation */ 
printf("\nError: %s in edmiValueIn \n", 
edmiGetErrorText(rstat)); 
goto error; 
}
switch (result) {
case sdaiTRUE: 
. . . /* Value found in aggregate */ 
break; 
case sdaiFALSE: 
. . . /* Value not found in aggregate */ 
break; 
default: 
. . . /* Unpredictable result */ 
break; 
}
. . .

  • No labels