XML properties handling
XML properties can be contained in these entities:
- Databases
- Connections
- Dimensions
- Cubes
They are used to store various information in the XML structure of the corresponding
entity, within the <Alea:Properties>
XML element.
The properties can be read and modified either by the respective
GetProperties
and PutProperties
XML functions, or, in
the case of dimensions and cubes, by the Edit Database dashboard of d/EPM Administration. Conditions for reading and modification are the appropriate
access rights and that the respective property is not read-only.
There are two different types of properties:
- System properties. These are
pre-defined properties that affect the behavior of OLAP in the
specified way. They all have the
Alea
namespace prefix. - Custom properties. These are properties not known by OLAP. They can be created by users or processes to keep arbitrary information with the entity. Custom properties cannot use namespace prefixes. They can contain XML elements, also in a nested structure.
There are two restrictions for an <Alea:Properties>
XML element:
- It can only contain other XML elements. It cannot contain text.
- A property cannot be used
twice as direct child of the
<Alea:Properties>
XML element. This restriction is not valid for deeper levels and also does not apply to<Alea:Translation>
.
This is a valid structure:
<Alea:Properties>
<MyProperty>OK</MyProperty>
<MyProperty2>OK</MyProperty2>
</Alea:Properties>
This is also a valid structure:
<Alea:Properties>
<MyProperty>
<MyProperty1>OK</MyProperty1>
<MyProperty1>OK</MyProperty1>
<MyProperty>
</Alea:Properties>
This part of the request is invalid because the <Alea:Properties>
XML
element contains text:
<Alea:Properties>
<MyProperty>OK</MyProperty>
some text
</Alea:Properties>
This part of the request is invalid because <MyProperty>
is used twice
as direct child of the <Alea:Properties>
XML element:
<Alea:Properties>
<MyProperty>OK</MyProperty>
<MyProperty>OK</MyProperty>
</Alea:Properties>
The PutProperties
function of all named
classes then works on an incremental base, that is, the second property is kept but not the
first one.
Each of the direct children of the <Alea:Properties>
element in the PutProperties
function is
either:
- Inserted into the XML structure of the corresponding entity if it does not exist yet.
- Replacing the former one with the same name if the user has the appropriate rights (mainly for system properties).
- Deleting the one with the same name if the given element is empty. That is, it has no text, no child elements, and no attributes.
- Returned as an error in the
<Alea:Return>
element:- If the user has no rights to set the property.
- The property is read-only.
- All system properties which were specified more than once in the change request.
This table describes the read-only system properties:
Entity | Property | Description |
---|---|---|
Database | <Alea:Database>
|
The name of the database. The number of connected users. Indicates if only specified users can connect to the Database Worker. |
Connection | <Alea:Splashing> |
Provides the names of the splashing undo files for this session. |
Dimension | No read-only properties | |
Cube |
<Alea:Rules>
|
Information about rules |