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 getting pattern pattern = new MsMdPattern() { scenarios = ListOperation.Get, period = true, item = new MsItemPattern() { // Set opened model key key = modelKey, // Set model data getting pattern problem = new MsProblemPattern() { details = true, scenarios = ListOperation.Get, useSavedCoefficients = true, // Set metamodel data getting pattern metamodel = new MsMetaModelPattern() { calculationChain = ListOperation.Get, mmParams = ListOperation.Get, tag = true, // Set calculation chain data getting pattern calcChainPattern = new MsCalculationChainPattern() { modelPattern = new MsModelPattern() { // Set model calculation method data getting 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 getting 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 getting 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: