Tags

1. Summary

2. DAE Tags

This section lists the tags recognized by the Data Access Engine (DAE). The Data Access Engine is the query processor component of the Dataphor Server. DAE tags generally pertain to the runtime behavior of the Dataphor Server.

2.1. Enforced

Determines whether the constraint on which it appears is enforced by the Dataphor Server. Setting the DAE.Enforced tag to false disables constraint validation in the Dataphor Server for the given constraint. The default determination for this setting is made by the compiler.

Syntax

DAE.Enforced = "true | false"

Applicable On

2.2. IsClustered

Determines whether the key or order on which it appears is the clustered key for the table. This designation has several implications within the Dataphor Server, as well as for storage translation.

Within the Dataphor Server, the clustering key is used to determine an access path when an otherwise arbitrary selection would be made.

In translation, the designation indicates that the given key or order is to be used as the clustered index, or physical ordering, for the table variable.

By default, the compiler will select a clustering key based on physical considerations.

Syntax

DAE.IsClustered = "true | false"

Applicable On

  • Keys

  • Orders

2.3. IsComputed

Indicates whether a given column should recompute its value in response to proposable calls from the CLI. Only valid when introduced in an add, redefine or specify operator. By default, the value of the IsComputed tag is true, meaning that on a Change proposable call, the value of the column will be recomputed based on the expression in the add or redefine operator. To disable this recomputation, set the value of the IsComputed tag to false.

Syntax

DAE.IsComputed = "true | false"

Applicable On

  • Columns

2.4. IsDeferred

Overrides the default determination for whether the constraint or event handler on which it appears should be deferred to transaction commit time. The default value for this setting is determined by the compiler based on the specific circumstances for each object. Refer to the documentation for each object type in the D4 Language Guide for more information.

Syntax

DAE.IsDeferred = "true | false"

Applicable On

  • Row Constraints

  • Transition Constraints

  • References

2.5. IsOrderDependent

Specifies whether or not the aggregate operator on which it appears is an order-dependent aggregate operator. For more information on order-dependent aggregate operators, refer to the Aggregate Operators section of the Catalog Elements chapter of the D4 Language Guide.

Syntax

DAE.IsOrderDependent = "true | false"

Applicable On

  • Aggregate Operators

2.6. IsOrderPreserving

Overrides the default determination for whether the operator on which it appears is an order-preserving operator. For more information on order-preserving operators, refer to the Operators section of the Language Elements chapter of the D4 Language Guide.

Syntax

DAE.IsOrderPreserving = "true | false"

Applicable On

  • Operators

2.7. IsSparse

Determines whether the key on which it appears is a sparse key. If a key is defined as sparse, then the uniqueness constraint is enforced only for rows which have a value specified for all the columns of the key. By contrast, a dense key enforces that only one row within a table variable is allowed to contain no values for the columns of the key. The default value for this setting is false.

Syntax

DAE.IsSparse = "true | false"

Applicable On

  • Keys

2.8. Message or SimpleMessage

Specifies a custom message to be used to display an error to the user when a constraint is violated. The Message tag must be a valid D4 expression. The same parameters available for writing the constraint expression are available within the message expression. Note that for transition constraints, a different message can be supplied for each transition by qualifying the message tag with the transition. For example, the tag DAE.Insert.Message can be used to specify the violation message for the insert transition of a given transition constraint.

Syntax

DAE.[<transition>.]Message = "<expression>"
DAE.[<transition>.]SimpleMessage = "<string>"

<transition> ::= Insert | Update | Delete

Applicable On

  • Scalar Type Constraints

  • Column Constraints

  • Row Constraints

  • Keys

  • References

  • Transition Constraints

  • Catalog Constraints

2.9. Representation

Specifies a representation to be used to access values of the type on which it appears. Determines which representation should be used by controls in the Frontend Clients.

Syntax

DAE.<native accessor name> = "<representation name>"

<native accessor name> ::=
    AsBoolean |
    AsByte |
    AsInt16 |
    AsInt32 |
    AsInt64 |
    AsDecimal |
    AsTimeSpan |
    AsDateTime |
    AsGuid |
    AsString |
    AsDisplayString |
    AsException |
    AsByteArray

Applicable On

  • Scalar Types

2.10. ShouldTranslate

Overrides the default determination for whether the object on which it appears should be translated into an application transaction. The default value for this setting is determined by the compiler based on the specific circumstances for each object. Refer to the documentation for each object type in the D4 Language Guide for more information.

Syntax

DAE.ShouldTranslate = "true | false"

Applicable On

3. Storage Tags

This section lists the tags recognized by the Storage Integration Architecture (SIA). These tags generally control how the Dataphor Server maps schema objects into underlying storage systems.

3.1. Deferred

