SetSegCont

Синтаксис

SetSegContResult SetSegCont(SegContId tSegCont, SetSegContArg tArg)

Параметры

tSegCont. Моникёр экземпляра контейнера сегментов.

tArg. Параметры выполнения операции.

Описание

Операция SetSegCont изменяет метаданные контейнера сегментов.

Комментарии

Для выполнения операции укажите в поле tAlg моникёр экземпляра контейнера сегментов, в поле tArg.pattern шаблон, в соответствии с которым будут изменяться метаданные, а в поле tArg.meta устанавливаемые метаданные. Также можно определить шаблон tArg.metaGet для получения метаданных после их изменения. Моникёр может быть получен при выполнении операции OpenSegCont.

Для сохранения изменений используйте операцию SaveObject.

Результатом работы операции будут обновлённые метаданные, если было определено поле tArg.metaGet.

Пример

Ниже приведён пример изменения базы данных для контейнера сегментов. В запросе передаётся моникёр открытого экземпляра контейнера сегментов и ключ базы данных. В ответе возвращается обновлённая информация о базе данных, которую использует контейнер сегментов.

SOAP-запрос:

<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/">
<s:Body xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<SetSegCont xmlns="http://www.fsight.ru/PP.SOM.Som">
<tSegCont xmlns="">
  <id>FLEDMHBOCLDPFOAEDMFBLHBLOEJDMKEEKKHHKBBDHHIFPONM!M!S!CNIKPLJBOCLDPFOAEJGOHDKFEFEEPOCLEFIAOPAACCEOBKNOG</id>
  </tSegCont>
<tArg xmlns="">
<pattern>
  <obInst>true</obInst>
  <database>true</database>
  </pattern>
<meta>
<data>
<database>
  <k>144693</k>
  </database>
  </data>
  </meta>
<metaGet>
  <obInst>true</obInst>
  <database>true</database>
  </metaGet>
  </tArg>
  </SetSegCont>
  </s:Body>
  </s:Envelope>

SOAP-ответ:

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
<soapenv:Body>
<SetSegContResult xmlns="http://www.fsight.ru/PP.SOM.Som" xmlns:q1="http://www.fsight.ru/PP.SOM.Som" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<id xmlns="">
  <id>FLEDMHBOCLDPFOAEDMFBLHBLOEJDMKEEKKHHKBBDHHIFPONM!M!S!CNIKPLJBOCLDPFOAEJGOHDKFEFEEPOCLEFIAOPAACCEOBKNOG</id>
  </id>
<meta xmlns="">
<obInst>
<obDesc ds="" isShortcut="0" isLink="0" ver="27" hf="0">
  <i>SEG_CONTAINER</i>
  <n>Контейнер сегментов куба</n>
  <k>317162</k>
  <c>1296</c>
  <p>317056</p>
  <h>0</h>
  <hasPrv>0</hasPrv>
  <ic>0</ic>
  <trackElementDependents>0</trackElementDependents>
  <isPermanent>1</isPermanent>
  <isTemp>0</isTemp>
  </obDesc>
  </obInst>
  <dirty>1</dirty>
<data>
<database>
  <id>BD_1</id>
  <k>144693</k>
  <n>База данных</n>
  <classId>513</classId>
  </database>
  </data>
  </meta>
  </SetSegContResult>
  </soapenv:Body>
  </soapenv:Envelope>

JSON-запрос:

{
"SetSegCont" :
{
"tSegCont" :
{
"id" : "FLEDMHBOCLDPFOAEDMFBLHBLOEJDMKEEKKHHKBBDHHIFPONM!M!S!CNIKPLJBOCLDPFOAEJGOHDKFEFEEPOCLEFIAOPAACCEOBKNOG"
},
"tArg" :
{
"pattern" :
{
"obInst" : "true",
"database" : "true"
},
"meta" :
{
"data" :
{
"database" :
{
"k" : "144693"
}
}
},
"metaGet" :
{
"obInst" : "true",
"database" : "true"
}
}
}
}

JSON-ответ:

{
"SetSegContResult" :
{
"id" :
{
"id" : "FLEDMHBOCLDPFOAEDMFBLHBLOEJDMKEEKKHHKBBDHHIFPONM!M!S!CNIKPLJBOCLDPFOAEJGOHDKFEFEEPOCLEFIAOPAACCEOBKNOG"
},
"meta" :
{
"obInst" :
{
"obDesc" :
{
"@ds" : "",
"@isShortcut" : "0",
"@isLink" : "0",
"@ver" : "27",
"@hf" : "0",
"i" : "SEG_CONTAINER",
"n" : "Контейнер сегментов куба",
"k" : "317162",
"c" : "1296",
"p" : "317056",
"h" : "0",
"hasPrv" : "0",
"ic" : "0",
"trackElementDependents" : "0",
"isPermanent" : "1",
"isTemp" : "0"
}
},
"dirty" : "1",
"data" :
{
"database" :
{
"id" : "BD_1",
"k" : "144693",
"n" : "База данных",
"classId" : "513"
}
}
}
}
}
public static SetSegContResult SetSegCont(string moniker, uint bdKey)
{
var somClient = new SomPortTypeClient(); // Прокси-объект для выполнения операций
// Параметры выполнения операции
var tSet = new SetSegCont()
{
tArg = new SetSegContArg()
{
pattern = new SegContMdPattern()
{
database = true,
},
meta = new SegContMd()
{
data = new SegContData()
{
database = new SimpleMbObject() { k = bdKey }
}
},
metaGet = new SegContMdPattern()
{
database = true
}
},
tSegCont = new SegContId() { id = moniker }
};
// Изменение настроек контейнере сегментов
var result = somClient.SetSegCont(tSet);
return result;
}

См. также:

Работа с кубами