Namespace: com.sap.vocabularies.UI.v1
Terms for presenting data in user interfaces
The SAP UI Vocabulary aims to optimize usage of data in UI channels. It focuses on usage patterns of data in UIs, not on UI patterns, and it is completely independent of the UI technologies or devices used to visualize the data.
These usage patterns represent certain semantic views on business data, some of them very general, others centering around the concept of a Thing, i.e. something tangible to end users. Examples for Things are semantic object instances or business object instances. One example for a usage pattern is the collection of properties which helps the user to identify a Thing, the UI.Identification term. Another example is the UI.LineItem term, which is a set of properties suitable for visualizing a collection of business object instances, e.g. as a list or table.
Term | Type | Description |
---|---|---|
HeaderInfo | HeaderInfoType | Information for the header area of an entity representation. HeaderInfo is mandatory for main entity types of the model |
Identification | [DataFieldAbstract] | Collection of fields identifying the object |
Badge | BadgeType | Information usually displayed in the form of a business card |
LineItem | [DataFieldAbstract] | Collection of data fields for representation in a table or list |
StatusInfo | [DataFieldAbstract] | Collection of data fields describing the status of an entity |
FieldGroup | FieldGroupType | Group of fields with an optional label |
ConnectedFields | ConnectedFieldsType | Group of semantically connected fields with a representation template and an optional label (Example) |
GeoLocations | [GeoLocationType] | Collection of geographic locations |
GeoLocation | GeoLocationType | Geographic location |
Contacts | [AnnotationPath] | Collection of contacts Each collection item MUST reference an annotation of a Communication.Contact Allowed Terms: |
MediaResource | MediaResourceType | Properties that describe a media resource Either Url or Stream MUST be present, and never both. |
DataPoint | DataPointType | Visualization of a single point of data, typically a number; may also be textual, e.g. a status value |
KPI | KPIType | A Key Performance Indicator (KPI) bundles a SelectionVariant and a DataPoint, and provides details for progressive disclosure |
Chart | ChartDefinitionType | Visualization of multiple data points |
ValueCriticality (Experimental) | [ValueCriticalityType] | Assign criticalities to primitive values. This information can be used for semantic coloring. |
CriticalityLabels (Experimental) | [CriticalityLabelType] | Assign labels to criticalities. This information can be used for semantic coloring. When applied to a property, a label for a criticality must be provided, if more than one value of the annotated property has been assigned to the same criticality. There must be no more than one label per criticality. |
SelectionFields | [PropertyPath] | Properties that might be relevant for filtering a collection of entities of this type |
Facets | [Facet] | Collection of facets |
HeaderFacets | [Facet] | Facets for additional object header information |
QuickViewFacets | [Facet] | Facets that may be used for a quick overview of the object |
QuickCreateFacets | [Facet] | Facets that may be used for a (quick) create of the object |
FilterFacets | [ReferenceFacet] | Facets that reference UI.FieldGroup annotations to group filterable fields |
OperationParameterFacets (Experimental) | [ReferenceFacet] | Facets that reference UI.FieldGroup annotations to group action or function parameters |
SelectionPresentationVariant | SelectionPresentationVariantType | A SelectionPresentationVariant bundles a Selection Variant and a Presentation Variant |
PresentationVariant | PresentationVariantType | Defines how the result of a queried collection of entities is shaped and how this result is displayed |
SelectionVariant | SelectionVariantType | A SelectionVariant denotes a combination of parameters and filters to query the annotated entity set |
ThingPerspective | Tag | The annotated term is a Thing Perspective |
IsSummary | Tag | This Facet and all included Facets are the summary of the thing. At most one Facet of a thing can be tagged with this term |
PartOfPreview | Tag | This record and all included structural elements are part of the Thing preview This term can be applied e.g. to UI.Facet and UI.DataField |
Map | Tag | Target MUST reference a UI.GeoLocation, Communication.Address or a collection of these |
Gallery | Tag | Target MUST reference a UI.MediaResource |
IsImageURL | Tag | Properties and terms annotated with this term MUST contain a valid URL referencing an resource with a MIME type image Applicable Annotation Terms: |
IsImage (Experimental) | Tag | Properties annotated with this term MUST be a stream property annotated with a MIME type image. Entity types annotated with this term MUST be a media entity type annotated with a MIME type image. Applicable Annotation Terms: |
MultiLineText | Tag | Properties and parameters annotated with this annotation should be rendered as multi-line text (e.g. text area) |
Placeholder | String | A short, human-readable text that gives a hint or an example to help the user with data entry |
InputMask (Experimental) | InputMaskType | Properties or parameters annotated with this term will get a mask in edit mode Input masks improve readability and help to enter data correctly. So, masks can be especially useful for input fields that have a fixed pattern, e.g. DUNS numbers or similar. Here you can find an example for this annotation |
TextArrangement | TextArrangementType | Describes the arrangement of a code or ID value and its text This term annotates one of the following:
|
DateTimeStyle (Experimental) | String? | The temporal value represented by the annotated property or parameter shall be shown on the UI in the given style Requires type Edm.Date , Edm.TimeOfDay , or Edm.DateTimeOffset . If this annotation is absent or null or an empty string, temporal values are shown in a default style. |
Note (Experimental) | NoteType | Visualization of a note attached to an entity Administrative data is given by the annotations Common.CreatedBy , Common.CreatedAt , Common.ChangedBy , Common.ChangedAt on the same entity type. |
Importance | ImportanceType | Expresses the importance of e.g. a DataField or an annotation |
Hidden | Tag | Properties or facets (see UI.Facet) annotated with this term will not be rendered if the annotation evaluates to true. Hidden properties usually carry technical information that is used for application control and is of no direct interest to end users. The annotation value may be an expression to dynamically hide or render the annotated feature. If a navigation property is annotated with Hidden true, all subsequent parts are hidden - independent of their own potential Hidden annotations. |
IsCopyAction (Experimental) | Tag | The annotated DataFieldForAction record references an action that deep-copies an instance of the annotated entity typeThe referenced action MUST be bound to the annotated entity type and MUST create a new instance of the same entity type as a deep copy of the bound instance. Upon successful completion, the response MUST contain a Location header that contains the edit URL or read URL of the created entity, and the response MUST be either 201 Created and a representation of the created entity, or 204 No Content if the request included a Prefer header with a value of return=minimal and did not include the system query options $select and $expand . |
IsAIOperation (Experimental) | Tag | The annotated operation is powered by AI This term allows making end-users aware that the annotated operation uses AI functionality to process the selected application data. |
CreateHidden | Tag | EntitySets annotated with this term can control the visibility of the Create operation dynamically The annotation value should be a path to another property from a related entity. |
UpdateHidden | Tag | EntitySets annotated with this term can control the visibility of the Edit/Save operation dynamically The annotation value should be a path to another property from the same or a related entity. |
DeleteHidden | Tag | EntitySets annotated with this term can control the visibility of the Delete operation dynamically The annotation value should be a path to another property from the same or a related entity. |
HiddenFilter | Tag | Properties annotated with this term will not be rendered as filter criteria if the annotation evaluates to true. Properties annotated with HiddenFilter are intended as parts of a $filter expression that cannot be directly influenced by end users. The properties will be rendered in all other places, e.g. table columns or form fields. This is in contrast to properties annotated with Hidden that are not rendered at all. If a navigation property is annotated with HiddenFilter true, all subsequent parts are hidden in filter - independent of their own potential HiddenFilter annotations. |
AdaptationHidden (Experimental) | Tag | Properties or entities annotated with this term can't be used for UI adaptation/configuration/personalization The tagged elements can only be used in UI based on metadata, annnotations or code. |
DataFieldDefault | DataFieldAbstract | Default representation of a property as a datafield, e.g. when the property is added as a table column or form field via personalization Only concrete subtypes of DataFieldAbstract can be used for a DataFieldDefault. For type DataField and its subtypes the annotation target SHOULD be the same property that is referenced via a path expression in the Value of the datafield. |
Criticality | CriticalityType | Service-calculated criticality, alternative to UI.CriticalityCalculation |
CriticalityCalculation | CriticalityCalculationType | Parameters for client-calculated criticality, alternative to UI.Criticality |
Emphasized (Experimental) | Tag | Highlight something that is of special interest The usage of a property or operation should be highlighted as it's of special interest for the end user |
OrderBy (Experimental) | PropertyPath | Sort by the referenced property instead of by the annotated property Example: annotated property SizeCode has string values XS, S, M, L, XL, referenced property SizeOrder has numeric values -2, -1, 0, 1, 2. Numeric ordering by SizeOrder will be more understandable than lexicographic ordering by SizeCode. |
ParameterDefaultValue | PrimitiveType? | Define default values for action parameters For unbound actions the default value can either be a constant expression, or a dynamic expression using absolute paths, e.g. singletons or function import results. Whereas for bound actions the bound entity and its properties and associated properties can be used as default values |
RecommendationState | RecommendationStateType | Indicates whether a field contains or has a recommended value Intelligent systems can help users by recommending input the user may "prefer". |
RecommendationList | RecommendationListType | Specifies how to get a list of recommended values for a property or parameter Intelligent systems can help users by recommending input the user may "prefer". |
Recommendations (Experimental) | ComplexType | Recommendations for an entity This complex-typed annotation contains structural properties corresponding via name equality to non-key structural primitive properties of the entity type for which recommendations are available. The type of such a property is a collection of a informal specialization of PropertyRecommendationType . (The specializiations are called "informal" because they may omit the property RecommendedFieldDescription .)Clients retrieve the recommendations with a GET request that includes this annotation in a $select clause. The recommendations MAY be computed asynchronously, see this diagram. |
ExcludeFromNavigationContext | Tag | The contents of this property must not be propagated to the app-to-app navigation context |
DoNotCheckScaleOfMeasuredQuantity (Experimental) | Boolean | Do not check the number of fractional digits of the annotated measured quantity The annotated property contains a measured quantity, and the user may enter more fractional digits than defined for the corresponding unit of measure. This switches off the validation of user input with respect to decimals. |
LeadingEntitySet (Experimental) | String | The referenced entity set is the preferred starting point for UIs using this service |
Property | Type | Description |
---|---|---|
TypeName | String | Name of the main entity type |
TypeNamePlural | String | Plural form of the name of the main entity type |
Title | DataFieldAbstract? Allowed Derived Types: |
Title, e.g. for overview pages This can be a DataField and any of its children, or a DataFieldForAnnotation targeting ConnectedFields. |
Description | DataFieldAbstract? Allowed Derived Types: |
Description, e.g. for overview pages This can be a DataField and any of its children, or a DataFieldForAnnotation targeting ConnectedFields. |
Image (Experimental) | Stream? | Image for an instance of the entity type. If the property has a valid value, it can be used for the visualization of the instance. If it is not available or not valid the value of the property ImageUrl can be used instead. |
ImageUrl | URL? | Image URL for an instance of the entity type. If the property has a valid value, it can be used for the visualization of the instance. If it is not available or not valid the value of the property TypeImageUrl can be used instead. |
TypeImageUrl | URL? | Image URL for the entity type |
Initials (Experimental) | String? | Latin letters to be used in case no Image , ImageUrl , or TypeImageUrl is present |
Property | Type | Description |
---|---|---|
HeadLine | DataField | Headline |
Title | DataField | Title |
ImageUrl | URL? | Image URL for an instance of the entity type. If the property has a valid value, it can be used for the visualization of the instance. If it is not available or not valid the value of the property TypeImageUrl can be used instead. |
TypeImageUrl | URL? | Image URL for the entity type |
MainInfo | DataField? | Main information on the business card |
SecondaryInfo | DataField? | Additional information on the business card |
Property | Type | Description |
---|---|---|
Label | String? | Label for the field group |
Data | [DataFieldAbstract] | Collection of data fields |
Group of semantically connected fields with a representation template and an optional label
Property | Type | Description |
---|---|---|
Label | String? | Label for the connected fields |
Template | String | Template for representing the connected fields Template variables are identifiers enclosed in curly braces, e.g. {MaterialName} - {MaterialClassName} . The Data collection assigns values to the template variables. |
Data | Dictionary | Dictionary of template variables Each template variable used in Template must be assigned a value here. The value must be of type DataFieldAbstract |
Properties that define a geographic location
Property | Type | Description |
---|---|---|
Latitude | Double? | Geographic latitude |
Longitude | Double? | Geographic longitude |
Location | GeographyPoint? | A point in a round-earth coordinate system |
Address | AddressType? | vCard-style address |
Property | Type | Description |
---|---|---|
Url | URL? | URL of media resource Applicable Annotation Terms: |
Stream (Experimental) | Stream? | Stream of media resource Applicable Annotation Terms: |
ContentType | MediaType? | Content type, such as application/pdf, video/x-flv, image/jpeg |
ByteSize | Int64? | Resource size in bytes |
ChangedAt | DateTimeOffset? | Date of last change |
Thumbnail | ImageType? | Thumbnail image |
Title | DataField? | Resource title |
Description | DataField? | Resource description |
Properties that describe an image
Either Url
or Stream
MUST be present, and never both.
Property | Type | Description |
---|---|---|
Url | URL | URL of image |
Stream (Experimental) | Stream? | Stream of image Applicable Annotation Terms: |
Width | String? | Width of image |
Height | String? | Height of image |
Property | Type | Description |
---|---|---|
Title | String? | Title of the data point |
Description | String? | Short description |
LongDescription | String? | Full description |
Value | PrimitiveType | Numeric value The value is typically provided via a Path construct. The path MUST lead to a direct property of the same entity type or a property of a complex property (recursively) of that entity type, navigation segments are not allowed.It could be annotated with either UoM.ISOCurrency or UoM.Unit . Percentage values are annotated with UoM.Unit = '%' . A renderer should take an optional Common.Text annotation into consideration. |
TargetValue | PrimitiveType? | Target value |
ForecastValue | PrimitiveType? | Forecast value |
MinimumValue | Decimal? | Minimum value (for output rendering) |
MaximumValue | Decimal? | Maximum value (for output rendering) |
ValueFormat | NumberFormat? | Number format |
Visualization | VisualizationType? | Preferred visualization |
SampleSize | PrimitiveType? | Sample size used for the determination of the data point; should contain just integer value as Edm.Byte, Edm.SByte, Edm.Intxx, and Edm.Decimal with scale 0. |
ReferencePeriod | ReferencePeriod? | Reference period |
Criticality | CriticalityType? | Service-calculated criticality, alternative to CriticalityCalculation |
CriticalityLabels | AnnotationPath? | Custom labels for the criticality legend. Annotation path MUST end in UI.CriticalityLabels Allowed Terms: |
CriticalityRepresentation (Experimental) | CriticalityRepresentationType? | Decides if criticality is visualized in addition by means of an icon |
CriticalityCalculation | CriticalityCalculationType? | Parameters for client-calculated criticality, alternative to Criticality |
Trend | TrendType? | Service-calculated trend, alternative to TrendCalculation |
TrendCalculation | TrendCalculationType? | Parameters for client-calculated trend, alternative to Trend |
Responsible | ContactType? | Contact person |
Describes how to visualise a number
Property | Type | Description |
---|---|---|
ScaleFactor | Decimal? | Display value in ScaleFactor units, e.g. 1000 for k (kilo), 1e6 for M (Mega) |
NumberOfFractionalDigits | Byte? | Number of fractional digits of the scaled value to be visualized |
Member | Value | Description |
---|---|---|
Number | 0 | Visualize as a number |
BulletChart | 1 | Visualize as bullet chart - requires TargetValue |
Progress | 2 | Visualize as progress indicator - requires TargetValue |
Rating | 3 | Visualize as partially or completely filled stars/hearts/... - requires TargetValue |
Donut | 4 | Visualize as donut, optionally with missing segment - requires TargetValue |
DeltaBulletChart | 5 | Visualize as delta bullet chart - requires TargetValue |
Reference period
Property | Type | Description |
---|---|---|
Description | String? | Short description of the reference period |
Start | DateTimeOffset? | Start of the reference period |
End | DateTimeOffset? | End of the reference period |
Criticality of a value or status, represented e.g. via semantic colors (https://experience.sap.com/fiori-design-web/foundation/colors/#semantic-colors)
Member | Value | Description |
---|---|---|
VeryNegative (Experimental) | -1 | Very negative / dark-red status - risk - out of stock - late |
Neutral | 0 | Neutral / grey status - inactive - open - in progress |
Negative | 1 | Negative / red status - attention - overload - alert |
Critical | 2 | Critical / orange status - warning |
Positive | 3 | Positive / green status - completed - available - on track - acceptable |
VeryPositive (Experimental) | 4 | Very positive - above max stock - excess |
Information (Experimental) | 5 | Information - noticable - informative |
Describes how to calculate the criticality of a value depending on the improvement direction
The calculation is done by comparing a value to the threshold values relevant for the specified improvement direction.
The value to be compared is
For improvement direction Target
, the criticality is calculated using both low and high threshold values. It will be
For improvement direction Minimize
, the criticality is calculated using the high threshold values. It is
For improvement direction Maximize
, the criticality is calculated using the low threshold values. It is
Thresholds are optional. For unassigned values, defaults are determined in this order:
Property | Type | Description |
---|---|---|
AcceptanceRangeLowValue | PrimitiveType? | Lowest value that is considered positive |
AcceptanceRangeHighValue | PrimitiveType? | Highest value that is considered positive |
ToleranceRangeLowValue | PrimitiveType? | Lowest value that is considered neutral |
ToleranceRangeHighValue | PrimitiveType? | Highest value that is considered neutral |
DeviationRangeLowValue | PrimitiveType? | Lowest value that is considered critical |
DeviationRangeHighValue | PrimitiveType? | Highest value that is considered critical |
ReferenceValue (Experimental) | PrimitiveType? | Reference value for the calculation, e.g. number of sales for the last year |
IsRelativeDifference (Experimental) | Boolean | Calculate with a relative difference |
ImprovementDirection | ImprovementDirectionType | Describes in which direction the value improves |
ConstantThresholds (Experimental) | [LevelThresholdsType] | List of thresholds depending on the aggregation level as a set of constant values Constant thresholds shall only be used in order to refine constant values given for the data point overall (aggregation level with empty collection of property paths), but not if the thresholds are based on other measure elements. |
Thresholds for calculating the criticality of a value
Derived Types:
Property | Type | Description |
---|---|---|
AcceptanceRangeLowValue | PrimitiveType? | Lowest value that is considered positive |
AcceptanceRangeHighValue | PrimitiveType? | Highest value that is considered positive |
ToleranceRangeLowValue | PrimitiveType? | Lowest value that is considered neutral |
ToleranceRangeHighValue | PrimitiveType? | Highest value that is considered neutral |
DeviationRangeLowValue | PrimitiveType? | Lowest value that is considered critical |
DeviationRangeHighValue | PrimitiveType? | Highest value that is considered critical |
Describes which direction of a value change is seen as an improvement
Member | Value | Description |
---|---|---|
Minimize | 1 | Lower is better |
Target | 2 | Closer to the target is better |
Maximize | 3 | Higher is better |
Thresholds for an aggregation level
Property | Type | Description |
---|---|---|
AcceptanceRangeLowValue | PrimitiveType? | Lowest value that is considered positive |
AcceptanceRangeHighValue | PrimitiveType? | Highest value that is considered positive |
ToleranceRangeLowValue | PrimitiveType? | Lowest value that is considered neutral |
ToleranceRangeHighValue | PrimitiveType? | Highest value that is considered neutral |
DeviationRangeLowValue | PrimitiveType? | Lowest value that is considered critical |
DeviationRangeHighValue | PrimitiveType? | Highest value that is considered critical |
AggregationLevel | [PropertyPath] | An unordered tuple of dimensions, i.e. properties which are intended to be used for grouping in aggregating requests. In analytical UIs, e.g. an analytical chart, the aggregation level typically corresponds to the visible dimensions. |
The trend of a value
Member | Value | Description |
---|---|---|
StrongUp | 1 | Value grows strongly |
Up | 2 | Value grows |
Sideways | 3 | Value does not significantly grow or shrink |
Down | 4 | Value shrinks |
StrongDown | 5 | Value shrinks strongly |
Describes how to calculate the trend of a value
By default, the calculation is done by comparing the difference between Value and ReferenceValue to the threshold values. If IsRelativeDifference is set, the difference of Value and ReferenceValue is divided by ReferenceValue and the relative difference is compared.
The trend is
Property | Type | Description |
---|---|---|
ReferenceValue | PrimitiveType | Reference value for the calculation, e.g. number of sales for the last year |
IsRelativeDifference | Boolean | Calculate with a relative difference |
UpDifference | Decimal | Threshold for Up |
StrongUpDifference | Decimal | Threshold for StrongUp |
DownDifference | Decimal | Threshold for Down |
StrongDownDifference | Decimal | Threshold for StrongDown |
Property | Type | Description |
---|---|---|
ID | String? | Optional identifier to reference this instance from an external context |
ShortDescription (Experimental) | String? | Very short description |
SelectionVariant | SelectionVariantType | Selection variant, either specified inline or referencing another annotation via Path |
DataPoint | DataPointType | Data point, either specified inline or referencing another annotation via Path |
AdditionalDataPoints | [DataPointType] | Additional data points, either specified inline or referencing another annotation via Path Additional data points are typically related to the main data point and provide complementing information or could be used for comparisons |
Detail | KPIDetailType? | Contains information about KPI details, especially drill-down presentations |
Property | Type | Description |
---|---|---|
DefaultPresentationVariant | PresentationVariantType? | Presentation variant, either specified inline or referencing another annotation via Path |
AlternativePresentationVariants | [PresentationVariantType] | A list of alternative presentation variants, either specified inline or referencing another annotation via Path |
SemanticObject | String? | Name of the Semantic Object. If not specified, use Semantic Object annotated at the property referenced in KPI/DataPoint/Value |
Action | String? | Name of the Action on the Semantic Object. If not specified, let user choose which of the available actions to trigger. |
Property | Type | Description |
---|---|---|
Title | String? | Title of the chart |
Description | String? | Short description |
ChartType | ChartType | Chart type |
AxisScaling | ChartAxisScalingType? | Describes the scale of the chart value axes |
Measures | [PropertyPath] | Measures of the chart, e.g. size and color in a bubble chart |
DynamicMeasures | [AnnotationPath] | Dynamic properties introduced by annotations and used as measures of the chart If the annotation referenced by an annotation path does not apply to the same collection of entities as the one being visualized according to the UI.Chart annotation, the annotation path MUST be silently ignored.Allowed Terms: |
MeasureAttributes | [ChartMeasureAttributeType] | Describes Attributes for Measures. All Measures used in this collection must also be part of the Measures Property. |
Dimensions | [PropertyPath] | Dimensions of the chart, e.g. x- and y-axis of a bubble chart |
DimensionAttributes | [ChartDimensionAttributeType] | Describes Attributes for Dimensions. All Dimensions used in this collection must also be part of the Dimensions Property. |
Actions | [DataFieldAbstract] Allowed Derived Types: |
Available actions and action groups |
Member | Value | Description |
---|---|---|
Column | 0 | |
ColumnStacked | 1 | |
ColumnDual | 2 | |
ColumnStackedDual | 3 | |
ColumnStacked100 | 4 | |
ColumnStackedDual100 | 5 | |
Bar | 6 | |
BarStacked | 7 | |
BarDual | 8 | |
BarStackedDual | 9 | |
BarStacked100 | 10 | |
BarStackedDual100 | 11 | |
Area | 12 | |
AreaStacked | 13 | |
AreaStacked100 | 14 | |
HorizontalArea | 15 | |
HorizontalAreaStacked | 16 | |
HorizontalAreaStacked100 | 17 | |
Line | 18 | |
LineDual | 19 | |
Combination | 20 | |
CombinationStacked | 21 | |
CombinationDual | 22 | |
CombinationStackedDual | 23 | |
HorizontalCombinationStacked | 24 | |
Pie | 25 | |
Donut | 26 | |
Scatter | 27 | |
Bubble | 28 | |
Radar | 29 | |
HeatMap | 30 | |
TreeMap | 31 | |
Waterfall | 32 | |
Bullet | 33 | |
VerticalBullet | 34 | |
HorizontalWaterfall | 35 | |
HorizontalCombinationDual | 36 | |
HorizontalCombinationStackedDual | 37 | |
Donut100 (Experimental) | 38 |
Property | Type | Description |
---|---|---|
ScaleBehavior | ChartAxisScaleBehaviorType | Scale is fixed or adapts automatically to rendered values |
AutoScaleBehavior | ChartAxisAutoScaleBehaviorType? | Settings for automatic scaling |
FixedScaleMultipleStackedMeasuresBoundaryValues | FixedScaleMultipleStackedMeasuresBoundaryValuesType? | Boundary values for fixed scaling of a stacking chart type with multiple measures |
Member | Value | Description |
---|---|---|
AutoScale | 0 | Value axes scale automatically |
FixedScale | 1 | Fixed minimum and maximum values are applied, which are derived from the @UI.MeasureAttributes.DataPoint/MinimumValue and .../MaximumValue annotation by default. For stacking chart types with multiple measures, they are taken from ChartAxisScalingType/FixedScaleMultipleStackedMeasuresBoundaryValues. |
Property | Type | Description |
---|---|---|
ZeroAlwaysVisible | Boolean | Forces the value axis to always display the zero value |
DataScope | ChartAxisAutoScaleDataScopeType | Determines the automatic scaling |
Member | Value | Description |
---|---|---|
DataSet | 0 | Minimum and maximum axes values are determined from the entire data set |
VisibleData | 1 | Minimum and maximum axes values are determined from the currently visible data. Scrolling will change the scale. |
Property | Type | Description |
---|---|---|
MinimumValue | Decimal | Minimum value on value axes |
MaximumValue | Decimal | Maximum value on value axes |
Property | Type | Description |
---|---|---|
Dimension | PropertyPath? | |
Role | ChartDimensionRoleType? | |
HierarchyLevel (Experimental) | Int32? | For a dimension with a hierarchy, members are selected from this level. The root node of the hierarchy is at level 0. |
ValuesForSequentialColorLevels (Experimental) | [String] | All values in this collection should be assigned to levels of the same color. |
EmphasizedValues (Experimental) | [String] | All values in this collection should be emphasized. |
EmphasisLabels (Experimental) | EmphasisLabelType? | Assign a label to values with an emphasized representation. This is required, if more than one emphasized value has been specified. |
Exactly one of Measure
and DynamicMeasure
must be present
Property | Type | Description |
---|---|---|
Measure | PropertyPath? | |
DynamicMeasure | AnnotationPath? | Dynamic property introduced by an annotation and used as a measure in a chart If the annotation referenced by an annotation path does not apply to the same collection of entities as the one being visualized according to the UI.Chart annotation, the annotation path MUST be silently ignored.Allowed Terms: |
Role | ChartMeasureRoleType? | |
DataPoint | AnnotationPath? | Annotation path MUST end in @UI.DataPoint and the data point's Value MUST be the same property as in Measure Allowed Terms: |
UseSequentialColorLevels (Experimental) | Boolean | All measures for which this setting is true should be assigned to levels of the same color. |
Member | Value | Description |
---|---|---|
Category | 0 | |
Series | 1 | |
Category2 | 2 |
Member | Value | Description |
---|---|---|
Axis1 | 0 | |
Axis2 | 1 | |
Axis3 | 2 |
Assigns a label to the set of emphasized values and optionally also for non-emphasized values. This information can be used for semantic coloring.
Property | Type | Description |
---|---|---|
EmphasizedValuesLabel | String | |
NonEmphasizedValuesLabel | String? |
Assigns a fixed criticality to a primitive value. This information can be used for semantic coloring.
Property | Type | Description |
---|---|---|
Value | PrimitiveType? | MUST be a fixed value of primitive type |
Criticality | CriticalityType? |
Assigns a label to a criticality. This information can be used for semantic coloring.
Property | Type | Description |
---|---|---|
Criticality | CriticalityType | |
Label | String | Criticality label |
Abstract base type for facets
Derived Types:
Property | Type | Description |
---|---|---|
Label | String? | Facet label |
ID | String? | Unique identifier of a facet. ID should be stable, as long as the perceived semantics of the facet is unchanged. |
Applicable Annotation Terms:
Collection of facets
Property | Type | Description |
---|---|---|
Label | String? | Facet label |
ID | String? | Unique identifier of a facet. ID should be stable, as long as the perceived semantics of the facet is unchanged. |
Facets | [Facet] | Nested facets. An empty collection may be used as a placeholder for content added via extension points. |
Applicable Annotation Terms:
Facet that refers to a thing perspective, e.g. LineItem
Property | Type | Description |
---|---|---|
Label | String? | Facet label |
ID | String? | Unique identifier of a facet. ID should be stable, as long as the perceived semantics of the facet is unchanged. |
Target | AnnotationPath | Referenced information: Communication.Contact, Communication.Address, or a term that is tagged with UI.ThingPerspective, e.g. UI.StatusInfo, UI.LineItem, UI.Identification, UI.FieldGroup, UI.Badge Allowed Terms: |
Applicable Annotation Terms:
Facet that refers to a URL
Property | Type | Description |
---|---|---|
Label | String? | Facet label |
ID | String? | Unique identifier of a facet. ID should be stable, as long as the perceived semantics of the facet is unchanged. |
Url | URL | URL of referenced information Applicable Annotation Terms: |
UrlContentType | MediaType? | Media type of referenced information |
Applicable Annotation Terms:
Property | Type | Description |
---|---|---|
ID | String? | Optional identifier to reference this variant from an external context |
Text | String? | Name of the bundling variant |
SelectionVariant | SelectionVariantType | Selection variant, either specified inline or referencing another annotation via Path |
PresentationVariant | PresentationVariantType | Presentation variant, either specified inline or referencing another annotation via Path |
Property | Type | Description |
---|---|---|
ID | String? | Optional identifier to reference this variant from an external context |
Text | String? | Name of the presentation variant |
MaxItems | Int32? | Maximum number of items that should be included in the result |
SortOrder | [SortOrderType] | Collection can be provided inline or as a reference to a Common.SortOrder annotation via Path |
GroupBy | [PropertyPath] | Sequence of groupable properties p1, p2, ... defining how the result is composed of instances representing groups, one for each combination of value properties in the queried collection. The sequence specifies a certain level of aggregation for the queried collection, and every group instance will provide aggregated values for properties that are aggregatable. Moreover, the series of sub-sequences (p1), (p1, p2), ... forms a leveled hierarchy, which may become relevant in combination with InitialExpansionLevel . |
TotalBy | [PropertyPath] | Sub-sequence q1, q2, ... of properties p1, p2, ... specified in GroupBy. With this, additional levels of aggregation are requested in addition to the most granular level defined by GroupBy: Every element in the series of sub-sequences (q1), (q1, q2), ... introduces an additional aggregation level included in the result. |
Total | [PropertyPath] | Aggregatable properties for which aggregated values should be provided for the additional aggregation levels specified in TotalBy. |
DynamicTotal | [AnnotationPath] | Dynamic properties introduced by annotations for which aggregated values should be provided for the additional aggregation levels specified in TotalBy If the annotation referenced by an annotation path does not apply to the same collection of entities as the one being presented according to the UI.PresentationVariant annotation, the annotation path MUST be silently ignored.Allowed Terms: |
IncludeGrandTotal | Boolean | Result should include a grand total for the properties specified in Total |
InitialExpansionLevel | Int32 | Level up to which the hierarchy defined for the queried collection should be expanded initially. The hierarchy may be implicitly imposed by the sequence of the GroupBy, or by an explicit hierarchy annotation. |
Visualizations | [AnnotationPath] | Lists available visualization types. Currently supported types are UI.LineItem , UI.Chart , and UI.DataPoint . For each type, no more than a single annotation is meaningful. Multiple instances of the same visualization type shall be modeled with different presentation variants. A reference to UI.Lineitem should always be part of the collection (least common denominator for renderers). The first entry of the collection is the default visualization.Allowed Terms: |
RecursiveHierarchyQualifier (Experimental) | HierarchyQualifier? | Qualifier of the recursive hierarchy that should be applied to the Visualization |
RequestAtLeast | [PropertyPath] | Properties that should always be included in the result of the queried collection Properties in RequestAtLeast must occur either in the $select clause of an OData request or among the grouping properties in an $apply=groupby((grouping properties),...) clause of an aggregating OData request. |
SelectionFields (Experimental) | [PropertyPath] | Properties that should be presented for filtering a collection of entities. Can be provided inline or as a reference to a UI.SelectionFields annotation via Path. |
Property | Type | Description |
---|---|---|
ID | String? | May contain identifier to reference this instance from an external context |
Text | String? | Name of the selection variant |
Parameters | [ParameterAbstract] | Parameters of the selection variant |
FilterExpression | String? | Filter string for query part of URL, without $filter= |
SelectOptions | [SelectOptionType] | ABAP Select Options Pattern |
Key property of a parameter entity type
Derived Types:
Single-valued parameter
Property | Type | Description |
---|---|---|
PropertyName | PropertyPath | Path to a key property of a parameter entity type |
PropertyValue | PrimitiveType | Value for the key property |
Interval parameter formed with a 'from' and a 'to' property
Property | Type | Description |
---|---|---|
PropertyNameFrom | PropertyPath | Path to the 'from' property of a parameter entity type |
PropertyValueFrom | PrimitiveType | Value for the 'from' property |
PropertyNameTo | PropertyPath | Path to the 'to' property of a parameter entity type |
PropertyValueTo | PrimitiveType | Value for the 'to' property |
List of value ranges for a single property
Exactly one of PropertyName
and DynamicPropertyName
must be present
Property | Type | Description |
---|---|---|
PropertyName | PropertyPath? | Path to the property |
DynamicPropertyName | AnnotationPath? | Dynamic property introduced by annotations for which value ranges are specified If the annotation referenced by the annotation path does not apply to the same collection of entities as the one being filtered according to the UI.SelectionVariant annotation, this instance of UI.SelectionVariant/SelectOptions MUST be silently ignored. For an example, see the UI.SelectionVariant annotation in the example.Allowed Terms: |
Ranges | [SelectionRangeType] | List of value ranges |
Value range. If the range option only requires a single value, the value must be in the property Low
Property | Type | Description |
---|---|---|
Sign | SelectionRangeSignType | Include or exclude values |
Option | SelectionRangeOptionType | Comparison operator |
Low | PrimitiveType | Single value or lower interval boundary |
High | PrimitiveType? | Upper interval boundary |
Member | Value | Description |
---|---|---|
I | 0 | Inclusive |
E | 1 | Exclusive |
Comparison operator
Member | Value | Description |
---|---|---|
EQ | 0 | Equal to |
BT | 1 | Between |
CP | 2 | Contains pattern |
LE | 3 | Less than or equal to |
GE | 4 | Greater than or equal to |
NE | 5 | Not equal to |
NB | 6 | Not between |
NP | 7 | Does not contain pattern |
GT | 8 | Greater than |
LT | 9 | Less than |
Property | Type | Description |
---|---|---|
Mask | String | The mask to be applied to the property or the parameter |
PlaceholderSymbol | String | A single character symbol to be shown where the user can type a character |
Rules | [InputMaskRuleType] | Rules that define valid values for one symbol in the mask The following rules are defined as default and don't need to be listed here: * = ., C = [a-zA-Z], 9 = [0-9] |
Property | Type | Description |
---|---|---|
MaskSymbol | String | A symbol in the mask that stands for a regular expression which must be matched by the user input in every position where this symbol occurs |
RegExp | String | Regular expression that defines the valid values for the mask symbol |
Member | Value | Description |
---|---|---|
TextFirst | 0 | Text is first, followed by the code/ID (e.g. in parentheses) |
TextLast | 1 | Code/ID is first, followed by the text (e.g. separated by a dash) |
TextSeparate | 2 | Code/ID and text are represented separately (code/ID will be shown and text can be visualized in a separate place) |
TextOnly | 3 | Only text is represented, code/ID is hidden (e.g. for UUIDs) |
Property | Type | Description |
---|---|---|
Title | String? | Title of the note The title of a note is hidden with an annotation @UI.Note/Title/@UI.Hidden , not with an annotation on the property targeted by @UI.Note/Title .Applicable Annotation Terms: |
Content | String | Content of the note, as a string The property targeted by @UI.Note/Content must be annotated with Core.MediaType and may be annotated with Common.SAPObjectNodeTypeReference . When it is tagged with Core.IsLanguageDependent , another property of the same entity type that is tagged with Common.IsLanguageIdentifier determines the language of the note.Applicable Annotation Terms: |
Type | String | A type used for grouping notes |
MaximalLength | Int32? | Type-specific maximal length of the content of the note |
MultipleNotes | Boolean | Whether the type allows multiple notes for one object |
Member | Value | Description |
---|---|---|
High | 0 | High importance |
Medium | 1 | Medium importance |
Low | 2 | Low importance |
Elementary building block that represents a piece of data and/or allows triggering an action
By using the applicable terms UI.Hidden, UI.Importance or HTML5.CssDefaults, the visibility, the importance and and the default css settings (as the width) of the data field can be influenced.
Derived Types:
Property | Type | Description |
---|---|---|
Label | String? | A short, human-readable text suitable for labels and captions in UIs |
Criticality | CriticalityType? | Criticality of the data field value |
CriticalityRepresentation | CriticalityRepresentationType? | Decides if criticality is visualized in addition by means of an icon |
IconUrl | URL? | Optional icon |
Applicable Annotation Terms:
Member | Value | Description |
---|---|---|
WithIcon | 0 | Criticality is represented with an icon |
WithoutIcon | 1 | Criticality is represented without icon, e.g. only via text color |
OnlyIcon (Experimental) | 2 | Criticality is represented only by using an icon |
A structured piece of data described by an annotation
Property | Type | Description |
---|---|---|
Label | String? | A short, human-readable text suitable for labels and captions in UIs |
Criticality | CriticalityType? | Criticality of the data field value |
CriticalityRepresentation | CriticalityRepresentationType? | Decides if criticality is visualized in addition by means of an icon |
IconUrl | URL? | Optional icon |
Target | AnnotationPath | Target MUST reference an annotation of terms Communication.Contact, Communication.Address, UI.DataPoint, UI.Chart, UI.FieldGroup, or UI.ConnectedFields Allowed Terms: |
Applicable Annotation Terms:
Triggers an action
Derived Types:
Property | Type | Description |
---|---|---|
Label | String? | A short, human-readable text suitable for labels and captions in UIs |
Criticality | CriticalityType? | Criticality of the data field value |
CriticalityRepresentation | CriticalityRepresentationType? | Decides if criticality is visualized in addition by means of an icon |
IconUrl | URL? | Optional icon |
Inline | Boolean | Action should be placed close to (or even inside) the visualized term |
Determining | Boolean | Determines whether the action completes a process step (e.g. approve, reject). |
Applicable Annotation Terms:
Triggers an OData action
The action is NOT tied to a data value (in contrast to DataFieldWithAction).
Property | Type | Description |
---|---|---|
Label | String? | A short, human-readable text suitable for labels and captions in UIs |
Criticality | CriticalityType? | Criticality of the data field value |
CriticalityRepresentation | CriticalityRepresentationType? | Decides if criticality is visualized in addition by means of an icon |
IconUrl | URL? | Optional icon |
Inline | Boolean | Action should be placed close to (or even inside) the visualized term |
Determining | Boolean | Determines whether the action completes a process step (e.g. approve, reject). |
Action | ActionName | Name of an Action, Function, ActionImport, or FunctionImport in scope |
InvocationGrouping | OperationGroupingType? | Expresses how invocations of this action on multiple instances should be grouped |
Applicable Annotation Terms:
Member | Value | Description |
---|---|---|
Isolated | 0 | Invoke each action in isolation from other actions |
ChangeSet | 1 | Group all actions into a single change set |
Triggers intent-based UI navigation
The navigation intent is expressed as a Semantic Object and optionally an Action on that object.
It is NOT tied to a data value (in contrast to DataFieldWithIntentBasedNavigation).
Property | Type | Description |
---|---|---|
Label | String? | A short, human-readable text suitable for labels and captions in UIs |
Criticality | CriticalityType? | Criticality of the data field value |
CriticalityRepresentation | CriticalityRepresentationType? | Decides if criticality is visualized in addition by means of an icon |
IconUrl | URL? | Optional icon |
Inline | Boolean | Action should be placed close to (or even inside) the visualized term |
Determining | Boolean | Determines whether the action completes a process step (e.g. approve, reject). |
SemanticObject | String | Name of the Semantic Object |
Action | String? | Name of the Action on the Semantic Object. If not specified, let user choose which of the available actions to trigger. |
NavigationAvailable | Boolean | The navigation intent is for that user with the selected context and parameters available |
RequiresContext | Boolean | Determines whether a context needs to be passed to the target of this navigation. |
Mapping | [SemanticObjectMappingType] | Maps properties of the annotated entity type to properties of the Semantic Object |
Applicable Annotation Terms:
Collection of OData actions and intent based navigations
Property | Type | Description |
---|---|---|
Label | String? | A short, human-readable text suitable for labels and captions in UIs |
Criticality | CriticalityType? | Criticality of the data field value |
CriticalityRepresentation | CriticalityRepresentationType? | Decides if criticality is visualized in addition by means of an icon |
IconUrl | URL? | Optional icon |
ID | String? | Identifier of an action group. ID should be stable, as long as the perceived semantics of the action group is unchanged. The ID should be unique among all action groups used in all data fields of one entity type / set. |
Actions | [DataFieldForActionAbstract] | Collection of data fields that refer to actions or intent based navigations |
Applicable Annotation Terms:
A piece of data
Derived Types:
Property | Type | Description |
---|---|---|
Label | String? | A short, human-readable text suitable for labels and captions in UIs |
Criticality | CriticalityType? | Criticality of the data field value |
CriticalityRepresentation | CriticalityRepresentationType? | Decides if criticality is visualized in addition by means of an icon |
IconUrl | URL? | Optional icon |
Value | Untyped Allowed Derived Types:
|
The data field's value |
Applicable Annotation Terms:
A piece of data that allows triggering an OData action
The action is tied to a data value. This is in contrast to DataFieldForAction which is not tied to a specific data value.
Property | Type | Description |
---|---|---|
Label | String? | A short, human-readable text suitable for labels and captions in UIs |
Criticality | CriticalityType? | Criticality of the data field value |
CriticalityRepresentation | CriticalityRepresentationType? | Decides if criticality is visualized in addition by means of an icon |
IconUrl | URL? | Optional icon |
Value | PrimitiveType | The data field's value |
Action | ActionName | Name of an Action, Function, ActionImport, or FunctionImport in scope |
Applicable Annotation Terms:
A piece of data that allows triggering intent-based UI navigation
The navigation intent is expressed as a Semantic Object and optionally an Action on that object.
It is tied to a data value which should be rendered as a hyperlink. This is in contrast to DataFieldForIntentBasedNavigation which is not tied to a specific data value.
Property | Type | Description |
---|---|---|
Label | String? | A short, human-readable text suitable for labels and captions in UIs |
Criticality | CriticalityType? | Criticality of the data field value |
CriticalityRepresentation | CriticalityRepresentationType? | Decides if criticality is visualized in addition by means of an icon |
IconUrl | URL? | Optional icon |
Value | PrimitiveType | The data field's value |
SemanticObject | String | Name of the Semantic Object |
Action | String? | Name of the Action on the Semantic Object. If not specified, let user choose which of the available actions to trigger. |
Mapping | [SemanticObjectMappingType] | Maps properties of the annotated entity type to properties of the Semantic Object |
Applicable Annotation Terms:
A piece of data that allows navigating to related data
It should be rendered as a hyperlink
Property | Type | Description |
---|---|---|
Label | String? | A short, human-readable text suitable for labels and captions in UIs |
Criticality | CriticalityType? | Criticality of the data field value |
CriticalityRepresentation | CriticalityRepresentationType? | Decides if criticality is visualized in addition by means of an icon |
IconUrl | URL? | Optional icon |
Value | PrimitiveType | The data field's value |
Target | NavigationPropertyPath | Contains either a navigation property or a term cast, where term is of type Edm.EntityType or a concrete entity type or a collection of these types |
Applicable Annotation Terms:
A piece of data that allows navigating to other information on the Web
It should be rendered as a hyperlink
Property | Type | Description |
---|---|---|
Label | String? | A short, human-readable text suitable for labels and captions in UIs |
Criticality | CriticalityType? | Criticality of the data field value |
CriticalityRepresentation | CriticalityRepresentationType? | Decides if criticality is visualized in addition by means of an icon |
IconUrl | URL? | Optional icon |
Value | PrimitiveType | The data field's value |
Url | URL | Target of the hyperlink Applicable Annotation Terms: |
UrlContentType | MediaType? | Media type of the hyperlink target, e.g. video/mp4 |
Applicable Annotation Terms:
Collection of OData actions and intent based navigations
Property | Type | Description |
---|---|---|
Label | String? | A short, human-readable text suitable for labels and captions in UIs |
Criticality | CriticalityType? | Criticality of the data field value |
CriticalityRepresentation | CriticalityRepresentationType? | Decides if criticality is visualized in addition by means of an icon |
IconUrl | URL? | Optional icon |
Value | PrimitiveType | The data field's value |
Actions | [DataField] | Collection of data fields that are either DataFieldWithAction, DataFieldWithIntentBasedNavigation, DataFieldWithNavigationPath, or DataFieldWithUrl |
Applicable Annotation Terms:
Type: Byte
Indicates whether a field contains or has a recommended value
Editable fields for which a recommendation has been pre-filled or that have recommendations that differ from existing human input need to be highlighted.
Allowed Value | Description |
---|---|
0 | regular - with human or default input, no recommendation |
1 | highlighted - without human input and with recommendation |
2 | warning - with human or default input and with recommendation |
Reference to a recommendation list
A recommendation consists of one or more values for editable fields plus a rank between 0.0 and 9.9, with 9.9 being the best recommendation.
Property | Type | Description |
---|---|---|
CollectionPath | String | Resource path of a collection of recommended values |
RankProperty | String | Name of the property within the collection of recommended values that describes the rank of the recommendation |
Binding | [RecommendationBinding] | List of pairs of a local property and recommended value property |
Property | Type | Description |
---|---|---|
LocalDataProperty | PropertyPath | Path to editable property for which recommended values exist |
ValueListProperty | String | Path to property in the collection of recommended values. Format is identical to PropertyPath annotations. |
Base type containing recommendations for an entity type property
Property | Type | Description |
---|---|---|
RecommendedFieldValue | PrimitiveType | Recommended value In informal specializations of this base type, this property is specialized to the primitive type of the entity type property. If the recommendation has a description, this property has a Common.Text annotation that evaluates to the RecommendedFieldDescription property. |
RecommendedFieldDescription | String? | Description of the recommended value In informal specializations of this base type, this property is specialized to the string type of the text property corresponding to the entity type property. It is omitted from informal specializations for recommendations without description. |
RecommendedFieldScoreValue | Decimal? | Confidence score of the recommended value |
RecommendedFieldIsSuggestion | Boolean | Whether the recommended value shall be suggested in the input field For any collection of a specialization of PropertyRecommendationType in a property containing Recommendations , this flag can be true in at most one instance of the collection, and only if the RecommendedFieldScoreValue exceeds a certain threshold. |
Type: String
Name of an Action, Function, ActionImport, or FunctionImport in scope
Possible values are
foo.bar
)foo.bar(baz.qux)
)quux
)foo.corge/quux
)