...
Code Block | ||||
---|---|---|---|---|
| ||||
EdmiError edmiRemoteInstancesToContainer(SdaiServerContext serverContextId,
SdaiContainer sourceContainerId,
SdaiContainer targetContainerId,
SdaiAggr instancesId,
SdaiAppInstance *instanceBuffer,
SdaiInvocationId *edmiInvocationId);
|
Adds/removes a selection of instances to/from an instance container identified by its containerId. This function may also move instances between containers. The behaviour is controlled by the values given in the source and target parameters <sourceContainerId> and <targetContainerId>. The table below illustrates this;
source | target | BehaviourBehavior |
Unset | Set | The instances will be inserted into the target container. |
Set | Unset | The instances will be removed from the source container. |
Set | Set | The instances will be moved from source to target. I.e removed from the source container and inserted into the target container. |
...
Arguments
...
Type | Name | Comment |
SdaiServerContext | serverContextId | Context identification, from edmiDefineServerContext |
SdaiContainer | sourceContainerId | The containerId of the instance container from which to remove the instance(s). By default, the instance(s) will not be removed from any container. |
SdaiContainer | targetContainerId | The containerId of the instance container in which to insert the instance(s). By default, the instance(s) will not be inserted into any container. |
SdaiAggr | instancesId | A numeric aggregateID that identifies an aggregate containing all the instances to move to, from or between the containers. If this argument is zero, the <instanceBuffer> argument will be used instead. |
SdaiAppInstance | instanceBuffer | A zero-terminated instance buffer containing all the instances to move to, from or between the containers. This argument is only used when the <instancesId> is not used. |
SdaiInvocationId | edmiInvocationId | Currently not used. |
...
Return Value
...
Insert excerpt | ||||||
---|---|---|---|---|---|---|
|
Options
...
Example
...
Code Block | ||
---|---|---|
| ||
EdmiError rstat; SdaiModel modelId; SdaiContainer contId; SdaiServerContext myContext; SdaiQueryResult queryResult; SdaiInteger index = 0, nHits = 10000; /* Define Remote Server Context */ rstat = edmiDefineServerContext("MyRemoteServerContext", |
...
"Johnny", "Supervisor", "cf37ftr", |
...
"TCP", "9090", "MyServerHost", |
...
NULL, NULL, NULL, NULL, NULL, &myContext); |
...
/* Create a lock container */ |
...
rstat = edmiRemoteCreateInstanceContainer(myContext, |
...
modelId, LOCK_CONTAINER, "FLOOR01", |
...
"Check out of first floor", &contId, NULL); |
...
/* Select instances to lock */ |
...
rstat = edmiRemoteSelectInstances(myContext, |
...
"DataRepository", "GeneralHospital", |
...
"CONSTRUCTION_ELEMENT", "FLOOR = 1", |
...
SUBTYPES | ONLY_INSTANCE_IDS, |
...
NULL, NULL, NULL, &index, &nHits, &queryResult, |
...
NULL, NULL, NULL, NULL); |
...
/* Put first floor in the container */ |
...
rstat = edmiRemoteInstancesToContainer(myContext, 0, contId, |
...
0, queryResult->instanceIds, NULL); |
...
edmiFreeQueryResult(queryResult); |
...
/* Check out the container */ |
...
rstat = edmiRemoteProtectInstance(myContext, contId, |
...
(PUBLIC_READ | GROUP_READ | OWNER_WRITE), NULL); |
...
rstat = edmiRemoteSetContainerCheckedout(myContext, contId, NULL); |
...
. . . /* Manipulate data here */ . . . /* Check in the container */ rstat = edmiRemoteUnsetContainerCheckedout(myContext, contId, NULL); |
...
rstat = edmiRemoteProtectInstance(myContext, contId, |
...
(PUBLIC_READ | GROUP_WRITE | OWNER_WRITE), NULL); |
...
/* Empty and delete the container */ |
...
rstat = edmiRemoteEmptyContainer(myContext, contId, NULL); |
...
rstat = edmiRemoteDeleteInstanceContainer(myContext, contId, NULL); |
...
. . . |
See also
Filter by label (Content by label) | ||||||
---|---|---|---|---|---|---|
|