Skip to main content

@Semantics

BETA This annotation is beta and should be reviewed for completion and correctness.

Introduction

The Core engines both on provision- and consumption-side need besides technical metadata also additional semantics for optimized processing. These additional semantics are defined for data processing, analytics and data consumption.

Schema Definitions

Annotations Overview

AnnotationScopeDescription
@Semantics.currencyCodeTypeThe property contains a currency code.
@Semantics.amount.currencyCodeTypeThe element contains an amount. The annotation points to an element containing the currency code.
@Semantics.unitOfMeasureTypeThe property contains a unit of measure.
@Semantics.quantity.unitOfMeasureTypeThe element contains a quantity.
The annotation points to an element containing the unit of measure.
@Semantics.calendar.dayOfMonthType
@Semantics.calendar.dayOfYearType
@Semantics.calendar.weekType
@Semantics.calendar.monthType
@Semantics.calendar.quarterType
@Semantics.calendar.halfyearType
@Semantics.calendar.yearType
@Semantics.calendar.yearWeekType
@Semantics.calendar.yearMonthType
@Semantics.calendar.yearQuarterType
@Semantics.calendar.yearHalfyearType
@Semantics.fiscal.yearVariantType
@Semantics.fiscal.periodType
@Semantics.fiscal.yearType
@Semantics.fiscal.yearPeriodType
@Semantics.fiscal.quarterType
@Semantics.fiscal.yearQuarterType
@Semantics.fiscal.weekType
@Semantics.fiscal.yearWeekType
@Semantics.fiscal.dayOfYearType
@Semantics.languageTypeThe property contains a language code.
@Semantics.timeTypeThis annotation is used to indicate a date semantic for the NVARCHAR-based ABAP type TIMS.
@Semantics.textTypeThe property contains a human-readable text.
@Semantics.uuidTypeTags a field containing a GUID in RAW16 or CHAR32 format.
@Semantics.businessDate.fromTypeThe property contains a date which is the lower boundary of a (validity) interval (for time dependent master data).
@Semantics.businessDate.toTypeThe property contains a date which is the upper boundary of a (validity) interval (for time dependent master data).

@Semantics.currencyCode

The property contains a currency code.

Type: boolean
Constant Value: true
Scope: Type
Extending: BooleanType, StringType, LargeStringType, IntegerType, Integer64Type, DecimalType, DoubleType, DateType, TimeType, DateTimeType, TimestampType, UUIDType, AssociationType, CompositionType, CustomType, TypeDefinition

@Semantics.amount.currencyCode

The element contains an amount. The annotation points to an element containing the currency code.

External Type: Element Reference
Scope: Type
Extending: BooleanType, StringType, LargeStringType, IntegerType, Integer64Type, DecimalType, DoubleType, DateType, TimeType, DateTimeType, TimestampType, UUIDType, AssociationType, CompositionType, CustomType, TypeDefinition

@Semantics.unitOfMeasure

The property contains a unit of measure.

Type: boolean
Constant Value: true
Scope: Type
Extending: BooleanType, StringType, LargeStringType, IntegerType, Integer64Type, DecimalType, DoubleType, DateType, TimeType, DateTimeType, TimestampType, UUIDType, AssociationType, CompositionType, CustomType, TypeDefinition

@Semantics.quantity.unitOfMeasure

The element contains a quantity. The annotation points to an element containing the unit of measure.

External Type: Element Reference
Scope: Type
Extending: BooleanType, StringType, LargeStringType, IntegerType, Integer64Type, DecimalType, DoubleType, DateType, TimeType, DateTimeType, TimestampType, UUIDType, AssociationType, CompositionType, CustomType, TypeDefinition

@Semantics.calendar.dayOfMonth

Type: boolean
Constant Value: true
Scope: Type
Extending: BooleanType, StringType, LargeStringType, IntegerType, Integer64Type, DecimalType, DoubleType, DateType, TimeType, DateTimeType, TimestampType, UUIDType, AssociationType, CompositionType, CustomType, TypeDefinition

@Semantics.calendar.dayOfYear

Type: boolean
Constant Value: true
Scope: Type
Extending: BooleanType, StringType, LargeStringType, IntegerType, Integer64Type, DecimalType, DoubleType, DateType, TimeType, DateTimeType, TimestampType, UUIDType, AssociationType, CompositionType, CustomType, TypeDefinition

