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 »


 
Unsets a selection of array element identified by their element indexes. This function is only applicable on aggregates of array type.
Related functions: edmiRemoteUnsetAggrElement, edmiRemoteTestAggrElements
Header:
#include "sdai.h"
Prototype:
EdmiError edmiRemoteUnsetAggrElements(SdaiServerContext serverContextId,
                                       SdaiAggr          aggrId,
                                       SdaiAggrIndex     indexes[],
                                       SdaiInteger       elements,
                                       SdaiInvocationId  *edmiInvocationId);
 
Arguments:

serverContextId

Context identification, from edmiDefineServerContext

aggrId

The numeric aggregateID that uniquely identifies the array for which to unset a selection of indexed elements.

indexes

A locally declared buffer containing the indexes of the array elements to unset.

elements

The number of indexes in the <indexes> buffer.

edmiInvocationId

Currently not used.

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:
/*
SCHEMA DentalStatus; 
ENTITY Tooth; 
Fillings : INTEGER; 
END_ENTITY; 
ENTITY Incisor SUBTYPE OF (Tooth); END_ENTITY; 
ENTITY Canin SUBTYPE OF (Tooth); END_ENTITY; 
ENTITY Molar SUBTYPE OF (Tooth); END_ENTITY; 
ENTITY Wisdom SUBTYPE OF (Molar); END_ENTITY; 
ENTITY Patient; 
CustomerId : INTEGER; 
ToothSet : ARRAY [1:32] OF OPTIONAL Tooth; 
END_ENTITY; 
END_SCHEMA; 
*/
EdmiError rstat;
SdaiServerContext myContext;
SdaiModel modelId;
SdaiInteger incisors[4] = {7,8,23,24};
SdaiInteger nHits, index;
SdaiInstance patientId;
SdaiAggr toothSet;
 
/* Define Remote Server Context */
rstat = edmiDefineServerContext("MyRemoteServerContext",
"Johnny", "Dentist", "cf37ftr", 
"TCP", "9090", "MyServerHost", 
NULL, NULL, NULL, NULL, NULL, &myContext); 
 
/* Get the modelId of the
patient register model */ 
rstat = edmiRemoteGetModelBN(myContext, "DataRepository",
"PatientRegister", &modelId, NULL); 
 
/* Get the instance Id of the patient
with customerId 8745 */ 
nHits = 1;
index = 0;
rstat = edmiRemoteFindInstancesBN(myContext, modelId,
"Patient", "CustomerId = 8745", 
sizeof(SdaiInstance), &index, &nHits, 
&patientId, NULL); 
 
/* Get the patients toothset */
rstat = edmiRemoteGetAttrsBN(myContext, patientId, 0, 1, NULL,
"ToothSet", sdaiAGGR, &toothSet); 
 
/* The patient has lost all his
four incisors in an accident */ 
rstat = edmiRemoteUnsetAggrElements(myContext,
toothSet, incisors, 4, NULL); 
. . .

  • No labels