UpdCubeCache

Синтаксис

bool UpdCubeCache(CubeId tCube, UpdCubeCacheArg tArg)

Параметры

tMon. Моникёр куба.

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

Описание

Операция UpdCubeCache создаёт новый или обновляет существующий кэш In-Memory для указанного куба.

Комментарии

Операция позволяет создать новый кэш или обновить файлы существующего кэша In-Memory куба на BI-сервере, с которым осуществляется работа. Если осуществляется попытка одновременно выполнить несколько обновлений кэша для одного и того же куба, то операции будут выполнены последовательно. Обновление кэша производится по указанной отметке куба (поле tArg.sels) и для заданного варианта отображения куба (поле tArg.dest). Операция возвращает значение True, если обновление прошло удачно и False, если во время обновления возникли какие-либо ошибки.

Примечание. Для корректной работы операции необходимо, чтобы файлы кэша использовались только текущим BI-сервером.

Пример

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">
<UpdCubeCache xmlns="http://www.fsight.ru/PP.SOM.Som">
<tCube xmlns="">
  <id>S1!M!S!C1</id>
  </tCube>
<tArg xmlns="">
<sels>
<it>
  <k>5858</k>
  <id>FACTS</id>
<sel>
  <elSelectOp>Select</elSelectOp>
  <elRelative>All</elRelative>
  </sel>
  </it>
<it>
  <k>112</k>
  <id>CALENDAR</id>
<sel>
  <elSelectOp>Unknown</elSelectOp>
  <elRelative>Unknown</elRelative>
<setCalendarPeriod>
  <active>true</active>
  <start>2000-01-01</start>
  <end>2000-12-01</end>
<levels>
  <it>Quarter</it>
  </levels>
  <append>false</append>
  <findOutActive>false</findOutActive>
  </setCalendarPeriod>
  </sel>
  </it>
<it>
  <k>116</k>
  <id>DIM_1</id>
<sel>
  <elSelectOp>Select</elSelectOp>
  <elRelative>All</elRelative>
  </sel>
  </it>
<it>
  <k>991</k>
  <id>DIM_2</id>
<sel>
  <elSelectOp>Select</elSelectOp>
  <elRelative>All</elRelative>
  </sel>
  </it>
  </sels>
<dest xsi:type="q1:CubeDest" xmlns:q1="http://www.fsight.ru/PP.SOM.Som">
  <k>1</k>
  <id>STD_CUBE</id>
  <n>Куб</n>
  <vis>true</vis>
  <isDefault>true</isDefault>
  </dest>
  </tArg>
  </UpdCubeCache>
  </s:Body>
  </s:Envelope>

SOAP-ответ:

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
<soapenv:Body>
  <UpdCubeCacheResult 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">1</UpdCubeCacheResult>
  </soapenv:Body>
  </soapenv:Envelope>

JSON-запрос:

{
"UpdCubeCache" :
{
"tCube" :
{
"id" : "S1!M!S!C1"
},
"tArg" :
{
"sels" :
{
"it" :
[
{
"k" : "5858",
"id" : "FACTS",
"sel" :
{
"elSelectOp" : "Select",
"elRelative" : "All"
}
},
{
"k" : "112",
"id" : "CALENDAR",
"sel" :
{
"elSelectOp" : "Unknown",
"elRelative" : "Unknown",
"setCalendarPeriod" :
{
"active" : "true",
"start" : "2000-01-01",
"end" : "2000-12-01",
"levels" :
{
"it" : "Quarter"
},
"append" : "false",
"findOutActive" : "false"
}
}
},
{
"k" : "116",
"id" : "DIM_1",
"sel" :
{
"elSelectOp" : "Select",
"elRelative" : "All"
}
},
{
"k" : "991",
"id" : "DIM_2",
"sel" :
{
"elSelectOp" : "Select",
"elRelative" : "All"
}
}
]
},
"dest" :
{
"@type" : "q1:CubeDest",
"k" : "1",
"id" : "STD_CUBE",
"n" : "Куб",
"vis" : "true",
"isDefault" : "true"
}
}
}
}

JSON-ответ:

{
"UpdCubeCacheResult" : "1"
}
public static bool UpdateCache(CubeId moniker, List sels, ItKey destination)
{
var somClient = new SomPortTypeClient(); //Прокси-объект для выполнения операций
//Параметры выполнения операции
var tUpd = new UpdCubeCache()
{
tArg = new UpdCubeCacheArg()
{
sels = sels.ToArray(),
dest = destination
},
tCube = moniker
};
//Обновление кэша
var result = somClient.UpdCubeCache(tUpd);
return result;
}

См. также:

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