DataDomain: DbDataDomain;
The DataDomain property returns data type to store multibyte information in attribute.
If the DataDomain property is set to DbDataDomain.Memo and the IDimAttribute.DataType property is set to DbDataType.String, the attribute is of the Long Text type.
On working with the Long Text attribute keep in mind the following constraints:
If Oracle or Teradata DBMS is used, the search cannot be performed by the attribute value.
These attributes cannot be included to the unique and non-unique indexes.
The process of attribute selection and saving can be slower than standard text attributes..
Executing the example requires that the repository contains an MDM dictionary with the TMDMDICT_MEMO identifier.
To execute the example, add links to the Dal, Dimensions, Metabase system assemblies.
Sub UserProc;
Var
mb: IMetabase;
dimension: IDimensionModel;
attribute: IDimAttribute;
attributes: IDimAttributes;
i: Integer;
Begin
// Get current repository
mb := MetabaseClass.Active;
// Get MDM dictionary
dimension := mb.ItemById("TMDMDICT_MEMO").Bind As IDimensionModel;
// Get dictionary attributes
attributes := dimension.Attributes;
// Parse obtained attributes
For i := 0 To attributes.Count - 1 Do
attribute := attributes.Item(i);
// If the attribute has the Long Text type display information about it
If (attribute.DataDomain = DbDataDomain.Memo) And
(attribute.DataType = DbDataType.String) Then
Debug.WriteLine("Name: " + attribute.Name);
Debug.WriteLine("Identifier: " + attribute.Id);
Debug.WriteLine("Key: " + attribute.Key.ToString);
End If;
End For;
End Sub UserProc;
After executing the example the console window displays information about the Long Text attributes, if they are present in the MDM dictionary.
See also: