Request using templates
Templates facilitate the creation and modification of dimensions. When using a dimension template, all elements, hierarchies, and properties are taken over from the specified dimension. It can also be the same dimension that you intend to change. If you do not specify a dimension template, you start with an empty dimension.
Hierarchy templates are similar. Although they require the dimension template to have an effect.
Request
This request creates a dimension and hierarchy using templates. By using the same dimension and hierarchy as the template, a dimension and hierarchy can be changed. This is the preferred way to change a dimension or hierarchy.
<Alea:Document xmlns:Alea="http://www.misag.com">
<Alea:Request RequestID="2" Class="Dimension" Method="Write">
<Alea:Dimension Name="OrgNew" FirstBatch="true" LastBatch="true" >
<!-- optional -->
<Alea:DimensionTemplate Name="Org">
<!-- optional -->
<Alea:DeleteElement Name="Elem1"/>
<!-- optional -->
<Alea:RemoveRelation Name="Fire Department" Parent="All" />
</Alea:DimensionTemplate>
<!-- optional -->
<Alea:Hierarchy Name="Org as of 2019">
<Alea:Elements>N\t2019
N\t2020
C\tTotal
\t2019
\t2020</Alea:Elements>
<!-- optional -->
<Alea:HierarchyTemplate Name="Org as of 2015" IgnoreSourceNotExist="true">
<Alea:DeleteElement Name="Driver License 2015"/>
</Alea:HierarchyTemplate>
<!-- optional -->
<Alea:Description>Org as of 2019 New Hierarchy</Alea:Description>
<Alea:Properties/>
</Alea:Hierarchy>
<!-- optional -->
<Alea:Properties />
</Alea:Dimension>
</Alea:Request>
</Alea:Document>
The Alea:DeleteElement
child tag removes
the specified element. Within Alea:DimensionTemplate
it
only works for the default hierarchy. For a non-default hierarchy, Alea:DeleteElement
must be placed in Alea:HierarchyTemplate
.
The Alea:RemoveRelation
tag has two
attributes:
- The name of the element.
- The name of the parent where it should be removed.
When the element gets removed from the specified parent, the relationship to other parents remains untouched. If an element no longer has a parent, it remains as a root element.
For an element in a non-default hierarchy, the Alea:RemoveRelation
tag must be placed inside the Alea:HierarchyTemplate
tag. For a non-default hierarchy, Alea:RemoveRelation
must be placed in Alea:HierarchyTemplate
.
Alea:Properties
can be in the same way
configured as in the Dimension PutProperties function.
Answer
<Alea:Document xmlns:Alea="http://www.misag.com">
<Alea:Request RequestID="2">
<Alea:Return>
<Alea:Dimension Name="OrgNew">
<Alea:DimensionTemplate Name="Org">
<Alea:DeleteElement Name="Elem1">
<Alea:Error ErrorID="65" />
</Alea:DeleteElement>
</Alea:DimensionTemplate>
<Alea:Hierarchy Name="Org as of 2019">
<Alea:HierarchyTemplate Name="Org as of 2015"/>
</Alea:Hierarchy>
<Alea:Hierarchy Name="Org as of 2019"/>
</Alea:Dimension>
</Alea:Return>
</Alea:Request>
</Alea:Document>
The following error codes are delivered inside the Alea:DimensionTemplate
element:
- 65 - The dimension element could not be found.
Use IgnoreSourceNotExist=true
within the
Alea:DimensionTemplate
and Alea:HierarchyTemplate
tags to specify that, if the source dimension or
hierarchy does not exist, the template is ignored, and the dimension or hierarchy is created
from an empty state.