Below is the example of using the GetMs operation to get model data. The request contains an instance of opened modeling container and the data extraction pattern. The response contains the workbook that contains model data.
{
"Envelope" :
{
"Body" :
{
"GetMs" :
{
"tMs" :
{
"id" : "S65!M!S!C1"
},
"tArg" :
{
"pattern" :
{
"obInst" : "true",
"item" :
{
"key" : "2803",
"problem" :
{
"metamodel" :
{
"visualControllerPattern" :
{
"chainWorkbook" :
{
"pattern" :
{
"obInst" : "true",
"cellsTable" :
{
"headers" : "true",
"slots" :
{
"elementName" : "true"
},
"cells" : "true",
"emptyCells" : "false",
"getCellDate" : "true"
}
}
},
"chainWorkbookEax" :
{
"pattern" :
{
"obInst" : "true",
"dataEditState" : "true",
"dataSource" : "",
"gridStyle" :
{
"all" : "false",
"parts" :
{
"it" : "Table"
}
}
}
}
}
}
}
}
},
"execParams" :
{
"execFillChain" : "true"
}
}
}
}
}
}
{
"Envelope" :
{
"Body" :
{
"GetMsResult" :
{
"id" :
{
"id" : "S65!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" :
{
"chainWorkbook" :
{
"id" :
{
"id" : "S65!M!S!W3"
},
"meta" :
{
"obInst" :
{
"obDesc" :
{
"@isShortcut" : "0",
"i" : "CHAINWB_2804",
"n" : "ChainWorkBook",
"k" : "2837",
"c" : "2827",
"p" : "2804",
"h" : "0"
}
},
"dirty" : "1",
"windowsPosition" : "Vertical",
"hasPivot" : "0",
"hasLaner" : "1",
"series" :
{
"@count" : "2",
"its" : ""
},
"cellsTable" :
{
"@rowCount" : "2",
"@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" : "MyInputVavable",
"n" : "MyInputVavable"
}
}
},
{
"els" :
{
"e" :
{
"k" : "MyOutputVavable",
"n" : "MyOutputVavable"
}
}
}
]
}
},
"cells" :
{
"c" :
[
{
"@v" : "1.000000",
"@dt" : "3",
"@row" : "0",
"@column" : "0",
"@date" : "1990-01-01"
},
{
"@v" : "-1.700000",
"@dt" : "3",
"@row" : "0",
"@column" : "1",
"@date" : "1991-01-01"
},
{
"@v" : "7.200000",
"@dt" : "3",
"@row" : "0",
"@column" : "2",
"@date" : "1992-01-01"
},
{
"@v" : "-1.000000",
"@dt" : "3",
"@row" : "0",
"@column" : "3",
"@date" : "1993-01-01"
},
{
"@v" : "5.000000",
"@dt" : "3",
"@row" : "0",
"@column" : "4",
"@date" : "1994-01-01"
},
{
"@v" : "0.200000",
"@dt" : "3",
"@row" : "0",
"@column" : "5",
"@date" : "1995-01-01"
},
{
"@v" : "6.600000",
"@dt" : "3",
"@row" : "0",
"@column" : "6",
"@date" : "1996-01-01"
},
{
"@v" : "-0.500000",
"@dt" : "3",
"@row" : "0",
"@column" : "7",
"@date" : "1997-01-01"
},
{
"@v" : "3.200000",
"@dt" : "3",
"@row" : "0",
"@column" : "8",
"@date" : "1998-01-01"
},
{
"@v" : "2.000000",
"@dt" : "3",
"@row" : "0",
"@column" : "9",
"@date" : "1999-01-01"
},
{
"@v" : "3.000000",
"@dt" : "3",
"@row" : "0",
"@column" : "10",
"@date" : "2000-01-01"
},
{
"@v" : "6.200000",
"@dt" : "3",
"@row" : "0",
"@column" : "11",
"@date" : "2001-01-01"
},
{
"@v" : "7.100000",
"@dt" : "3",
"@row" : "0",
"@column" : "12",
"@date" : "2002-01-01"
},
{
"@v" : "5.800000",
"@dt" : "3",
"@row" : "0",
"@column" : "13",
"@date" : "2003-01-01"
},
{
"@v" : "2.800000",
"@dt" : "3",
"@row" : "0",
"@column" : "14",
"@date" : "2004-01-01"
},
{
"@v" : "3.700000",
"@dt" : "3",
"@row" : "0",
"@column" : "15",
"@date" : "2005-01-01"
},
{
"@v" : "4.454652",
"@dt" : "3",
"@row" : "0",
"@column" : "16",
"@date" : "2006-01-01"
},
{
"@v" : "3.200000",
"@dt" : "3",
"@row" : "0",
"@column" : "17",
"@date" : "2007-01-01"
},
{
"@v" : "3.600000",
"@dt" : "3",
"@row" : "0",
"@column" : "18",
"@date" : "2008-01-01"
},
{
"@v" : "8.000000",
"@dt" : "3",
"@row" : "0",
"@column" : "19",
"@date" : "2009-01-01"
},
{
"@v" : "7.000000",
"@dt" : "3",
"@row" : "0",
"@column" : "20",
"@date" : "2010-01-01"
},
{
"@v" : "4.000000",
"@dt" : "3",
"@row" : "1",
"@column" : "0",
"@date" : "1990-01-01"
},
{
"@v" : "3.000000",
"@dt" : "3",
"@row" : "1",
"@column" : "2",
"@date" : "1992-01-01"
},
{
"@v" : "2.000000",
"@dt" : "3",
"@row" : "1",
"@column" : "3",
"@date" : "1993-01-01"
},
{
"@v" : "3.800000",
"@dt" : "3",
"@row" : "1",
"@column" : "4",
"@date" : "1994-01-01"
},
{
"@v" : "1.200000",
"@dt" : "3",
"@row" : "1",
"@column" : "5",
"@date" : "1995-01-01"
},
{
"@v" : "2.000000",
"@dt" : "3",
"@row" : "1",
"@column" : "7",
"@date" : "1997-01-01"
},
{
"@v" : "1.100000",
"@dt" : "3",
"@row" : "1",
"@column" : "8",
"@date" : "1998-01-01"
},
{
"@v" : "5.400000",
"@dt" : "3",
"@row" : "1",
"@column" : "9",
"@date" : "1999-01-01"
},
{
"@v" : "1.000000",
"@dt" : "3",
"@row" : "1",
"@column" : "10",
"@date" : "2000-01-01"
},
{
"@v" : "-1.700000",
"@dt" : "3",
"@row" : "1",
"@column" : "11",
"@date" : "2001-01-01"
},
{
"@v" : "7.200000",
"@dt" : "3",
"@row" : "1",
"@column" : "12",
"@date" : "2002-01-01"
},
{
"@v" : "-1.000000",
"@dt" : "3",
"@row" : "1",
"@column" : "13",
"@date" : "2003-01-01"
},
{
"@v" : "5.000000",
"@dt" : "3",
"@row" : "1",
"@column" : "14",
"@date" : "2004-01-01"
},
{
"@v" : "0.200000",
"@dt" : "3",
"@row" : "1",
"@column" : "15",
"@date" : "2005-01-01"
},
{
"@v" : "6.600000",
"@dt" : "3",
"@row" : "1",
"@column" : "16",
"@date" : "2006-01-01"
},
{
"@v" : "-0.500000",
"@dt" : "3",
"@row" : "1",
"@column" : "17",
"@date" : "2007-01-01"
},
{
"@v" : "3.200000",
"@dt" : "3",
"@row" : "1",
"@column" : "18",
"@date" : "2008-01-01"
},
{
"@v" : "2.000000",
"@dt" : "3",
"@row" : "1",
"@column" : "19",
"@date" : "2009-01-01"
},
{
"@v" : "3.000000",
"@dt" : "3", "@row" : "1", "@column" : "20", "@date" : "2010-01-01" } ] } } } },
"chainWorkbookEax" :
{
"id" :
{
"id" : ""
},
"meta" :
{
"obInst" :
{
"obDesc" :
{
"@isShortcut" : "0",
"i" : "CHAINWB_2804",
"n" : "ChainWorkBook",
"k" : "2837",
"c" : "2827",
"p" : "2804",
"h" : "0"
}
},
"dirty" : "1",
"dataEditState" :
{
"readOnly" : "0",
"modified" : "0"
},
"grid" :
{
"style" :
{
"table" :
{
"Name" : "EAX table style",
"Range" :
{
"left" : "0",
"top" : "0",
"width" : "0",
"height" : "0"
},
"Corner" :
{
"@B" : "",
"Text" :
{
"@VA" : "-1",
"@HA" : "-1",
"@M" : "-3.78 -3.78 -3.78 -3.78",
"@WW" : "-1"
},
"Fill" :
{
"@C" : "#E6E9F5"
},
"Font" :
{
"@A" : "0",
"@B" : "false",
"@SO" : "false",
"@S" : "10.670000", "@C" : "#000000", "@U" : "false", "@F" : "Arial", "@I" : "false" }, "Borders" : "", "Hyperlink" : "" }, "FirstRow" :
{
"Width" : "1",
"Style" :
{
"@B" : "",
"Text" :
{
"@VA" : "-1",
"@HA" : "-1",
"@M" : "-3.78 -3.78 -3.78 -3.78",
"@WW" : "-1"
},
"Fill" :
{
"@C" : "#FFFFFF"
},
"Font" :
{
"@A" : "0",
"@B" : "false",
"@SO" : "false", "@S" : "10.670000", "@C" : "#000000", "@U" : "false", "@F" : "Arial", "@I" : "false" }, "Borders" : "", "Hyperlink" : "" }
},
"SecondRow" :
{
"Width" : "1",
"Style" :
{
"@B" : "",
"Text" :
{
"@VA" : "-1",
"@HA" : "-1",
"@M" : "-3.78 -3.78 -3.78 -3.78",
"@WW" : "-1"
},
"Fill" :
{
"@C" : "#EEEEEE"
},
"Font" :
{
"@A" : "0", "@B" : "false", "@SO" : "false", "@S" : "10.670000", "@C" : "#000000", "@U" : "false", "@F" : "Arial", "@I" : "false" }, "Borders" : "",
"Hyperlink" : ""
}
},
"FirstColumn" :
{
"Width" : "1"
},
"SecondColumn" :
{
"Width" : "1"
},
"HeaderRow" :
{
"Width" : "0",
"Style" :
{
"@B" : "",
"Text" :
{
"@VA" : "-1",
"@HA" : "-1",
"@M" : "-3.78 -3.78 -3.78 -3.78",
"@WW" : "-1"
},
"Fill" :
{
"@C" : "#EEEEEE"
},
"Font" :
{
"@A" : "0", "@B" : "false", "@SO" : "false", "@S" : "10.670000", "@C" : "#000000", "@U" : "false", "@F" : "Arial", "@I" : "false" }, "Borders" :
{
"Border" :
[
{
"@S" : "0",
"@C" : "#BBBBBB",
"@I" : "2"
},
{
"@S" : "0",
"@C" : "#BBBBBB",
"@I" : "5"
},
{
"@S" : "0",
"@C" : "#FFFFFF",
"@I" : "6"
},
{
"@S" : "0",
"@C" : "#FFFFFF",
"@I" : "7"
}
]
},
"Hyperlink" : ""
}
},
"HeaderColumn" :
{
"Width" : "1",
"Style" :
{
"@B" : "",
"Text" :
{
"@VA" : "-1",
"@HA" : "-1",
"@M" : "-3.78 -3.78 -3.78 -3.78",
"@WW" : "-1"
},
"Fill" :
{
"@C" : "#E6E9F5"
},
"Font" :
{
"@A" : "0",
"@B" : "false",
"@SO" : "false",
"@S" : "10.670000",
"@C" : "#000000",
"@U" : "false",
"@F" : "Arial",
"@I" : "false"
},
"Borders" :
{
"Border" :
[
{
"@S" : "0",
"@C" : "#BBBBBB",
"@I" : "3"
},
{
"@S" : "0",
"@C" : "#BBBBBB",
"@I" : "4"
},
{
"@S" : "0",
"@C" : "#FFFFFF",
"@I" : "6"
},
{
"@S" : "0",
"@C" : "#FFFFFF",
"@I" : "7"
}
]
},
"Hyperlink" : ""
}
},
"FooterRow" :
{
"Width" : "0"
},
"FooterColumn" :
{
"Width" : "0"
},
"PredefinedStyle" : "ExtBlueStriped",
"IsEmpty" : "0"
}
}
},
"windowsPosition" : "Vertical",
"hasPivot" : "0"
} } } } } } } } } } }
The GetMsModelData function gets data of the specified model. Input parameters:
ms. Opened modeling container instance.
modelKey. Model key.
After execution the function returns a workbook that contains the model data. The data is also displayed in the console window.
public static GetWbkMdResult GetMsModelData(MsId ms, ulong modelKey)
{
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 internal workbook extraction pattern
chainWorkbook = new GetWbkMdArg()
{
pattern = new WbkMdPattern()
{
cellsTable = new WbkCellsTablePattern()
{
headers = true,
cells = true,
emptyCells = false,
slots = new PvtSlotPattern() {elementName = true }
}
}
},// Set internal express view extraction pattern
chainWorkbookEax = new GetEaxMdArg()
{
pattern = new EaxMdPattern()
{
dataSource = new CubeDataSourcePattern() { },
dataEditState = true,
gridStyle = new EaxGridStylePattern()
{
all = false,
parts = new EaxGridStylePart[] { EaxGridStylePart.Table }
}
}
}
}
}
}
}
},// Set operation execution parameters
execParams = new MsMdExecParams(){execFillChain = true}
};
// Create proxy object for operation execution
var somClient = new SomPortTypeClient();
// Get model data
GetMsResult getMsResult = somClient.GetMs(getMsOp);
// Output model data
MsMetaModelVisualController metaVC = getMsResult.meta.item.problemMd.metamodel.visualController;
WbkCellsTable table = metaVC.chainWorkbook.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
See also:
SOAP