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 »


 
Returns the numeric modelId that uniquely identifies the specified model in a remote EDMdatabase.
The model is uniquely identified in the remote EDMdatabase by its name and the name of the repository in which it is contained.
Related function: edmiRemoteGetModel
Header:
#include "sdai.h"
Prototype:
EdmiError edmiRemoteGetModelBN(SdaiServerContext serverContextId,
                                SdaiString        repositoryName,
                                SdaiString        modelName,
                                SdaiModel         *modelId,
                                SdaiInvocationId  *edmiInvocationId);
 
Arguments:

serverContextId

Context identification, from edmiDefineServerContext

repositoryName

The name of the repository that contains the model of interest in the remote _EDMdatabase{_}.

modelName

The name of the model for which to retrieve its modelId. Model names are case sensitive.

modelId

The numeric modelID that uniquely identifies the model

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:
/*
– -------------------------------------- 
– File: c:/data/dental.exp 
– -------------------------------------- 
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