Below is the example of using the SetMs operation to change variable data. The request contains an instance of opened modeling container, parameters of operation execution, and the data change pattern. After execution the operation returns the workbook that contains changed variable data.
{
"Envelope" :
{
"Body" :
{
"SetMs" :
{
"tMs" :
{
"id" : "S83!M!S!C1"
},
"tArg" :
{
"pattern" :
{
"obInst" : "true",
"item" :
{
"key" : "4411",
"problem" :
{
"metamodel" :
{
"visualControllerPattern" : ""
}
}
}
},
"meta" :
{
"item" :
{
"k" : "4411",
"type" : "Problem",
"problemMd" :
{
"metamodel" :
{
"visualController" :
{
"variableWorkbookSet" :
{
"refresh" :
{
"saveData" : "true"
},
"pattern" :
{
"obInst" : "true",
"dataEditState" : "true",
"cellsTable" :
{
"cells" : "true",
"getCellDate" : "true"
}
},
"meta" :
{
"dataEditState" :
{
"readOnly" : "false"
},
"cellsTable" :
{
"@rowCount" : "1",
"@columnCount" : "31",
"columns" :
{
"dims" :
{
"it" :
{
"k" : "0",
"id" : "calendar"
}
},
"slots" :
{
"s" :
[
{
"@date" : "1990-01-01",
"els" :
{
"e" :
{
"k" : "YEARS:1.1.1990",
"n" : "1990A1"
}
}
},
{
"@date" : "1991-01-01",
"els" :
{
"e" :
{
"k" : "YEARS:1.1.1991",
"n" : "1991A1"
}
}
},
{
"@date" : "1992-01-01",
"els" :
{
"e" :
{
"k" : "YEARS:1.1.1992",
"n" : "1992A1"
}
}
},
{
"@date" : "1993-01-01",
"els" :
{
"e" :
{
"k" : "YEARS:1.1.1993",
"n" : "1993A1"
}
}
},
{
"@date" : "1994-01-01",
"els" :
{
"e" :
{
"k" : "YEARS:1.1.1994",
"n" : "1994A1"
}
}
},
{
"@date" : "1995-01-01",
"els" :
{
"e" :
{
"k" : "YEARS:1.1.1995",
"n" : "1995A1"
}
}
},
{
"@date" : "1996-01-01",
"els" :
{
"e" :
{
"k" : "YEARS:1.1.1996",
"n" : "1996A1"
}
}
},
{
"@date" : "1997-01-01",
"els" :
{
"e" :
{
"k" : "YEARS:1.1.1997",
"n" : "1997A1"
}
}
},
{
"@date" : "1998-01-01",
"els" :
{
"e" :
{
"k" : "YEARS:1.1.1998",
"n" : "1998A1"
}
}
},
{
"@date" : "1999-01-01",
"els" :
{
"e" :
{
"k" : "YEARS:1.1.1999",
"n" : "1999A1"
}
}
},
{
"@date" : "2000-01-01",
"els" :
{
"e" :
{
"k" : "YEARS:1.1.2000",
"n" : "2000A1"
}
}
},
{
"@date" : "2001-01-01",
"els" :
{
"e" :
{
"k" : "YEARS:1.1.2001",
"n" : "2001A1"
}
}
},
{
"@date" : "2002-01-01",
"els" :
{
"e" :
{
"k" : "YEARS:1.1.2002",
"n" : "2002A1"
}
}
},
{
"@date" : "2003-01-01",
"els" :
{
"e" :
{
"k" : "YEARS:1.1.2003",
"n" : "2003A1"
}
}
},
{
"@date" : "2004-01-01",
"els" :
{
"e" :
{
"k" : "YEARS:1.1.2004",
"n" : "2004A1"
}
}
},
{
"@date" : "2005-01-01",
"els" :
{
"e" :
{
"k" : "YEARS:1.1.2005",
"n" : "2005A1"
}
}
},
{
"@date" : "2006-01-01",
"els" :
{
"e" :
{
"k" : "YEARS:1.1.2006",
"n" : "2006A1"
}
}
},
{
"@date" : "2007-01-01",
"els" :
{
"e" :
{
"k" : "YEARS:1.1.2007",
"n" : "2007A1"
}
}
},
{
"@date" : "2008-01-01",
"els" :
{
"e" :
{
"k" : "YEARS:1.1.2008",
"n" : "2008A1"
}
}
},
{
"@date" : "2009-01-01",
"els" :
{
"e" :
{
"k" : "YEARS:1.1.2009",
"n" : "2009A1"
}
}
},
{
"@date" : "2010-01-01",
"els" :
{
"e" :
{
"k" : "YEARS:1.1.2010",
"n" : "2010A1"
}
}
},
{
"@date" : "2011-01-01",
"els" :
{
"e" :
{
"k" : "YEARS:1.1.2011",
"n" : "2011A1"
}
}
},
{
"@date" : "2012-01-01",
"els" :
{
"e" :
{
"k" : "YEARS:1.1.2012",
"n" : "2012A1"
}
}
},
{
"@date" : "2013-01-01",
"els" :
{
"e" :
{
"k" : "YEARS:1.1.2013",
"n" : "2013A1"
}
}
},
{
"@date" : "2014-01-01",
"els" :
{
"e" :
{
"k" : "YEARS:1.1.2014",
"n" : "2014A1"
}
}
},
{
"@date" : "2015-01-01",
"els" :
{
"e" :
{
"k" : "YEARS:1.1.2015",
"n" : "2015A1"
}
}
},
{
"@date" : "2016-01-01",
"els" :
{
"e" :
{
"k" : "YEARS:1.1.2016",
"n" : "2016A1"
}
}
},
{
"@date" : "2017-01-01",
"els" :
{
"e" :
{
"k" : "YEARS:1.1.2017",
"n" : "2017A1"
}
}
},
{
"@date" : "2018-01-01",
"els" :
{
"e" :
{
"k" : "YEARS:1.1.2018",
"n" : "2018A1"
}
}
},
{
"@date" : "2019-01-01",
"els" :
{
"e" :
{
"k" : "YEARS:1.1.2019",
"n" : "2019A1"
}
}
},
{
"@date" : "2020-01-01",
"els" :
{
"e" :
{
"k" : "YEARS:1.1.2020",
"n" : "2020A1"
}
}
}
]
}
},
"rows" :
{
"dims" :
{
"it" :
{
"k" : "0",
"id" : "series"
}
},
"slots" :
{
"s" :
{
"els" :
{
"e" :
{
"k" : "Modeling variable|A",
"n" : "Modeling variable|A"
}
}
}
}
},
"cells" :
{
"c" :
[
{
"@v" : "45",
"@dt" : "3",
"@row" : "0",
"@column" : "0",
"@date" : "1990-01-01"
},
{
"@v" : "2.000000",
"@dt" : "3",
"@row" : "0",
"@column" : "1",
"@date" : "1991-01-01"
},
{
"@v" : "3.000000",
"@dt" : "3",
"@row" : "0",
"@column" : "2",
"@date" : "1992-01-01"
}
]
}
}
}
},
"variableWorkbookEaxSet" :
{
"pattern" :
{
"obInst" : "true"
},
"meta" : ""
}
}
}
}
}
},
"metaGet" :
{
"obInst" : "true",
"item" :
{
"key" : "4411",
"problem" :
{
"metamodel" :
{
"visualControllerPattern" :
{
"variableWorkbook" :
{
"pattern" :
{
"obInst" : "true",
"cellsTable" :
{
"headers" : "true",
"slots" :
{
"elementKey" : "true",
"elementName" : "true"
},
"cells" : "true",
"emptyCells" : "false",
"getCellDate" : "true"
}
}
},
"variableWorkbookEax" : ""
}
}
}
}
},
"execParams" :
{
"slice" :
{
"k" : "0",
"id" : "364",
"n" : "Modeling variable",
"vis" : "true",
"variableKey" : "4642",
"stubKey" : "4413",
"selections" :
{
"its" :
{
"Item" :
{
"id" :
{
"id" : "4426"
},
"variant" : "364"
}
}
},
"aggregator" : "None",
"parametrizedDimensions" :
{
"its" :
{
"Item" :
{
"dimension" : "0",
"parameter" : "0"
}
}
},
"unitInfo" :
{
"unit" : "4294967295",
"measure" : "4294967295",
"baseUnit" : "4294967295",
"unitsDimensionKey" : "0"
}, "level" : "None" }, "scenarioKeys" : "", "execFillWithVariable" : "true" } } } } } }
{
"Envelope" :
{
"Body" :
{
"SetMsResult" :
{
"id" :
{
"id" : "S83!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" :
{
"variableWorkbook" :
{
"id" :
{
"id" : "S83!M!S!W4"
},
"meta" :
{
"obInst" :
{
"obDesc" :
{
"@isShortcut" : "0",
"i" : "VARIABLESWB_4412",
"n" : "VariablesWorkBook",
"k" : "4443",
"c" : "2827",
"p" : "4412",
"h" : "0"
}
},
"dirty" : "1",
"windowsPosition" : "Vertical",
"hasPivot" : "0",
"hasLaner" : "1",
"series" :
{
"@count" : "1",
"its" : ""
},
"cellsTable" :
{
"@rowCount" : "1",
"@columnCount" : "31",
"columns" :
{
"dims" :
{
"it" :
{
"k" : "0",
"id" : "calendar"
}
},
"slots" :
{
"s" :
[
{
"@date" : "1990-01-01",
"els" :
{
"e" :
{
"k" : "YEARS:1.1.1990",
"n" : "1990A1"
}
}
},
{
"@date" : "1991-01-01",
"els" :
{
"e" :
{
"k" : "YEARS:1.1.1991",
"n" : "1991A1"
}
}
},
{
"@date" : "1992-01-01",
"els" :
{
"e" :
{
"k" : "YEARS:1.1.1992",
"n" : "1992A1"
}
}
},
{
"@date" : "1993-01-01",
"els" :
{
"e" :
{
"k" : "YEARS:1.1.1993",
"n" : "1993A1"
}
}
},
{
"@date" : "1994-01-01",
"els" :
{
"e" :
{
"k" : "YEARS:1.1.1994",
"n" : "1994A1"
}
}
},
{
"@date" : "1995-01-01",
"els" :
{
"e" :
{
"k" : "YEARS:1.1.1995",
"n" : "1995A1"
}
}
},
{
"@date" : "1996-01-01",
"els" :
{
"e" :
{
"k" : "YEARS:1.1.1996",
"n" : "1996A1"
}
}
},
{
"@date" : "1997-01-01",
"els" :
{
"e" :
{
"k" : "YEARS:1.1.1997",
"n" : "1997A1"
}
}
},
{
"@date" : "1998-01-01",
"els" :
{
"e" :
{
"k" : "YEARS:1.1.1998",
"n" : "1998A1"
}
}
},
{
"@date" : "1999-01-01",
"els" :
{
"e" :
{
"k" : "YEARS:1.1.1999",
"n" : "1999A1"
}
}
},
{
"@date" : "2000-01-01",
"els" :
{
"e" :
{
"k" : "YEARS:1.1.2000",
"n" : "2000A1"
}
}
},
{
"@date" : "2001-01-01",
"els" :
{
"e" :
{
"k" : "YEARS:1.1.2001",
"n" : "2001A1"
}
}
},
{
"@date" : "2002-01-01",
"els" :
{
"e" :
{
"k" : "YEARS:1.1.2002",
"n" : "2002A1"
}
}
},
{
"@date" : "2003-01-01",
"els" :
{
"e" :
{
"k" : "YEARS:1.1.2003",
"n" : "2003A1"
}
}
},
{
"@date" : "2004-01-01",
"els" :
{
"e" :
{
"k" : "YEARS:1.1.2004",
"n" : "2004A1"
}
}
},
{
"@date" : "2005-01-01",
"els" :
{
"e" :
{
"k" : "YEARS:1.1.2005",
"n" : "2005A1"
}
}
},
{
"@date" : "2006-01-01",
"els" :
{
"e" :
{
"k" : "YEARS:1.1.2006",
"n" : "2006A1"
}
}
},
{
"@date" : "2007-01-01",
"els" :
{
"e" :
{
"k" : "YEARS:1.1.2007",
"n" : "2007A1"
}
}
},
{
"@date" : "2008-01-01",
"els" :
{
"e" :
{
"k" : "YEARS:1.1.2008",
"n" : "2008A1"
}
}
},
{
"@date" : "2009-01-01",
"els" :
{
"e" :
{
"k" : "YEARS:1.1.2009",
"n" : "2009A1"
}
}
},
{
"@date" : "2010-01-01",
"els" :
{
"e" :
{
"k" : "YEARS:1.1.2010",
"n" : "2010A1"
}
}
},
{
"@date" : "2011-01-01",
"els" :
{
"e" :
{
"k" : "YEARS:1.1.2011",
"n" : "2011A1"
}
}
},
{
"@date" : "2012-01-01",
"els" :
{
"e" :
{
"k" : "YEARS:1.1.2012",
"n" : "2012A1"
}
}
},
{
"@date" : "2013-01-01",
"els" :
{
"e" :
{
"k" : "YEARS:1.1.2013",
"n" : "2013A1"
}
}
},
{
"@date" : "2014-01-01",
"els" :
{
"e" :
{
"k" : "YEARS:1.1.2014",
"n" : "2014A1"
}
}
},
{
"@date" : "2015-01-01",
"els" :
{
"e" :
{
"k" : "YEARS:1.1.2015",
"n" : "2015A1"
}
}
},
{
"@date" : "2016-01-01",
"els" :
{
"e" :
{
"k" : "YEARS:1.1.2016",
"n" : "2016A1"
}
}
},
{
"@date" : "2017-01-01",
"els" :
{
"e" :
{
"k" : "YEARS:1.1.2017",
"n" : "2017A1"
}
}
},
{
"@date" : "2018-01-01",
"els" :
{
"e" :
{
"k" : "YEARS:1.1.2018",
"n" : "2018A1"
}
}
},
{
"@date" : "2019-01-01",
"els" :
{
"e" :
{
"k" : "YEARS:1.1.2019",
"n" : "2019A1"
}
}
},
{
"@date" : "2020-01-01",
"els" :
{
"e" :
{
"k" : "YEARS:1.1.2020",
"n" : "2020A1"
}
}
}
]
}
},
"rows" :
{
"dims" :
{
"it" :
{
"k" : "0",
"id" : "series"
}
},
"slots" :
{
"s" :
{
"els" :
{
"e" :
{
"k" : "Modeling variable|A"
"n" : "Modeling variable|A"
}
}
}
}
},
"cells" :
{
"c" :
[
{
"@v" : "45.000000",
"@dt" : "3",
"@row" : "0",
"@column" : "0",
"@date" : "1990-01-01"
},
{
"@v" : "2.000000",
"@dt" : "3",
"@row" : "0",
"@column" : "1",
"@date" : "1991-01-01"
},
{
"@v" : "3.000000",
"@dt" : "3",
"@row" : "0",
"@column" : "2",
"@date" : "1992-01-01"
}
]
}
}
}
},
"variableWorkbookEax" :
{
"id" :
{
"id" : ""
},
"meta" :
{
"obInst" :
{
"obDesc" :
{
"@isShortcut" : "0",
"i" : "VARIABLESWB_4412",
"n" : "VariablesWorkBook", "k" : "4443", "c" : "2827", "p" : "4412", "h" : "0" } }, "dirty" : "1", "windowsPosition" : "Vertical", "hasPivot" : "0"
} } } } } } } } } } }
The SetMsVarData function changes data of the specified variable. Input parameters:
ms. Instance of the opened modeling container.
modelKey. Key of the model that contains the variable.
slice. Data slice that corresponds to the changed variable.
data. The table that contains new variable data.
After execution the function changes data in the specified variable and returns the workbook that contains changed data.
public static GetWbkMdResult SetMsVarData(MsId ms, ulong modelKey, MsFormulaTransformSlice slice, WbkCellsTable data)
{
var setMsOp = new SetMs();
setMsOp.tMs = ms;
setMsOp.tArg = new SetMsArg()
{ // Set data change pattern
pattern = new MsMdPattern()
{
item = new MsItemPattern()
{ // Specify model key
key = modelKey,
problem = new MsProblemPattern()
{
metamodel = new MsMetaModelPattern()
{ // Set pattern for visual building of metamodel
visualControllerPattern = new MsMetaModelVisualControllerPattern() { }
}
}
}
},// Set changed data extraction pattern
metaGet = new MsMdPattern()
{
item = new MsItemPattern()
{ // Specify model key
key = modelKey
problem = new MsProblemPattern()
{
metamodel = new MsMetaModelPattern()
{ // Set pattern for visual building of metamodel
visualControllerPattern = new MsMetaModelVisualControllerPattern()
{ // Set internal workbook extraction pattern
variableWorkbook = new GetWbkMdArg()
{
pattern = new WbkMdPattern()
{
cellsTable = new WbkCellsTablePattern()
{
headers = true,
slots = new PvtSlotPattern() { elementKey = true, elementName = true },
cells = true,
emptyCells = false
}
}
},// Set internal express view extraction pattern pattern
variableWorkbookEax = new GetEaxMdArg() { }
}
}
}
}
},// Set changeable data
meta = new MsMd()
{
item = new MsItem()
{ // Specify model key
k = modelKey,
type = MsItemType.Problem,
problemMd = new MsProblem()
{
metamodel = new MsMetaModel()
{
visualController = new MsMetaModelVisualController()
{ // Set data change pattern in internal workbook
variableWorkbookSet = new SetWbkMdArg()
{
pattern = new WbkMdPattern()
{
dataEditState = true,
cellsTable = new WbkCellsTablePattern() { cells = true }
},
refresh = new EaxRefresh() { saveData = true },
meta = new WbkMd()
{
dataEditState = new EaxDataEditState() { readOnly = false },
cellsTable = data
}
},// Do not change internal express view
variableWorkbookEaxSet = new SetEaxMdArg()
{
pattern = new EaxMdPattern() { },
meta = new EaxMd() { }
}
}
}
}
}
},
// Set operation execution parameters
execParams = new MsMdExecParams()
{
scenarioKeys = new long[] { },
slice = slice,
execFillWithVariable = true
}
};
// Create proxy object for operation execution
var somClient = new SomPortTypeClient();
// Open variable
SetMsResult setMsResult = somClient.SetMs(setMsOp);
// Output changed data of variable
MsMetaModelVisualController metaVC = setMsResult.meta.item.problemMd.metamodel.visualController;
Console.WriteLine("Variable:" + slice.n);
WbkCellsTable table = metaVC.variableWorkbook.meta.cellsTable;
int ar = table.cells.Length;
Console.WriteLine("Date - Value");
for (int i = 0; i <= (ar="" -="" 1);="" i++)="" {="" console.write((table.cells.getvalue(i)="" as="" pvttablecell).date="" +="" "="" ");="" console.writeline((table.cells.getvalue(i)="" pvttablecell).v);="" };="" return="" metavc.variableworkbook;="" }
See also:
SOAP