Below is the example of using the GetMs operation to rename a modeling variable. The request contains an instance of opened modeling container, pattern for getting changed data, parameters of operation execution, and the data slice that corresponds to the variable. The response contains description of the renamed variable.
{ "Envelope" : { "Body" : { "GetMs" :
{ "tMs" : { "id" : "S84!M!S!C1" }, "tArg" : { "pattern" : { "obInst" : "true",
"item" : { "key" : "4411", "problem" : { "metamodel" : { "calcChainPattern" : "", "visualControllerPattern" : {
"variableRubricatorKey" : "true", "chainWorkbookKey" : "true", "freeVariables" : "true" } } } } }, "execParams" : {
"name" : "Modeling variable 3 (renamed)", "slice" : { "k" : "0", "id" : "360", "n" : "Modeling variable 3", "vis" : "true", "variableKey" : "4590", "stubKey" : "4413", "selections",
{ "its" : { "Item" : { "id" : { "id" : "4426" }, "variant" : "360"
} } }, "aggregator" : "None", "parametrizedDimensions" : { "its" : { "Item" : {
"dimension" : "0", "parameter" : "0" } } }, "unitInfo" : { "unit" : "4294967295", "measure" : "4294967295", "baseUnit" : "4294967295",
"unitsDimensionKey" : "0" }, "level" : "None" }, "execRenameVariable" : "true" } } } } } }
{ "Envelope" : { "Body" : { "GetMsResult" : { "id" : { "id" : "S84!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", "visualController" :
{ "variableRubricatorKey" : "4413", "chainWorkbookKey" : "4445", "freeVariables" : { "its" : { "Item" : { "k" : "0",
"id" : "360", "n" : "Modeling variable 3 (renamed)", "vis" : "1", "variableKey" : "4590", "stubKey" : "4413", "selections" : { "its" : { "Item"
{ "id" : { "id" : "4426" }, "variant" : "360" } } }, "aggregator" : "None",
"parametrizedDimensions" : { "its" : { "Item" : { "dimension" : "0", "parameter" : "0" } }
}, "unitInfo" : { "unit" : "4294967295", "measure" : "4294967295", "baseUnit" : "4294967295", "unitsDimensionKey" : "0" }, "level" : "None" }
} } } } } } } } } } }
The GetMsRenameVar function renames the specified variable. Input parameters:
ms. Opened modeling container instance.
modelKey. Key of the model that contains the variable.
varSlice. Data slice that corresponds to the variable.
After execution the function returns the model that contains the changed variable.
public static MsItem GetMsRenameVar(MsId ms, ulong modelKey, MsFormulaTransformSlice varSlice) { var getMsOp = new GetMs(); getMsOp.tMs = ms; getMsOp.tArg = new GetMsArg() { // Set data change pattern pattern = new MsMdPattern() { item = new MsItemPattern()
{ key = modelKey, problem = new MsProblemPattern() { metamodel = new MsMetaModelPattern() { calcChainPattern = new MsCalculationChainPattern() { }, visualControllerPattern = new MsMetaModelVisualControllerPattern()
{ variableRubricatorKey = true, chainWorkbookKey = true, freeVariables = true } } } } }, execParams = new MsMdExecParams()
{ name = varSlice.n + " (renamed)";, slice = varSlice, execRenameVariable = true } }; // Create proxy object for operation execution var somClient = new SomPortTypeClient(); // Set operation execution parameters var result = somClient.GetMs(getMsOp); return result.meta.item; }
See also: