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 »


 
Creates a copy of a model with all its contents within a remote EDMdatabase.
This function is only applicable to data models. The executing EDMuser must have read access to the source model. The source model will not be affected by this operation and may be open or closed. The source and target models will be two independent populations of the same underlying Express Schema.
Related functions: edmiRemoteCopyModelBN.
Header:
#include "sdai.h"
Prototype:
EdmiError edmiRemoteCopyModel(SdaiServerContext serverContextId,
                               SdaiModel         modelId,
                               SdaiRepository    targetModelRepositoryId,
                               SdaiString        remoteTargetModelName,
                               SdaiModel         *newModelId,
                               SdaiInvocationId  *edmiInvocationId);
 
Arguments:

serverContextId

Context identification, from edmiDefineServerContext

modelId

The modelId that uniquely identifies the source model in the EDMdatabase

targetModelRepositoryId

The repositoryId that uniquely identifies the repository in which to create a copy of the model.

remoteTargetModelName

The name to assign to the new copy of the model.

newModelId

A variable that will receive the modelId that uniquely identifies the new copy of the model in the EDMdatabase

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:
EdmiError rstat;
SdaiServerContext myContext;
SdaiModel modId, copyModId;
SdaiRepository repositoryId;
/* Create Server Context */
rstat = edmiDefineServerContext("MyContext",
"Johnny", "Supervisor", "cf37ftr", 
"TCP", "9090", "MyServerHost", 
NULL, NULL, NULL, NULL, NULL, &myContext); 
 
/* Get the modelId of MyModel */
rstat = edmiRemoteGetModelBN(myContext, "DataRepository",
"MyModel", &modId, NULL); 
 
/* Create a repository for
containing my copy of MyModel */  
rstat = edmiRemoteCreateRepository(myContext,
"MyCopyRepository", NULL); 
 
/* Get the repositoryId */
rstat = edmiRemoteGetRepository(myContext,
"MyCopyRepository", &repositoryId, NULL); 
 
/* Copy MyModel to MyCopy in MyCopyRepository */
rstat = edmiRemoteCopyModel(myContext, modId,
repositoryId, "MyCopy", &copyModId, NULL); 
. . .

  • No labels