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 »


 
SYNTAX:
 
xpxConditionalDeepCopyInstances (sourceInstances  : AGGREGATE OF GENERIC;                                  modelId          : GENERIC;                                  options          : INTEGER;                                  include_exclude  : AGGREGATE OF GENERIC;                                 VAR newInstances : AGGREGATE OF GENERIC)                                  status           : INTEGER;
 
To be completed
 
The xpxConditionalDeepCopyInstances function copies an instance graph within one data model or from one data model to another. The source instance graph consists of all instances that are directly or indirectly used by the source instance. The target instance(s) will implicitly be created, hence copy between existing instances cannot be performed by this operation.
Optionally this operation can copy a partial instance graph, one complete or one partial instance.
The data model locating the source instance must be open for read access and the target data model must be open for write access, before this operation can be successfully performed.
The arguments of the function are:

Argument:

Description:

sourceInstances

An aggregate of numeric instanceIDs that uniquely identifies the instances to be copied in the EDMdatabase

modelId

A numeric modelID that uniquely identifies the data model locating the target instance(s).This target model must be a population of the same schema as the model that locates the <sourceInstances>

options

Specifies the options to be used in the invocation of the function. The <options> value can be specified as a bitwise OR between the actual options to enable. All option names are defined on the header file sdai.h. See the edmiConditionalDeepCopyInstances function for options descriptions.

include_exclude

Address of an array of instances or instance types (entities). The content is dependent of the value of the <options> argument. An instanceID = 0 terminates the <exclude_or_include> array

newInstances

An address to a variable that will receive an aggregate of numeric instanceIDs that will uniquely identify the created instances (target instances) in the EDMdatabase

 
This function is equivalent to the EDMinterface function edmiConditionalDeepCopyInstances
 
Remarks:
 
When copying objects (entity instances & aggregate instances) from  one model to another model, the actual objects must be "copied" from the source model into the target model. Copied in this context means that new entity instances/aggregate instances have to be created in the target model and then the "primitive attribute/aggregate values" have to be assigned from the source objects to the new created objects in the target model. Hence, "normal" assignment statements cannot be used for this purpose. An assignment operation will only "copy" the InstanceId of the actual object resulting in "invalid InstanceId in target model".

  • No labels