Below is the example of using the GetMs operation to open a model. The request contains an instance of opened modeling container and a pattern for opening the model. The response contains the opened model.
{ "GetMs" : { "tMs" : { "id" : "IBMNFNGPFNJBFOAENBJBHPLNJEHKMCEENIABFJGNNHOCKNCC!M!S!CACNDCOGPFNJBFOAELDLAJEPFCKFGNJAEGKFDLJGEHDAOMPOA" }, "tArg" : { "pattern" : { "obInst" : "true", "scenarios" : "Get", "period" : "true", "item" : { "key" : "89669", "problem" : { "metamodel" : { "calculationChain" : "Get", "mmParams" : "Get", "tag" : "true", "calcChainPattern" : { "modelPattern" : { "transform" : { "inputs" : "Get", "outputs" : "Get", "formulaCount" : "true", "formulas" : { "method" : "" }, "displayId" : "true", "equationsFormula" : { "method" : "" }, "series" : "Get", "kind" : "true", "displaySettings" : "true", "additionalAttributes" : "true", "calculationType" : "true", "calculationDirection" : "true", "transformVariable" : { "slices" : "Get", "transformSlice" : { "selection" : "Get" } } }, "stochastic" : "true", "calculationPeriod" : "true", "useModelPeriod" : "true", "useExistingData" : "true", "treatNullsAsZeros" : "true", "autoName" : "true", "generatedName" : "true", "period" : "true", "isExclusive" : "true", "useAutoPeriod" : "true" } }, "visualControllerPattern" : { "variableRubricatorKey" : "true", "useSourceName" : "true", "freeVariables" : "true", "levelFormat" : "Short" } }, "scenarios" : "Get", "details" : "true", "useSavedCoefficients" : "true" } } } } } }
{ "GetMsResult" : { "id" : { "id" : "IBMNFNGPFNJBFOAENBJBHPLNJEHKMCEENIABFJGNNHOCKNCC!M!S!CACNDCOGPFNJBFOAELDLAJEPFCKFGNJAEGKFDLJGEHDAOMPOA" }, "meta" : { "obInst" : { "obDesc" : { "@fullUrl" : "http:\/\/v-shp-development.dev.fs.fsight.world\/", "@isShortcut" : "0", "@isLink" : "0", "@ver" : "1", "@hf" : "0", "i" : "MODELSPACE", "n" : "Modeling container", "k" : "1581", "c" : "5121", "p" : "1580", "h" : "0", "hasPrv" : "0", "ic" : "0", "isPermanent" : "1", "isTemp" : "0" } }, "dirty" : "0", "period" : { "start" : "1990-01-01", "end" : "2020-01-01" }, "scenarios" : { "nodes" : { "it" : [ { "@isFolder" : "0", "k" : "1628", "id" : "OBJ1628", "n" : "Basic", "vis" : "1", "scenDesc" : { "@fullUrl" : "http:\/\/v-shp-development.dev.fs.fsight.world\/", "@isShortcut" : "0", "@isLink" : "0", "@ver" : "0", "@hf" : "0", "i" : "OBJ1628", "n" : "Basic", "k" : "1628", "c" : "5124", "p" : "1627", "h" : "0", "hasPrv" : "0", "ic" : "0" }, "internalKey" : "1629" }, { "@isFolder" : "0", "k" : "5371", "id" : "OBJ5371", "n" : "Basic (copy1)", "vis" : "1", "scenDesc" : { "@fullUrl" : "http:\/\/v-shp-development.dev.fs.fsight.world\/", "@isShortcut" : "0", "@isLink" : "0", "@ver" : "0", "@hf" : "0", "i" : "OBJ5371", "n" : "Basic (copy1)", "k" : "5371", "c" : "5124", "p" : "1627", "h" : "0", "hasPrv" : "0", "ic" : "0" }, "internalKey" : "5372" } ] } }, "item" : { "k" : "89669", "id" : "MODEL_NEW", "n" : "Model", "vis" : "1", "type" : "Problem", "problemMd" : { "metamodel" : { "k" : "89670", "calculationChain" : { "its" : "" }, "mmParams" : { "its" : "" }, "visualController" : { "freeVariables" : { "its" : "" }, "userRPath" : "", "isRExist" : "0" }, "suppressEmptyFilter" : { "suppressEmpty" : "0", "suppressEmptyArea" : "SerieBounds" }, "readOnly" : "0", "variableTestUseR" : "0", "calculateIdentOnFact" : "0" }, "scenarios" : { "its" : "" }, "details" : { "period" : { "identificationStartDate" : "1990-01-01", "identificationEndDate" : "2018-04-24", "forecastStartDate" : "2018-04-25", "forecastEndDate" : "2020-01-01", "identificationStartDateParamID" : "", "identificationEndDateParamID" : "", "forecastStartDateParamID" : "", "forecastEndDateParamID" : "", "autoPeriod" : "0", "identificationStartOffset" : "0", "identificationEndOffset" : "0", "forecastEndOffset" : "0", "isIdentStartCorrect" : "1", "isIdentEndCorrect" : "1", "isForecastEndCorrect" : "1" }, "currentPoint" : "2018-04-25" }, "useSavedCoefficients" : "0", "useScenarios" : "0", "readOnly" : "0" } } } } }
The GetMsOpenModel function opens the specified model. An instance of the modeling container and key of the model to be opened are sent as input parameters. After execution the function returns the instance of opened model.
public static MsItem GetMsOpenModel(MsId ms, ulong modelKey) { var getMsOp = new GetMs(); // Set operation execution parameters getMsOp.tMs = ms; getMsOp.tArg = new GetMsArg() { // Set common data extraction pattern pattern = new MsMdPattern() { scenarios = ListOperation.Get, period = true, item = new MsItemPattern() { // Set opened model key key = modelKey, // Set model data extraction pattern problem = new MsProblemPattern() { details = true, scenarios = ListOperation.Get, useSavedCoefficients = true, // Set metamodel data extraction pattern metamodel = new MsMetaModelPattern() { calculationChain = ListOperation.Get, mmParams = ListOperation.Get, tag = true, // Set calculation chain data extraction pattern calcChainPattern = new MsCalculationChainPattern() { modelPattern = new MsModelPattern() { // Set model calculation method data extraction pattern transform = new MsFormulaTransformPattern() { inputs = ListOperation.Get, outputs = ListOperation.Get, kind = true, formulaCount = true, formulas = new TsFormulaPattern() { method = new TsMethodPattern() }, displayId = true, equationsFormula = new TsFormulaPattern() { method = new TsMethodPattern() }, series = ListOperation.Get, displaySettings = true, additionalAttributes = true, calculationType = true, calculationDirection = true, // Set model variable data extraction pattern transformVariable = new MsFormulaTransformVariablePattern() { slices = ListOperation.Get, transformSlice = new MsFormulaTransformSlicePattern() { selection = ListOperation.Get } } }, stochastic = true, calculationPeriod = true, useModelPeriod = true, useExistingData = true, treatNullsAsZeros = true, autoName = true, period = true, isExclusive = true, useAutoPeriod = true, generatedName = true } }, // Set data extraction pattern for visual metamodel building visualControllerPattern = new MsMetaModelVisualControllerPattern() { variableRubricatorKey = true, freeVariables = true, levelFormat = MsLevelFormat.Short, useSourceName = true } } } } } }; // Create a proxy object for operation execution var somClient = new SomPortTypeClient(); // Open model GetMsResult getMsResult = somClient.GetMs(getMsOp); return getMsResult.meta.item; }
See also: