Below is the example of using the SetMs operation to delete a variable from the equation. The request contains an instance of opened modeling container, parameters of operation execution, and index of the variable to be deleted. After execution the operation returns the the changed equation.
{ "Envelope" : { "Body" : { "SetMs" : { "tMs" : { "id" : "S119!M!S!C1" }, "tArg" :
{ "pattern" : { "obInst" : "true" }, "meta" : "", "metaGet" : { "obInst" : "true", "item" :
{ "key" : "4411", "problem" : { "metamodel" : { "calculationChain" : "Get", "tag" : "false", "calcChainPattern" : {
"modelPattern" : { "generatedName" : "true" } } } } } }, "execParams" :
{ "modelsFactors" : { "its" : { "Item" : { "modelKey" : "4996", "factorIndex" : "1" }
} }, "execSaveMetaModel" : "true", "execSaveProblem" : "true", "execRemoveFactor" : "true" } } } } } }
{ "Envelope" : { "Body" : { "SetMsResult" :
{ "id" : { "id" : "S119!M!S!C1" }, "meta" : { "obInst" : { "obDesc" :
{ "@isShortcut" : "0", "i" : "MODELSPACE", "n" : "Modeling container", "k" : "1581", "c" : "5121", "p" : "1580", "h" : "0" } }
"dirty" : "0", "item" : { "k" : "4411", "id" : "MODEL_DEL", "n" : "model_del", "vis" : "1", "type" : "Problem", "problemMd" : {
"metamodel" : { "k" : "4412", "calculationChain" : { "its" : { "Item" : { "k" : "4996",
"id" : "OBJ4996", "n" : "Varable[t] = A1*Varable[t] + A2*Time series database!d12[t]", "vis" : "1", "type" : "Model", "excluded" : "0", "model" : { "generatedName" : "Varable[t] = A1*Varable[t]" } }
} }, "visualController" : "" } } } } } } } }
The SetMsRemoveFactor function removes the specified variable from the equation. Input parameters:
ms. Opened modeling container instance.
modelKey. Key of the model that contains the variable.
eqKey. Key of the equation, from which the variable is removed.
After executing the function returns a model that contains the the changed equation.
public static MsItem SetMsRemoveFactor(MsId ms, ulong modelKey, ulong eqKey) { var setMsOp = new SetMs(); setMsOp.tMs = ms; setMsOp.tArg = new SetMsArg() { // Set data change pattern pattern = new MsMdPattern() { }, meta = new MsMd() { }, // Set data getting pattern metaGet = new MsMdPattern() {
item = new MsItemPattern() { key = modelKey, problem = new MsProblemPattern() { metamodel = new MsMetaModelPattern() { tag = false, calculationChain = ListOperation.Get, calcChainPattern = new MsCalculationChainPattern()
{ modelPattern = new MsModelPattern() { generatedName = true } } } } } },// Set operation execution parameters execParams = new MsMdExecParams() { execSaveProblem = true
execSaveMetaModel = true, execRemoveFactor = true, modelsFactors = new MsModelsFactors() { its = new MsModelFactor[] { new MsModelFactor() { // Set equation key modelKey = eqKey, // Set variable index
factorIndex = 1 } } } } }; // Create proxy object for operation execution var somClient = new SomPortTypeClient(); // Execute operation var result = somClient.SetMs(setMsOp); return result.meta.item; }
See also: