Properties in XML
XML properties can be defined within these entities:
- Databases
- Connections
- Dimensions
- Cubes
XML properties are stored in the XML structure of the respective entity, specifically within the <Alea:Properties> XML element.
Reading and modifying properties
You can read and modify XML properties using these options:
- The respective
GetPropertiesandPutPropertiesXML functions. - The Edit Database dashboard of EPM Administration for dimensions or cubes.
This table shows the permissions required to read and modify properties:
| Action | Entity | Permission |
|---|---|---|
| Read |
Database Connection |
View |
| Read |
Dimension Cube |
View
Note: The dimension and cube must be visible to the user.
|
| Modify | Database | View and Administer OLAP Database |
| Modify | Connection | View |
| Modify | Dimension | View and Edit Dimensions
Note: The dimension must be visible to the user.
|
| Modify | Cube | View and Administer OLAP Database |
Types of properties
This table shows the XML property types:
| Type | Description |
|---|---|
| System properties |
Pre-defined properties that influence OLAP behavior. The properties always use the |
| Custom properties |
User-defined or process-defined properties not interpreted by OLAP. The properties may use the The properties may contain text and nested XML elements. |
Restrictions
These are the restrictions on the <Alea:Properties> XML element:
- It must only contain XML elements. Text content is not allowed.
- Each property name must be unique among the direct children of
<Alea:Properties>. This restriction does not apply to nested levels or to<Alea:Translation>elements.
Examples of valid structures
This structure contains only unique root-level property names and no root-level text.
<Alea:Properties>
<MyProperty1>OK</MyProperty1>
<MyProperty1_1>OK</MyProperty1_1>
</Alea:Properties>
This structure contains both duplicated property names and text only in the nested levels.
<Alea:Properties>
<MyProperty2>
<MyProperty3>
<MyProperty4>OK</MyProperty4>
<MyProperty4>OK</MyProperty4>
some text
</MyProperty3>
</MyProperty2>
</Alea:Properties>
Examples of invalid structures
Structures that contain text directly, for example:
<Alea:Properties>
<MyProperty>OK</MyProperty>
some text
</Alea:Properties>
Structures with duplicated property names among direct children, for example:
<Alea:Properties>
<MyProperty>OK</MyProperty>
<MyProperty>OK</MyProperty>
</Alea:Properties>
PutProperties behavior
If there are multiple <Alea:Properties> XML elements, the PutProperties functions of all named classes process only the first one.
These are the ways in which each direct child of <Alea:Properties> is processed:
- Inserting the property if none with the same name exists.
- Replacing the existing property with the same name.
- Deleting the property with the same name if it is empty. An empty property has no text, no child elements, and no attributes.
- Returning an error in
<Alea:Return>if:- The user or process lacks permission.
- The property is read-only.
- A property is specified more than once.
Removing nested properties
To remove a nested structure, you must send the empty root element.
Example
Existing structure:
<Alea:Properties>
<MyProperty2>
<MyProperty3>
<MyProperty4>OK</MyProperty4>
<MyProperty4>OK</MyProperty4>
some text
</MyProperty3>
</MyProperty2>
</Alea:Properties>
Removing the entire MyProperty2 structure:
<Alea:Properties>
<MyProperty2 />
</Alea:Properties>
Nesting <Alea:Properties> XML elements
Do not nest <Alea:Properties> elements, even though it is technically allowed.
Nesting <Alea:Properties> may cause these issues:
- System properties inside nested
<Alea:Properties>are ignored without error logging. - Some clients treat such structure as invalid.
Example
<Alea:Properties>
<Alea:AccessCube Enabled="true" /><!-- not ignored -->
<Alea:Properties>
<Alea:AccessCube Enabled="false" /><!-- ignored -->
</Alea:Properties>
</Alea:Properties>
Read-only system properties
This table shows the read-only system properties:
| Entity | Property | Description |
|---|---|---|
| Database | <Alea:Database>
|
Name of the database.
Number of connected users. Indicates restricted access to OLAP. |
| Connection | <Alea:Splashing> |
Names of splashing undo files for the session. |
| Dimension | No read-only properties | |
| Cube | <Alea:Rules> |
Information about rules. |