@Semantics.calendar.week

Type: boolean
Constant Value: true
Scope: Type
Extending: BooleanType, StringType, LargeStringType, IntegerType, Integer64Type, DecimalType, DoubleType, DateType, TimeType, DateTimeType, TimestampType, UUIDType, AssociationType, CompositionType, CustomType, TypeDefinition

@Semantics.calendar.month

Type: boolean
Constant Value: true
Scope: Type
Extending: BooleanType, StringType, LargeStringType, IntegerType, Integer64Type, DecimalType, DoubleType, DateType, TimeType, DateTimeType, TimestampType, UUIDType, AssociationType, CompositionType, CustomType, TypeDefinition

@Semantics.calendar.quarter

Type: boolean
Constant Value: true
Scope: Type
Extending: BooleanType, StringType, LargeStringType, IntegerType, Integer64Type, DecimalType, DoubleType, DateType, TimeType, DateTimeType, TimestampType, UUIDType, AssociationType, CompositionType, CustomType, TypeDefinition

@Semantics.calendar.halfyear

Type: boolean
Constant Value: true
Scope: Type
Extending: BooleanType, StringType, LargeStringType, IntegerType, Integer64Type, DecimalType, DoubleType, DateType, TimeType, DateTimeType, TimestampType, UUIDType, AssociationType, CompositionType, CustomType, TypeDefinition

@Semantics.calendar.year

Type: boolean
Constant Value: true
Scope: Type
Extending: BooleanType, StringType, LargeStringType, IntegerType, Integer64Type, DecimalType, DoubleType, DateType, TimeType, DateTimeType, TimestampType, UUIDType, AssociationType, CompositionType, CustomType, TypeDefinition

@Semantics.calendar.yearWeek

Type: boolean
Constant Value: true
Scope: Type
Extending: BooleanType, StringType, LargeStringType, IntegerType, Integer64Type, DecimalType, DoubleType, DateType, TimeType, DateTimeType, TimestampType, UUIDType, AssociationType, CompositionType, CustomType, TypeDefinition

@Semantics.calendar.yearMonth

Type: boolean
Constant Value: true
Scope: Type
Extending: BooleanType, StringType, LargeStringType, IntegerType, Integer64Type, DecimalType, DoubleType, DateType, TimeType, DateTimeType, TimestampType, UUIDType, AssociationType, CompositionType, CustomType, TypeDefinition

@Semantics.calendar.yearQuarter

Type: boolean
Constant Value: true
Scope: Type
Extending: BooleanType, StringType, LargeStringType, IntegerType, Integer64Type, DecimalType, DoubleType, DateType, TimeType, DateTimeType, TimestampType, UUIDType, AssociationType, CompositionType, CustomType, TypeDefinition

@Semantics.calendar.yearHalfyear

Type: boolean
Constant Value: true
Scope: Type
Extending: BooleanType, StringType, LargeStringType, IntegerType, Integer64Type, DecimalType, DoubleType, DateType, TimeType, DateTimeType, TimestampType, UUIDType, AssociationType, CompositionType, CustomType, TypeDefinition

@Semantics.fiscal.yearVariant

Type: boolean
Constant Value: true
Scope: Type
Extending: BooleanType, StringType, LargeStringType, IntegerType, Integer64Type, DecimalType, DoubleType, DateType, TimeType, DateTimeType, TimestampType, UUIDType, AssociationType, CompositionType, CustomType, TypeDefinition

@Semantics.fiscal.period

Type: boolean
Constant Value: true
Scope: Type
Extending: BooleanType, StringType, LargeStringType, IntegerType, Integer64Type, DecimalType, DoubleType, DateType, TimeType, DateTimeType, TimestampType, UUIDType, AssociationType, CompositionType, CustomType, TypeDefinition

@Semantics.fiscal.year

Type: boolean
Constant Value: true
Scope: Type
Extending: BooleanType, StringType, LargeStringType, IntegerType, Integer64Type, DecimalType, DoubleType, DateType, TimeType, DateTimeType, TimestampType, UUIDType, AssociationType, CompositionType, CustomType, TypeDefinition

@Semantics.fiscal.yearPeriod

