Semantic types
- Last Updated: January 16, 2024
- 1 minute read
- OpenEdge
- Version 12.8
- Documentation

Semantic types are field-level annotations that determine the type of data that can be stored in temp-table fields. You can specify default/ basic semantic types (such as Text—for CHARACTER, and Boolean—for LOGICAL) and also user-defined semantic types for your temp-table fields.
Suppose you want to ensure that a user, who has to add or update customer records to the Customer table, enters a properly formatted email ID. Then, you must define the semantic type, Email, while creating a Data Object interface using the Define Service Interface wizard. A published Data Object service that has the Email semantic type defined will reject any improperly formatted email IDs. This way you have more control over how data is entered into certain types of fields.
The following table lists each semantic type with its description:
Semantic type | Description |
|---|---|
Text | Specify this if the user must enter a single text line. |
RichText | Specify this if the user can enter multi-line, formatted text. |
Integer | Specify this if the user must enter an integer value. |
Number | Specify this if the user must enter a property formatted decimal value. |
Boolean | Specify this if the user must enter a Boolean value. |
Date | Specify this if the user must enter date. |
Datetime | Specify this if the user must enter date with time. This semantic type supports timezone specification. |
Currency | Specify this if the user must enter a decimal value with a currency symbol. |
Percent | Specify this if you want the value that the user enters to be stored in the database as a fraction (1/100th). If the user enters 10%, the value will be stored in the database as .01. |
PercentValue | Specify this if you want the value entered by the user to be stored in the database as it is. If the user enters 10%, the value will be stored in the database as 10. |
Specify this if the user must enter text with a single @ character delimiter. | |
PhoneNumber | Specify this if the user must enter a phone number. This accepts numbers, parentheses, and dashes. |
URL | Specify this if the user must enter a URL. |
Password | Specify this if what the user enters must be displayed as hidden characters. |
Internal | Specify this if a particular field must not be displayed to the user. |
Note: If you define the Integer, Number, Currency, Percent, or PercentValue semantic type, you will have to further specify minimum and maximum values for the semantic type.