...
Code Block | ||||
---|---|---|---|---|
| ||||
EdmiError edmiRemoteInstancesToContainerBN(SdaiServerContext serverContextId,
SdaiModel modelId,
SdaiString sourceContainerName,
SdaiString targetContainerName,
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. |
Related functions: edmiRemoteCreateInstanceContainer, edmiRemoteDeleteInstanceContainer, edmiRemoteDeleteInstanceContainerBN, edmiRemoteEmptyContainer, edmiRemoteEmptyContainerBN, edmiRemoteGetInstanceContainerId, edmiRemoteGetInstanceContainers, edmiRemoteSetContainerCheckedout, edmiRemoteUnsetContainerCheckedout, edmiRemoteUnsetContainerCheckedoutBN, edmiRemoteSetContainerCheckedoutBN, edmiRemoteInstancesToContainer, edmiRemoteInstanceToContainer, edmiRemoteInstanceToContainerBN.
Header:
#include "sdai.h"
Prototype:
EdmiError edmiRemoteInstancesToContainerBN(SdaiServerContext serverContextId,
SdaiModel modelId,
SdaiString sourceContainerName,
SdaiString targetContainerName,
SdaiAggr instancesId,
SdaiAppInstance *instanceBuffer,
SdaiInvocationId *edmiInvocationId);
Arguments:
Arguments
...
Type | Name | Comment |
SdaiServerContext | serverContextId | Context identification, from edmiDefineServerContext |
SdaiModel | modelId | The modelId that uniquely identifies the edmModel in the remote EDMdatabasecontainerId of the instance container from which to remove the instance(s). By default, the instance(s) will not be removed from any container. |
SdaiString | sourceContainerName | The name of the instance container from which to remove the instances. By default, the instances will not be removed from any container. |
SdaiString | targetContainerName | The name of the instance container in which to insert the instances. By default, the instances 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 considered 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 = edmiRemoteInstancesToContainerBN(myContext, modelId, |
...
NULL, "FLOOR01", 0, queryResult->instanceIds, NULL); |
...
edmiFreeQueryResult(queryResult); |
...
/* Check out the container */ |
...
rstat = edmiRemoteProtectInstance(myContext, contId, |
...
(PUBLIC_READ | GROUP_READ | OWNER_WRITE), NULL); |
...
rstat = edmiRemoteSetContainerCheckedoutBN(myContext, |
...
modelId, "FLOOR01", NULL); |
...
. . . /* Manipulate data here */ . . . /* Check in the container */ rstat = edmiRemoteUnsetContainerCheckedoutBN(myContext, modelId, "FLOOR01", NULL); rstat = edmiRemoteProtectInstance(myContext, contId, (PUBLIC_READ | GROUP_WRITE | OWNER_WRITE), NULL); |
...
/* Empty and delete the container */ |
...
rstat = edmiRemoteEmptyContainerBN(myContext, modelId, "FLOOR01", NULL); |
...
rstat = edmiRemoteDeleteInstanceContainerBN(myContext, modelId, |
...
"FLOOR01", NULL); |
...
. . . |
See also
Filter by label (Content by label) | ||||||
---|---|---|---|---|---|---|
|