Domains

The Domains (md_domain) view allows you to add, modify, copy, and delete records in the domains table. A Domain is used to assign a set of properties, such as a logical data type, to a database column. Its attributes provide information about how such a column object should be displayed and what rules should be used when validating data of this type.

  • Good examples of domains are monetary amounts and boolean values, as several columns from any tables might share the monetary amount or boolean domain.

  • Upon update of a domain, the system will ensure that the domain values, column default values, view column default values and criteria default values adhere to the domain’s validation rules.

  • The system will ensure that columns of type 9 - Binary Large Object or 11 - Password are not used as criteria usage elements or result usage elements.

  • Generic domains have been implemented for all databases (e.g. ice) that make use of the metadata. There is one domain for each data type that is not data length or precision sensitive. When a new table is defined, any column associated with one of these data types is automatically assigned the generic domain. You have the option to retain the generic domain, assign an existing domain, or create a new domain altogether. The generic domains are as follows:

    Domain Name Data Type
    blob 9
    boolean 2
    boolean_y_n 3
    clob 10
    date 4
    integer 7
    smallint 6
    timestamp 5

The following list defines every field available in the domains (md_domain) table in alphabetical order:

  • Alternate Identifier - an alternate to the domain name. Default value set to {column.md_domain.domain_name}.

    • One usage of this field is to generate the method names for Java Table Objects and their supporting classes.

  • Created By - displays the name of the user who created the record you are viewing or maintaining. May not be overridden.

  • Created On - displays the date on which the record that you are creating or maintaining was created. May not be overridden. May also represent the creation date of the records you are attempting to retrieve.

  • Custom Style Enabled - reserved for future use. The following options are available: Yes and No (default).

  • Data Length - the number of characters allowed in the database for the corresponding column.

    • If the Data Type is defined as 1 - Character, 3 - Boolean Character, 8 - Fixed Decimal, 11 - Password, 12 - Character (Not Null), 13 - Single Float, or 14 - Double Float, set the value to the physical length. For all other data types, the value must be set to zero.

    • If this value equals zero, the data length should not be used in validating or displaying data.

  • Data Type - the data type. The following options are available:

    • Character (default)

    • Boolean Smallint - a boolean data type with 0 (No) or 1 (Yes) as domain values.

    • Boolean Character - a boolean data type with N (No) or Y (Yes) as domain values.

    • Date - a domain value is not permitted for domains assigned this data type.

    • Timestamp - a domain value is not permitted for domains assigned this data type. In the case of timestamp columns, the way in which transaction data is displayed and persisted is based on the definition of the database vendor.

      • For Oracle, the transaction data includes the date and time (e.g. 2011-03-15 08:30:56).
      • For SQL Server, the transaction data includes the date, time, and one decimal precision for the fraction of the second (e.g. 2011-03-15 08:30:56.7).

    • Smallint

    • Integer

    • Fixed Decimal - a domain value is not permitted for domains assigned this data type.

    • Binary Large Object -not currently implemented, but is reserved for future usage.

    • CLOB - a domain value is not permitted for domains assigned this data type. CLOB columns are supported with Oracle and SQL Server databases; however, only the Like and Not Like operators are supported in Oracle.

    • Password - a domain value is not permitted for domains assigned this data type.

    • Character (Not Null) - a data type for which null values are stored as spaces.

    • Single Float - a domain value is not permitted for domains assigned this data type.

    • Double Float - a domain value is not permitted for domains assigned this data type.

  • Database Name - this field is maintainable in creation mode only, when it appears in the key subview. The foreign key to the database entity.

  • Decimal Places - the number of numeric characters allowed following the decimal place. This field is only applicable when the Data Type field is set to Fixed Decimal, Single Float, or Double Float.

  • Description - an expression column that shows the text associated with the description literal key or the overridden description.

  • Description Literal Key - the literal key for the description. Must be unique for the table.

  • Domain Attributes - an expression column that includes a hyperlink to the Domain Attributes view. Click the hyperlink to see the attributes of the domain and any subsequent domains.

  • Domain Name - this field is maintainable in creation mode only, when it appears in the key subview. The unique identifier for a given domain.

    • A name that qualifies the domain usage or reflects the column that is referring to it.

    • Must only contain lowercase characters. If the domain name contains multiple words, separate the words with underscores.

    • If the column name includes numbers, exclude the numbers in the domain name. For example, for columns address_1, address_2 and address_3, the derived domain name would be address.

    • If the column name has a single data type, length and/or precision, the domain name is assigned the column name (e.g. cust_group).

    • If the column name exists with multiple data type, length and/or precision attributes, the domain name is qualified with a discriminator. Example:

      Column Name with Different Precision Dervied Domain Name
      amount amount_decimal_12_3
      amount amount_decimal_16_2
      amount (most commonly used) amount

  • Domain Values - an expression column that includes a hyperlink to the Domain Values view. Click the hyperlink to see the values of the domain and any subsequent domains.

  • Enumeration Display - determines how enumerations are displayed when the Renderer Code is set to enumeration for the domain. The following options are available:

    • Value

    • Description - does not apply to the criteria section on the Search page. A value must still be displayed there, as it is what you enter as a criterion.

    • Value - Description (default)

  • Enumeration Sort Order - the order in which enumerations are displayed when the Renderer Code is set to enumeration for the domain. The following options are available:

    • Sequence (default)

    • Value

    • Description - when this option is selected, the sort order is language dependent.

  • Extra Attributes - a CLOB-type field used to store additional JSON information.

  • Input Placeholder Literal Key - reserved for future use.

  • Is Math Enabled - indicates whether or not the corresponding column can have mathematical operations performed against it.

    • This field is only applicable when the Data Type field is set to a numeric data type and makes logical sense for summation.

  • Justification - the domain data rendering justification. The following options are available:

    • Left (default)
    • Right
    • Center

  • Maximum Range Value - an alphanumeric string indicating the maximum value allowed for the domain. The domain cannot have domain values when a value is provided for this field.

    • The system will ensure that domains with data type Binary Large Object or CLOB do not have a value defined.

    • The system will ensure that the value defined adheres to the domain's validation rules and that it is greater than or equal to the value for Minimum Range Value.

  • Minimum Range Value - an alphanumeric string indicating the minimum value allowed for the domain. The domain cannot have domain values when a value is provided for this field.

    • The system will ensure that domains with data type Binary Large Object or CLOB do not have a value defined.

    • The system will ensure that the value defined adheres to the domain's validation rules and that it is less than or equal to the value for Maximum Range Value.

  • Modification Counter - this field is not maintainable. The date and time a given record was last modified.

  • Modified By - this field is not maintainable. The user or system process that last modified the record.

  • Modified On - this field is not maintainable. The date on which the record was last modified.

  • Note - optional. User-defined information about the current entity.

    • The information is available to the metadata administrator.

  • Renderer Code - an attribute used in deciding how to render the field in the user interface. Serves as the default value for the renderer code defined in the Columns view. The following options are available:

    • Default - indicates that you wish to let the system delegate to the renderer code based on the value of the Data Type field.

    • Date - indicates that you wish to render the field as a date. Dates can be configured in any one of a number of formats for a given environment.

    • Timestamp - indicates that you wish to render the field as a timestamp. Timestamp columns are formatted as defined in the ISO 8601 standard (i.e. yyyy-mm-dd hh:mm:ss).

    • Single Line String - indicates that you wish to render the field as a single-line character string.

    • Enumeration - indicates that you wish to render the field as an enumeration of domain values. Static codes use this renderer code. Boolean data types too may use it since their domain values can be yes or no.

    • URL - indicates that you wish to render the field as a URL (Uniform Resource Locator).

    • Email - indicates that you wish to render the field as an email address.

    • Multiple Line String - indicates that you wish to render the field as a multiple-line character string. Refer to the Style Extensions subtopic of the Using Extended Metadata Engine Features topic for more information about what can be done with this renderer type.

    • Formatted Numeric - indicates that you wish to render the field as a numeric value with format characteristics (where applicable), thereby including the separator used to identify integer digit groupings and the separator used to identify decimals. Such numbers are generally used for quantities, monetary amounts and any numbers that require thousands separators.

    • Unformatted Numeric - indicates that you wish to render the field as a numeric value, with or without decimals. Such numbers are generally used for sequences, flags, percentages and any numbers that do not require thousands separators.

    • Password - indicates that you wish to render the field as a password.

    • External Image - indicates that you wish to render the field as an external image.

    • External Thumbnail Image - indicates that you wish to render the field as an external thumbnail image.

    • External Thumbnail Document - indicates that you wish to render the field as an external document.

    • Render by Domain - indicates that you wish to render the field using a custom domain renderer.

    • Input Device Renderer - displays a button that allows you to retrieve a value from an external input device connected to the computer.

    • HTML Editor - is reserved for future use.

    • Check Box - renders editable boolean type fields in a view's search results as check boxes. Also known as the One-Click Editing feature, this functionality allows the value of a boolean check box to be modified to its inverse value with just one click. Consequently, if the check box was checked, it will become unchecked. If the check box was unchecked, it will become checked. This rendering is applicable only to boolean and other binary data type fields, such as boolean smallint and boolean character. One-Click Editing is enabled by setting the edit.grid.checkbox.enabled view attribute to 1 via the View Attributes resource.

    • Exposed Enumeration - indicates you wish to render a field to always display the enumerated domain values visually. Use this when there are only a few values to display. A column attribute (i.e. render.html.class.name) enables you to control through a CSS class whether the values are rendered vertically or horizontally. If no class is defined, the enumerations will wrap when the available space is insufficient.

    • Icon Image - indicates that you wish to display a predefined icon image representing the field value. The icon image is saved as a base64-encoded string in a CLOB field that supports a file upload mechanism in the Domain Values resource. The CLOB field also supports pasting in the data URI or a macro referring to an icon used for another domain value.

  • Shift Policy - the domain shift policy. The following options are available:

    • Noshift - (default) indicates that the field may contain both uppercase and lowercase characters.

    • Upshift - indicates that only uppercase characters are accepted.

    • Downshift - indicates that only lowercase characters are accepted.

  • Validation Pattern - an attribute used when deciding how to validate the field in the user interface.

    • A value of identifier - must start with an uppercase letter and contain letters and digits.

    • A value of identifier.tag - must start with an uppercase letter and contain letters, digits and dashes.

    • A value of db.object - must start with a letter and contain letters, digits or underscores.

    • A value of resource - must start with a letter and contain letters, digits, periods or underscores.

    • A value of letters - must contain letters only.

    • A value of digits - must contain digits only.

    • A value of password.weak - weak password: minimum 6 characters, at least 1 uppercase letter, and 1 digit.

    • A value of password.medium - password: minimum 8 characters, at least 1 uppercase letter, 1 digit, and 1 special character.

    • A value of password.strong - strong password: minimum 10 characters, at least 1 uppercase letter, 1 lowercase letter, 1 digit, and 1 special character.

    • A value of locale - must be formatted like a locale.

    • A value of email_address - must be formatted like an email address.

  • Wrap Allowed - reserved for future use.

For the functionality of each action (i.e. button) available on this view, refer to the About the Actions topic.