Specifies whether or not reads should be deferred for the domain or column on which it appears. This tag is used by the SQL devices to indicate that the data type used in the target system supports deferred read access. When this tag is used, columns that are deferred are not retrieved with the initial query. Instead, the device creates a deferred read stream that accesses the data of the column only when it is actually requested through the CLI.

Syntax

Storage.Deferred = "true | false"

Applicable On

3.2. Enforced

This tag has been deprecated. Use the DAE.Enforced tag to indicate whether a constraint should be enforced. For backwards compatibility, the Storage.Enforced tag will continue to function as described in this documentation, but support for this tag will be dropped in a future version. Note that the semantics for the DAE.Enforced tag are the opposite of the Storage.Enforced tag, in other words setting Storage.Enforced to true has the same effect as setting DAE.Enforced to false. Because the tag is deprecated, the compiler will automatically replace Storage.Enforced tags with the appropriate DAE.Enforced tag.

Determines whether the constraint on which it appears is enforced by the device. If the device is responsible for enforcing a given constraint, the Dataphor Server does not attempt to enforce it. In other words, setting the Enforced tag to true effectively disables constraint validation in the Dataphor Server for the given constraint. The default determination for this setting is made by the compiler.

Syntax

Storage.Enforced = "true | false"

Applicable On

3.3. IsClustered

This tag has been deprecated. Use the DAE.IsClustered tag instead. For backwards compatibility, the Storage.IsClustered tag will continue to function as described in this documentation, but support for this tag will be dropped in a future version. Because the tag is deprecated, the compiler will automatically replace Storage.IsClustered tags with DAE.IsClustered tags.

Determines whether the key or order on which it appears is the clustered key for the table. This designation has several implications within the Dataphor Server, as well as for storage translation.

Within the Dataphor Server, the clustering key is used to determine an access path when an otherwise arbitrary selection would be made.

In translation, the designation indicates that the given key or order is to be used as the clustered index, or physical ordering, for the table variable.

By default, the compiler will select a clustering key based on physical considerations.

Syntax

Storage.IsClustered = "true | false"

Applicable On

  • Keys

  • Orders

3.4. IsSparse

Warning
This tag has been deprecated. Use the DAE.IsSparse tag instead. The semantics of the tag are the same. For backwards compatibility, the Storage.IsSparse will continue to function as described in this documentation, but support for this tag will be dropped in a future version. Because the tag is deprecated, the compiler will automatically replace Storage.IsSparse tags with DAE.IsSparse tags.

Determines whether the key on which it appears is a sparse key. If a key is defined as sparse, then the uniqueness constraint is enforced only for rows which have a value specified for all the columns of the key. By contrast, a dense key enforces that only one row within a table variable is allowed to contain no values for the columns of the key. The default value for this setting is false.

Syntax

Storage.IsSparse = "true | false"

Applicable On

  • Keys

3.5. Length

Specifies the length of the domain definition to be used in the target system (i.e. VARCHAR(40)). This tag is used by the string-like scalar type maps introduced by the various SQL devices. Essentially, any type map that makes use of a CHAR or VARCHAR type on the target system will search for this tag to determine the length of the character data to be used in the target system. The tag is searched for in the following order:

Syntax

Storage.Length = "<integer>"

Applicable On

3.6. Name

Specifies the name of the object in the target system. For schema objects that were imported from existing schema in target systems, the Name tag will be set to the name of the corresponding schema object in the target system. For schema objects created within the Dataphor Server, the Name tag can be used to specify the name of the corresponding schema object created or referenced in the target system.

Syntax

Storage.Name = "<string>"

Applicable On

3.7. Precision

Specifies the precision of the domain definition to be used in the target system (i.e. DECIMAL(12)). This tag is used by the decimal-like scalar type maps introduced by the various SQL devices. Essentially, any type map that makes use of a NUMERIC or DECIMAL type on the target system will search for this tag to determine the precision of the decimal data to be used in the target system. The tag is searched for in the following order:

Syntax

Storage.Precision = "<integer>"

Applicable On

3.8. Scale

Specifies the scale of the domain definition to be used in the target system (i.e. DECIMAL(12, 2)). This tag is used by the decimal-like scalar type maps introduced by the various SQL devices. Essentially, any type map that makes use of a NUMERIC or DECIMAL type on the target system will search for this tag to determine the scale of the decimal data to be used in the target system. The tag is searched for in the following order:

Syntax

Storage.Scale = "<integer>"

Applicable On

3.9. Schema

Specifies the schema name of the object in the target system. For schema objects that were imported from existing schema in target systems, the Schema tag will be set to the name of the schema for the corresponding schema object in the target system. For schema objects created within the Dataphor Server, the Schema tag can be used to specify the schema name of the corresponding schema object created in the target system. The value of the Schema tag will override the value of the Schema attribute set on an SQL device. Note that some target systems to not support the concept of database schemas, and will therefore ignore the value of this tag.

Syntax

Storage.Schema = "<string>"

Applicable On

  • Table Variables

  • Keys

  • Orders

3.10. Scope

Specifies the storage scope for the table variable. This tag only applied to table variables stored in a memory device. The scope can be:

Regardless of the scope of the table variable, the definition of the type and structure of the table variable is the same for the all scopes. However, the contents of the table variable will vary based on the scope. For database-scoped table variables (the default), the same storage is provided for all sessions and processes. For session-scoped table variables, a different storage space is provided for each session, and similarly for process-scoped table variables, a different storage space is provided for each process.

Syntax

Storage.Scope = "Database | Session | Process"

Applicable On

3.11. ShouldReconcile

Determines whether or not the object on which it appears should be reconciled with the target system. By default, the value of the ShouldReconcile tag is true, meaning that the object should be reconciled with the target system. A value of false indicates that no reconciliation will be performed with the target system. This designation is used in addition to the reconciliation mode and master of each device.

Syntax

Storage.ShouldReconcile = "true | false"

Applicable On

  • Table Variables

  • Columns

  • Keys

  • Orders

4. Frontend Tags

This section lists the tags recognized by the Frontend. Note that these tags may appear in various contexts throughout the metadata, and that the Frontend Server will search for these tags in specific ways, based on the type of user interface being derived. For more information on how the Frontend uses these tags, refer to Presentation Layer. For more specific information on the use of tags to guide derivation of the user interface see Guiding Derivation.

Frontend tags can be specific or general. For example:

ID : Integer tags { Frontend.Visible = "false" }

indicates that the ID is not to appear on any user interface (form) regardless of what mode the user interface is in.

ID : Integer tags { Frontend.Browse.Visible = "false" }

indicates ID will not be visible when the user-inteface (form) is in the browse mode. When the user interface is in any other mode, ID will be visible.

4.1. Break

Determines that a break should be placed after the column or group on which it appears.

Syntax

Frontend.Break = "true | false"

Applicable On

  • Scalar Types (indirectly)

  • Columns

4.2. Caption

Determines the caption of the user interface or control for the object on which it appears.

Syntax

Frontend.Caption = "<string>"

Applicable On

  • Tables

  • Views

  • Columns

  • Scalar Types (indirectly)

  • References

4.3. DetailKeyNames

TagsDetailKeyNamesDetailKeyNames

Determines the value of the DetailKeyNames argument to derivations produced for the objects on which it appears.

Syntax

Frontend.DetailKeyNames = "<column name semicolonlist>"

Applicable On

  • References

4.4. Document

Determines the document to present a user interface for the objects on which it appears. Can also be used prefixed with the Add, Edit, Delete, and View page types to specify documents for those commands within a plural page type.

Syntax

Frontend.Document = "<document expression>"

Applicable On

  • Tables

  • Views

  • References

4.5. Elaborate

Determines the value of the Elaborate argument to derivations produced for the objects on which it appears.

Syntax

Frontend.Elaborate = "true | false"

Applicable On

  • Tables

  • Views

  • References

4.6. ElementType

Determines the type of control to be used for the object on which it appears.

Syntax

Frontend.ElementType = "<identifier>"

Applicable On

  • Scalar Types (indirectly)

  • Columns

4.7. Embedded

Determines whether the object on which it appears will be embedded in derived expressions or user interfaces.

Syntax

Frontend.Embedded = "true | false"

Applicable On

  • References

4.8. Exposed

Determines whether the object on which it appears will be exposed (in the toolbar) in derived user interfaces.

Syntax

Frontend.Exposed = "true | false"

Applicable On

  • References

4.9. Flow

Determines the flow to be used when performing layout for derived user interfaces.

Syntax

Frontend.Flow = "default | vertical | horizontal"

Applicable On

  • Scalar Types (indirectly)

  • Columns

4.10. FlowBreak

Determines that a flowbreak should be placed after the column or group on which it appears.

Syntax

Frontend.FlowBreak = "true | false"

Applicable On

  • Scalar Types (indirectly)

  • Columns

4.11. EliminateGroup

Determines whether the group on which it appears should be eliminated by the structuring process.

By default, the structuring process will eliminate groups containing only a single element. This is done to avoid unnecessary groupings of controls on forms. However, in cases where a single-element group is desired, this tag can be used to keep the group from being eliminated.

Syntax

Frontend.EliminateGroup = "true | false"

Applicable On

  • Tables (in a Group extraction context)

  • References (in a Group extraction context)

4.12. Group

Determines which group the column on which it appears should be a member of.

When specified on a reference, determines which group the reference should be a member of. Note that for references, specifying the group of a reference places all columns (and elaborated references for those columns, recursively) into the specified group.

Syntax

Frontend.Group = "<qualified identifier>"