Type: boolean
Constant Value: true
Scope: Type
Extending: BooleanType, StringType, LargeStringType, IntegerType, Integer64Type, DecimalType, DoubleType, DateType, TimeType, DateTimeType, TimestampType, UUIDType, AssociationType, CompositionType, CustomType, TypeDefinition

@Semantics.fiscal.quarter

Type: boolean
Constant Value: true
Scope: Type
Extending: BooleanType, StringType, LargeStringType, IntegerType, Integer64Type, DecimalType, DoubleType, DateType, TimeType, DateTimeType, TimestampType, UUIDType, AssociationType, CompositionType, CustomType, TypeDefinition

@Semantics.fiscal.yearQuarter

Type: boolean
Constant Value: true
Scope: Type
Extending: BooleanType, StringType, LargeStringType, IntegerType, Integer64Type, DecimalType, DoubleType, DateType, TimeType, DateTimeType, TimestampType, UUIDType, AssociationType, CompositionType, CustomType, TypeDefinition

@Semantics.fiscal.week

Type: boolean
Constant Value: true
Scope: Type
Extending: BooleanType, StringType, LargeStringType, IntegerType, Integer64Type, DecimalType, DoubleType, DateType, TimeType, DateTimeType, TimestampType, UUIDType, AssociationType, CompositionType, CustomType, TypeDefinition

@Semantics.fiscal.yearWeek

Type: boolean
Constant Value: true
Scope: Type
Extending: BooleanType, StringType, LargeStringType, IntegerType, Integer64Type, DecimalType, DoubleType, DateType, TimeType, DateTimeType, TimestampType, UUIDType, AssociationType, CompositionType, CustomType, TypeDefinition

@Semantics.fiscal.dayOfYear

Type: boolean
Constant Value: true
Scope: Type
Extending: BooleanType, StringType, LargeStringType, IntegerType, Integer64Type, DecimalType, DoubleType, DateType, TimeType, DateTimeType, TimestampType, UUIDType, AssociationType, CompositionType, CustomType, TypeDefinition

@Semantics.language

The property contains a language code.

Type: boolean
Constant Value: true
Scope: Type
Extending: BooleanType, StringType, LargeStringType, IntegerType, Integer64Type, DecimalType, DoubleType, DateType, TimeType, DateTimeType, TimestampType, UUIDType, AssociationType, CompositionType, CustomType, TypeDefinition

@Semantics.time

This annotation is used to indicate a date semantic for the NVARCHAR-based ABAP type TIMS.

Type: boolean
Constant Value: true
Scope: Type
Extending: BooleanType, StringType, LargeStringType, IntegerType, Integer64Type, DecimalType, DoubleType, DateType, TimeType, DateTimeType, TimestampType, UUIDType, AssociationType, CompositionType, CustomType, TypeDefinition

@Semantics.text

The property contains a human-readable text.

Type: boolean
Constant Value: true
Scope: Type
Extending: BooleanType, StringType, LargeStringType, IntegerType, Integer64Type, DecimalType, DoubleType, DateType, TimeType, DateTimeType, TimestampType, UUIDType, AssociationType, CompositionType, CustomType, TypeDefinition

@Semantics.uuid

Tags a field containing a GUID in RAW16 or CHAR32 format.

Type: boolean
Constant Value: true
Scope: Type
Extending: BooleanType, StringType, LargeStringType, IntegerType, Integer64Type, DecimalType, DoubleType, DateType, TimeType, DateTimeType, TimestampType, UUIDType, AssociationType, CompositionType, CustomType, TypeDefinition

@Semantics.businessDate.from

The property contains a date which is the lower boundary of a (validity) interval (for time dependent master data).

Type: boolean
Constant Value: true
Scope: Type
Extending: BooleanType, StringType, LargeStringType, IntegerType, Integer64Type, DecimalType, DoubleType, DateType, TimeType, DateTimeType, TimestampType, UUIDType, AssociationType, CompositionType, CustomType, TypeDefinition

@Semantics.businessDate.to

The property contains a date which is the upper boundary of a (validity) interval (for time dependent master data).

Type: boolean
Constant Value: true
Scope: Type
Extending: BooleanType, StringType, LargeStringType, IntegerType, Integer64Type, DecimalType, DoubleType, DateType, TimeType, DateTimeType, TimestampType, UUIDType, AssociationType, CompositionType, CustomType, TypeDefinition