Below is the example of using the GetMs operation to get equation data. The request contains an instance of opened modeling container and data getting pattern. The response contains the workbook that contains equation data.
{
"GetMs" :
{
"tMs" :
{
"id" : "S59!M!S!C1"
},
"tArg" :
{
"pattern" :
{
"obInst" : "true",
"item" :
{
"key" : "2803",
"problem" :
{
"metamodel" :
{
"visualControllerPattern" :
{
"variableWorkbook" :
{
"pattern" :
{
"obInst" : "true",
"cellsTable" :
{
"headers" : "true",
"slots" :
{
"elementName" : "true"
},
"cells" : "true", "emptyCells" : "false", "getCellDate" : "true" } } } } } } }
},
"execParams" :
{
"k" : "4667",
"execFillWithModel" : "true"
}
}
}
}
}
}
{
"GetMsResult" :
{
"id" :
{
"id" : "S59!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" : "2803",
"id" : "TEMP_MODEL",
"n" : "TEMP_MODEL",
"vis" : "1",
"type" : "Problem",
"problemMd" :
{
"metamodel" :
{
"k" : "2804",
"visualController" :
{
"variableWorkbook" :
{
"id" :
{
"id" : "S59!M!S!W3"
},
"meta" :
{
"obInst" :
{
"obDesc" :
{
"@isShortcut" : "0",
"i" : "VARIABLESWB_2804",
"n" : "VariablesWorkBook",
"k" : "2835",
"c" : "2827",
"p" : "2804",
"h" : "0"
}
},
"dirty" : "1",
"windowsPosition" : "Vertical",
"hasPivot" : "0",
"hasLaner" : "1",
"series" :
{
"@count" : "3",
"its" : ""
},
"cellsTable" :
{
"@rowCount" : "3",
"@columnCount" : "21",
"columns" :
{
"dims" :
{
"it" :
{
"k" : "0",
"id" : "calendar"
}
},
"slots" :
{
"s" :
[
{
"@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" : "MyInputVavable",
"n" : "MyInputVavable"
}
}
},
{
"els" :
{
"e" :
{
"k" : "MyOutputVavable",
"n" : "MyOutputVavable"
}
}
},
{
"els" :
{
"e" :
{
"k" : "MyInputVavable",
"n" : "MyInputVavable"
}
}
}
]
}
},
"cells" :
{
"c" :
[
{
"@v" : "3.000000",
"@dt" : "3",
"@row" : "0",
"@column" : "0",
"@date" : "2000-01-01"
},
{
"@v" : "6.200000",
"@dt" : "3",
"@row" : "0",
"@column" : "1",
"@date" : "2001-01-01"
},
{
"@v" : "7.100000",
"@dt" : "3",
"@row" : "0",
"@column" : "2",
"@date" : "2002-01-01"
},
{
"@v" : "5.800000",
"@dt" : "3",
"@row" : "0",
"@column" : "3",
"@date" : "2003-01-01"
},
{
"@v" : "2.800000",
"@dt" : "3",
"@row" : "0",
"@column" : "4",
"@date" : "2004-01-01"
},
{
"@v" : "3.700000",
"@dt" : "3",
"@row" : "0",
"@column" : "5",
"@date" : "2005-01-01"
},
{
"@v" : "4.454652",
"@dt" : "3",
"@row" : "0",
"@column" : "6",
"@date" : "2006-01-01"
},
{
"@v" : "3.200000",
"@dt" : "3",
"@row" : "0",
"@column" : "7",
"@date" : "2007-01-01"
},
{
"@v" : "3.600000",
"@dt" : "3",
"@row" : "0",
"@column" : "8",
"@date" : "2008-01-01"
},
{
"@v" : "8.000000",
"@dt" : "3",
"@row" : "0",
"@column" : "9",
"@date" : "2009-01-01"
},
{
"@v" : "7.000000",
"@dt" : "3",
"@row" : "0",
"@column" : "10",
"@date" : "2010-01-01"
},
{
"@v" : "1.000000",
"@dt" : "3",
"@row" : "1",
"@column" : "0",
"@date" : "2000-01-01"
},
{
"@v" : "-1.700000",
"@dt" : "3",
"@row" : "1",
"@column" : "1",
"@date" : "2001-01-01"
},
{
"@v" : "7.200000",
"@dt" : "3",
"@row" : "1",
"@column" : "2",
"@date" : "2002-01-01"
},
{
"@v" : "-1.000000",
"@dt" : "3",
"@row" : "1",
"@column" : "3",
"@date" : "2003-01-01"
},
{
"@v" : "5.000000",
"@dt" : "3",
"@row" : "1",
"@column" : "4",
"@date" : "2004-01-01"
},
{
"@v" : "0.200000",
"@dt" : "3",
"@row" : "1",
"@column" : "5",
"@date" : "2005-01-01"
},
{
"@v" : "6.600000",
"@dt" : "3",
"@row" : "1",
"@column" : "6",
"@date" : "2006-01-01"
},
{
"@v" : "-0.500000",
"@dt" : "3",
"@row" : "1",
"@column" : "7",
"@date" : "2007-01-01"
},
{
"@v" : "3.200000",
"@dt" : "3",
"@row" : "1",
"@column" : "8",
"@date" : "2008-01-01"
},
{
"@v" : "2.000000",
"@dt" : "3",
"@row" : "1",
"@column" : "9",
"@date" : "2009-01-01"
},
{
"@v" : "3.000000",
"@dt" : "3",
"@row" : "1",
"@column" : "10",
"@date" : "2010-01-01"
},
{
"@v" : "3.000000",
"@dt" : "3",
"@row" : "2",
"@column" : "0",
"@date" : "2000-01-01"
},
{
"@v" : "6.200000",
"@dt" : "3",
"@row" : "2",
"@column" : "1",
"@date" : "2001-01-01"
},
{
"@v" : "7.100000",
"@dt" : "3",
"@row" : "2",
"@column" : "2",
"@date" : "2002-01-01"
},
{
"@v" : "5.800000",
"@dt" : "3",
"@row" : "2",
"@column" : "3",
"@date" : "2003-01-01"
},
{
"@v" : "2.800000",
"@dt" : "3",
"@row" : "2",
"@column" : "4",
"@date" : "2004-01-01"
},
{
"@v" : "3.700000",
"@dt" : "3",
"@row" : "2",
"@column" : "5",
"@date" : "2005-01-01"
},
{
"@v" : "4.454652",
"@dt" : "3",
"@row" : "2",
"@column" : "6",
"@date" : "2006-01-01"
},
{
"@v" : "6.448962",
"@dt" : "3",
"@row" : "2",
"@column" : "7",
"@date" : "2007-01-01"
},
{
"@v" : "4.749104",
"@dt" : "3",
"@row" : "2",
"@column" : "8",
"@date" : "2008-01-01"
},
{
"@v" : "4.215213",
"@dt" : "3",
"@row" : "2",
"@column" : "9",
"@date" : "2009-01-01"
},
{
"@v" : "4.909267",
"@dt" : "3",
"@row" : "2",
"@column" : "10",
"@date" : "2010-01-01"
}
]
}
}
} } } } } } }
public static GetWbkMdResult GetMsEqData(MsId ms, ulong modelKey, ulong eqKey)
{
var getMsOp = new GetMs();
getMsOp.tMs = ms;
getMsOp.tArg = new GetMsArg()
{ // Set data get 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 pattern of internal workbook getting
variableWorkbook = new GetWbkMdArg()
{
pattern = new WbkMdPattern()
{
cellsTable = new WbkCellsTablePattern()
{
headers = true,
cells = true,
emptyCells = false,
slots = new PvtSlotPattern() {elementName = true }
}
}
}
}
}
}
}
},// Set operation execution parameters
execParams = new MsMdExecParams()
{ // Specify equation key
k = eqKey,
execFillWithModel = true
}
};
// Create a proxy object for operation execution
var somClient = new SomPortTypeClient();
// Get equation data
GetMsResult getMsResult = somClient.GetMs(getMsOp);
// Output equation data
MsMetaModelVisualController metaVC = getMsResult.meta.item.problemMd.metamodel.visualController;
WbkCellsTable table = metaVC.variableWorkbook.meta.cellsTable;
int ar = table.cells.Length;
Console.WriteLine("Date - Value");
ulong row = 0; ulong rowAft = 2; int nowRow = 0;
for (int i = 0; i <= (ar="" -="" 1);="" i++)="" {="" if="" (row="" !="rowAft)" console.writeline("");="" console.writeline(((table.rows.slots.getvalue(nowrow)="" as="" pvtslot).els.getvalue(0)="" pvtslotel).n);="" rowaft="row;" nowrow++;="" }="" console.write((table.cells.getvalue(i)="" pvttablecell).date="" +="" "="" ");="" console.writeline((table.cells.getvalue(i)="" pvttablecell).v);="" row="(table.cells.GetValue(i)" pvttablecell).row;="" };="" return="" metavc.variableworkbook;="" }
See also: