GetDmUser

Syntax

GetDmUserResult GetDmUser(DmId tDim, GetDmUserArg tArg)

Parameters

tDim. Moniker of opened calculated dictionary instance.

tArg. Operation execution parameters.

Description

The GetDmUser operation gets calculated dictionary metadata.

Comments

This operation enables the user to get information about calculated dictionary structure: attributes, blocks, indexes, dictionary levels, macro for building an element tree and other settings that affect dictionary work. To execute the operation, in the tDim field specify moniker of calculated dictionary instance, and in the tArg field specify parameters for getting information. The moniker can be obtained on executing the OpenDim operation. In the tArg.pattern field specify the pattern that will be used to get information. The operation results in the requested metadata.

Example

Below is the example of using the operation to get information about calculated dictionary structure. The request contains dictionary moniker and the pattern that determines which metadata should be obtained. The response contains the obtained information.

SOAP request:

<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">
<GetDmUser xmlns="http://www.fsight.ru/PP.SOM.Som">
<tDim xmlns="">
  <id>S1!M!S!DM1</id>
  </tDim>
<tArg xmlns="">
<pattern>
  <obInst>true</obInst>
  <attrs>Get</attrs>
  <blocks>Get</blocks>
  </pattern>
  </tArg>
  </GetDmUser>
  </s:Body>
  </s:Envelope>

SOAP response:

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
<soapenv:Body>
<GetDmUserResult 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>S1!M!S!DM1</id>
  </id>
<meta xmlns="">
<obInst>
<obDesc ds="" isShortcut="0" isLink="0" ver="8" hf="0">
  <i>DIM_USER</i>
  <n>Dictionary</n>
  <k>175067</k>
  <c>1027</c>
  <p>175063</p>
  <h>0</h>
  <hasPrv>0</hasPrv>
  <ic>0</ic>
  <trackElementDependents>0</trackElementDependents>
  <isPermanent>1</isPermanent>
  <isTemp>0</isTemp>
  </obDesc>
  </obInst>
  <dirty>0</dirty>
<attrs>
<its>
<it>
  <k>1</k>
  <id>NAME</id>
  <n>Name</n>
  <vis>1</vis>
  <dt>1</dt>
  <predefined>Name</predefined>
  <dataDomain>0</dataDomain>
  <nullable>1</nullable>
  <hasHierarchy>0</hasHierarchy>
  </it>
<it>
  <k>2</k>
  <id>ID</id>
  <n>Identifier</n>
  <vis>1</vis>
  <dt>2</dt>
  <predefined>Ident</predefined>
  <dataDomain>0</dataDomain>
  <nullable>1</nullable>
  <hasHierarchy>0</hasHierarchy>
  </it>
<it>
  <k>3</k>
  <id>ORDER</id>
  <n>Order</n>
  <vis>1</vis>
  <dt>2</dt>
  <predefined>Order</predefined>
  <dataDomain>0</dataDomain>
  <nullable>1</nullable>
  <hasHierarchy>0</hasHierarchy>
  </it>
  </its>
  <ident>1</ident>
  <name>0</name>
  <order>2</order>
<orders>
<its>
<it>
<attr>
  <k>3</k>
  <id>ORDER</id>
  </attr>
  <reverseOrder>0</reverseOrder>
  </it>
  </its>
  </orders>
  </attrs>
<blocks>
<its>
<it>
  <k>1</k>
  <id>BLOCK1</id>
  <n>Block1</n>
  <vis>1</vis>
  </it>
  </its>
  </blocks>
  <hideInaccessibleElements>1</hideInaccessibleElements>
  <reverseOrder>0</reverseOrder>
  </meta>
  </GetDmUserResult>
  </soapenv:Body>
  </soapenv:Envelope>

JSON request:

{
"GetDmUser" :
{
"tDim" :
{
"id" : "S1!M!S!DM1"
},
"tArg" :
{
"pattern" :
{
"obInst" : "true",
"attrs" : "Get",
"blocks" : "Get"
}
}
}
}

JSON response:

{
"GetDmUserResult" :
{
"id" :
{
"id" : "S1!M!S!DM1"
},
"meta" :
{
"obInst" :
{
"obDesc" :
{
"@ds" : "",
"@isShortcut" : "0",
"@isLink" : "0",
"@ver" : "8",
"@hf" : "0",
"i" : "DIM_USER",
"n" : "Dictionary",
"k" : "175067",
"c" : "1027",
"p" : "175063",
"h" : "0",
"hasPrv" : "0",
"ic" : "0",
"trackElementDependents" : "0",
"isPermanent" : "1",
"isTemp" : "0"
}
},
"dirty" : "0",
"attrs" :
{
"its" :
{
"it" :
[
{
"k" : "1",
"id" : "NAME",
"n" : "Name",
"vis" : "1",
"dt" : "1",
"predefined" : "Name",
"dataDomain" : "0",
"nullable" : "1",
"hasHierarchy" : "0"
},
{
"k" : "2",
"id" : "ID",
"n" : "Identifier",
"vis" : "1",
"dt" : "2",
"predefined" : "Ident",
"dataDomain" : "0",
"nullable" : "1",
"hasHierarchy" : "0"
},
{
"k" : "3",
"id" : "ORDER",
"n" : "Order",
"vis" : "1",
"dt" : "2",
"predefined" : "Order",
"dataDomain" : "0",
"nullable" : "1",
"hasHierarchy" : "0"
}
]
},
"ident" : "1",
"name" : "0",
"order" : "2",
"orders" :
{
"its" :
{
"it" :
[
{
"attr" :
{
"k" : "3",
"id" : "ORDER"
},
"reverseOrder" : "0"
}
]
}
}
},
"blocks" :
{
"its" :
{
"it" :
[
{
"k" : "1",
"id" : "BLOCK1",
"n" : "Block1",
"vis" : "1"
}
]
}
},
"hideInaccessibleElements" : "1",
"reverseOrder" : "0"
}
}
}
public static GetDmUserResult GetUsertDimension(DmId moniker)
{
var somClient = new SomPortTypeClient(); //Proxy object for operation execution
//Operation execution parameters
var tGet = new GetDmUser()
{
tArg = new GetDmUserArg()
{
pattern = new DmUserMdPattern()
{
attrs = ListOperation.Get,
blocks = ListOperation.Get
}
},
tDim = moniker
};
//Get information about calculated dictionary
var result = somClient.GetDmUser(tGet);
return result;
}

See also:

Working with Dictionaries