Applicable On

  • Scalar Types (indirectly)

  • Columns

  • References

4.13. Hint

Determines the hint to display in derived user interfaces for the object on which it appears.

Syntax

Frontend.Hint = "<string>"

Applicable On

  • Scalar Types (indirectly)

  • Columns

4.14. Include

Indicates whether the column on which it appears should be included in derived expressions.

On a reference, specifies whether the reference should be followed for the purpose of elaboration.

Syntax

Frontend.Include = "true | false"

Applicable On

  • Scalar Types (indirectly)

  • Columns

4.15. IncludeGroupTitle

Indicates whether the title of the inclusion reference should be included in the title of the column.

Syntax

Frontend.IncludeGroupTitle = "true | false"

Applicable On

  • References

4.16. Frontend.IsDefault

Indicates that the key or order on which it appears is the default order.

Syntax

Frontend.IsDefault = "true | false"

Applicable On

4.17. MasterKeyNames

Determines the value of the MasterKeyNames argument to derivations produced for the objects on which it appears.

Syntax

Frontend.MasterKeyNames = "<column name semicolonlist>"

Applicable On

  • References

4.18. Priority

Determines a priority for the object on which it appears.

Syntax

Frontend.Priority = "<integer>"

Applicable On

  • Scalar Types (indirectly)

  • Columns

  • Tables

  • Views

  • References

4.19. Query

Determines the value of the Query argument to derivations produced for the objects on which it appears.

Syntax

Frontend.Query = "<table expression>"

Applicable On

  • Tables

  • Views

  • References

4.20. ReadOnly

Indicates that the object on which it appears should be presented with a read-only user interface. The default value for this tag depends on context, and is usually based on the inferred read-only characteristics for each column.

Syntax

Frontend.ReadOnly = "true | false"

Applicable On

  • Scalar Types [1]

  • Columns

  • Tables

  • Views

4.21. Secure

Determines how the object on which it appears should behave in derived user interfaces if it is not accessible by the current user because of security. The default value for this tag is hidden, indicating that no user interface element will be visible for the object.

Syntax

Frontend.Secure = "visible | disabled | hidden"

Applicable On

  • Tables

  • Views

  • References

4.22. ShouldEnlist

Indicates whether or not to enlist in an existing application transaction within the derived user interface for the table variable on which it appears. The default value for this tag is default, indicating that the determination should be made based on the cardinality of the result set for the derived user interface being displayed.

Syntax

Frontend.ShouldEnlist = "default | true | false"

Applicable On

  • Tables

  • Views

4.23. Title

Determines the title of the object on which it appears.

Syntax

Frontend.Title = "<string>"

Applicable On

  • Tables

  • Views

  • Columns

  • Scalar Types (indirectly)

  • References

4.24. TreatAsLookup

This tag can be used on a parent reference to indicate whether or not the query elaboration process should treat the reference as a parent or lookup reference. If the reference is treated as a parent reference, the target table will be included in the result set using an inner join. If the reference is treated as a lookup reference (the default), the target table will be included in the result set using a left outer join, and the user interface will be constructed as though the reference were a lookup reference (i.e. using lookup controls to browse for the item to be selected, rather than entering the information directly on the derived form).

Syntax

Frontend.TreatAsLookup = "true | false"

Applicable On

  • References (parent references only)

4.25. UseApplicationTransactions

Indicates whether or not application transactions should be used within the derived user interface for the table variable on which it appears.

Syntax

Frontend.UseApplicationTransactions = "true | false"

Applicable On

  • Tables

  • Views

4.26. UseBrowse

Indicates whether or not a browse clause should be used to specify the ordering within the derived user interface for the table variable on which it appears. The default value for this tag is true.

Syntax

Frontend.UseBrowse = "true | false"

Applicable On

  • Tables

  • Views

4.27. UseList

Indicates that the List page type should be used to derive forms for the objects on which it appears.

Syntax

Frontend.UseList = "true | false"

Applicable On

  • Tables

  • Views

  • References

4.28. UseFullLookup

Determines that a full lookup control should be used to display the lookup for this reference in derived user interfaces.

Syntax

Frontend.UseFullLookup = "true | false"

Applicable On

  • References

4.29. Visible

Determines whether the object on which it appears will be visible in derived user interfaces.

Syntax

Frontend.Visible = "true | false"

Applicable On

  • Tables

  • Views

  • Columns

  • Scalar Types (indirectly)

  • References

4.30. Width

Determines the width of the object on which it appears.

Syntax

Frontend.Width = "<integer>"

Applicable On

  • Scalar Types (indirectly)

  • Columns


1. Indirectly. This tag is never looked for by the Frontend Server on a scalar type specifically. Specifying the tag on a scalar type "defaults" the tag for all columns of that type.

results matching ""

    No results matching ""