Skip to content

Latest commit

 

History

History
414 lines (314 loc) · 49 KB

Common.md

File metadata and controls

414 lines (314 loc) · 49 KB

Common Vocabulary

Namespace: com.sap.vocabularies.Common.v1

Common terms for all SAP vocabularies

Terms

Term Type Description
Experimental String? Terms, types, and properties annotated with this term are experimental and can be changed incompatibly or removed completely any time without prior warning.

Do not use or rely on experimental terms, types, and properties in production environments.

ServiceVersion Int32? 1 for first version of a service, incremented when schema changes incompatibly and service is published with a different URI
ServiceSchemaVersion Int32? 0 for first schema version within a service version, incremented when schema changes compatibly
Label String? A short, human-readable text suitable for labels and captions in UIs
Heading String? A short, human-readable text suitable for column headings in UIs
QuickInfo String? A short, human-readable text suitable for tool tips in UIs
Text String? A descriptive text for values of the annotated property. Value MUST be a dynamic expression when used as metadata annotation.
TextFor (Experimental) PropertyPath? The annotated property contains a descriptive text for values of the referenced property.
IsLanguageIdentifier (Experimental) Tag An identifier to distinguish multiple texts in different languages for the same entity
TextFormat TextFormatType? Human-readable text that may contain formatting information
IsDigitSequence Tag Contains only digits
IsUpperCase Tag Contains just uppercase characters
IsCurrency Tag Annotated property or parameter is a currency code
IsUnit Tag Annotated property or parameter is a unit of measure
UnitSpecificScale PrimitiveType? The number of fractional decimal digits of a currency amount or measured quantity

The annotated property contains a currency code or unit of measure, and the annotation value specifies the default scale of numeric values with that currency code or unit of measure. Can be used in e.g. a list of available currency codes or units of measure, or a list of measuring devices to specify the number of fractional digits captured by that device.

UnitSpecificPrecision (Experimental) PrimitiveType? The number of significant decimal digits of a currency amount or measured quantity

The annotated property contains a currency code or unit of measure, and the annotation value specifies the default precision of numeric values with that currency code or unit of measure. Can be used in e.g. a list of available currency codes or units of measure, or a list of measuring devices to specify the number of significant digits captured by that device.

SecondaryKey (Deprecated) [PropertyPath] Use term AlternateKeys from the OASIS Core vocabulary instead
MinOccurs Int64? The annotated set or collection contains at least this number of items
MaxOccurs Int64? The annotated set or collection contains at most this number of items
AssociationEntity [NavigationPropertyPath] Entity representing an n:m association with attributes
DerivedNavigation NavigationPropertyPath? Shortcut for a multi-segment navigation, contains the long path with all its segments
Masked (Deprecated) Tag Use terms MaskedValue and MaskedAlways instead
MaskedValue (Experimental) String? Property contains sensitive data that is by default not transferred

By default a masked property is excluded from responses and instead an instance annotation with this term is sent, containing a masked value that can be rendered by user interfaces.

MaskedAlways (Experimental) Tag Property contains sensitive data that is by default not transferred

If the annotation evaluates to true, the unmasked property value is never transferred in responses.
If the annotation evaluates to false, the unmasked property value can be requested with the custom query option masked-values=false.

SemanticObject String? Name of the Semantic Object represented as this entity type or identified by this property
SemanticObjectMapping [SemanticObjectMappingType] Maps properties of the annotated entity type or sibling properties of the annotated property to properties of the Semantic Object

This allows "renaming" of properties in the current context to match property names of the Semantic Object, e.g. SenderPartyID to PartyID. Only properties explicitly listed in the mapping are renamed, all other properties are available for intent-based navigation with their "local" name.

SemanticObjectUnavailableActions [String] List of actions that are not available in the current state of the instance of the Semantic Object
IsInstanceAnnotation Tag Term can also be used as instance annotation; AppliesTo of this term specifies where it can be applied
FilterExpressionRestrictions (Deprecated) [FilterExpressionRestrictionType] Use term Capabilities.FilterRestrictions instead
FieldControl FieldControlType? Control state of a property

This term can be used for static field control, providing an enumeration member value in $metadata, as well as dynamically, providing a Path expression.
In the dynamic case the property referenced by the Path expression MUST be of type Edm.Byte to accommodate OData V2 services as well as V4 infrastructures that don't support enumeration types.

ExceptionCategory (Experimental) String? A machine-readable exception category
Application (Experimental) ApplicationType? ...
Timestamp (Experimental) DateTimeOffset? ...
TransactionId (Experimental) String? ...
ErrorResolution (Experimental) ErrorResolutionType? Hints for resolving this error
Messages [ComplexType] Collection of end-user messages

The name of the message type is service-specific, its structure components are identified by naming convention, following the names of the OData error response structure.
The minimum structure is
- code: Edm.String
- message: Edm.String
- target: Edm.String nullable
- additionalTargets: Collection(Edm.String)
- transition: Edm.Boolean
- numericSeverity: Edm.Byte
- longtextUrl: Edm.String nullable

additionalTargets (Experimental) [String] Additional targets for the message

This instance annotation can be applied to the error object and the objects within the details array of an OData error response

longtextUrl (Experimental) URL Location of the message long text

This instance annotation can be applied to the error object and the objects within the details array of an OData error response

numericSeverity (Experimental) NumericMessageSeverityType Classifies an end-user message as info, success, warning, or error

This instance annotation can be applied to the error object and the objects within the details array of an OData error response

MaximumNumericMessageSeverity (Experimental) NumericMessageSeverityType? The maximum severity of all end-user messages attached to an entity, null if no messages are attached

This metadata annotation can be applied to entity types that are also annotated with term Common.Messages

IsActionCritical Boolean Criticality of the function or action to enforce a warning or similar before it's executed
Attributes [PropertyPath] Attributes related to this property, which may occur in denormalized entity types
RelatedRecursiveHierarchy AnnotationPath? A recursive hierarchy related to this property. The annotation path must end in Aggregation.RecursiveHierarchy.
Interval IntervalType? An interval with lower and upper boundaries described by two properties
ResultContext Tag The annotated entity type has one or more containment navigation properties. An instance of the annotated entity type provides the context required for determining the target entity sets reached by these containment navigation properties.
WeakReferentialConstraint (Experimental) WeakReferentialConstraintType? A referential constraint to a reference set that is not reachable via a navigation property

A weak referential constraint can be used in cases where the reference service cannot be located at design-time

IsNaturalPerson Tag The annotated entity type (e.g. Employee) or annotation (e.g. IsImageUrl) represents a natural person
ValueList ValueListType? Specifies how to get a list of acceptable values for a property or parameter

The value list can be based on user input that is passed in the value list request. The value list can be used for type-ahead and classical pick lists.

ValueListRelevantQualifiers (Experimental) [SimpleIdentifier] List of qualifiers of relevant ValueList annotations

The value of this annotation is a dynamic expression for calculating the qualifiers of relevant value lists depending on the values of one or more other properties.

ValueListWithFixedValues Tag If specified as true, there's only one value list mapping and its value list consists of a small number of fixed values
ValueListForValidation (Experimental) String Contains the qualifier of the ValueList or ValueListMapping that should be used for validation
ValueListReferences [URL] A list of URLs of CSDL documents containing value list mappings for this parameter or property
ValueListMapping ValueListMappingType? Specifies the mapping between data service properties and value list properties

The value list can be filtered based on user input. It can be used for type-ahead and classical pick lists. There may be many alternative mappings with different qualifiers.

IsCalendarYear Tag Property encodes a year number as string following the logical pattern (-?)YYYY(Y*) consisting of an optional minus sign for years B.C. followed by at least four digits. The string matches the regex pattern -?([1-9][0-9]{3,}|0[0-9]{3})
IsCalendarHalfyear Tag Property encodes a halfyear number as string following the logical pattern H consisting of a single digit. The string matches the regex pattern [1-2]
IsCalendarQuarter Tag Property encodes a calendar quarter number as string following the logical pattern Q consisting of a single digit. The string matches the regex pattern [1-4]
IsCalendarMonth Tag Property encodes a calendar month number as string following the logical pattern MM consisting of two digits. The string matches the regex pattern 0[1-9]|1[0-2]
IsCalendarWeek Tag Property encodes a calendar week number as string following the logical pattern WW consisting of two digits. The string matches the regex pattern 0[1-9]|[1-4][0-9]|5[0-3]
IsDayOfCalendarMonth Tag Day number relative to a calendar month. Valid values are between 1 and 31.
IsDayOfCalendarYear Tag Day number relative to a calendar year. Valid values are between 1 and 366.
IsCalendarYearHalfyear Tag Property encodes a calendar year and halfyear as string following the logical pattern (-?)YYYY(Y*)H consisting of an optional minus sign for years B.C. followed by at least five digits, where the last digit represents the halfyear. The string matches the regex pattern -?([1-9][0-9]{3,}|0[0-9]{3})[1-2]
IsCalendarYearQuarter Tag Property encodes a calendar year and quarter as string following the logical pattern (-?)YYYY(Y*)Q consisting of an optional minus sign for years B.C. followed by at least five digits, where the last digit represents the quarter. The string matches the regex pattern -?([1-9][0-9]{3,}|0[0-9]{3})[1-4]
IsCalendarYearMonth Tag Property encodes a calendar year and month as string following the logical pattern (-?)YYYY(Y*)MM consisting of an optional minus sign for years B.C. followed by at least six digits, where the last two digits represent the months January to December. The string matches the regex pattern -?([1-9][0-9]{3,}|0[0-9]{3})(0[1-9]|1[0-2])
IsCalendarYearWeek Tag Property encodes a calendar year and week as string following the logical pattern (-?)YYYY(Y*)WW consisting of an optional minus sign for years B.C. followed by at least six digits, where the last two digits represent week number in the year. The string matches the regex pattern -?([1-9][0-9]{3,}|0[0-9]{3})(0[1-9]|[1-4][0-9]|5[0-3])
IsCalendarDate Tag Property encodes a calendar date: year, month and day as string following the logical pattern (-?)YYYY(Y*)MMDD consisting of an optional minus sign for years B.C. followed by at least eight digits, where the last four digits represent the months January to December (MM) and the day of the month (DD). The string matches the regex pattern -?([1-9][0-9]{3,}|0[0-9]{3})(0[1-9]|1[0-2])(0[1-9]|[12][0-9]|3[01]) The regex pattern does not reflect the additional constraint for "Day-of-month Values": The day value must be no more than 30 if month is one of 04, 06, 09, or 11, no more than 28 if month is 02 and year is not divisible by 4, or is divisible by 100 but not by 400, and no more than 29 if month is 02 and year is divisible by 400, or by 4 but not by 100.
IsFiscalYear Tag Property encodes a fiscal year number as string following the logical pattern YYYY(Y*) consisting of at least four digits. The string matches the regex pattern [1-9][0-9]{3,}
IsFiscalPeriod Tag Property encodes a fiscal period as string following the logical pattern PPP consisting of three digits. The string matches the regex pattern [0-9]{3}
IsFiscalYearPeriod Tag Property encodes a fiscal year and period as string following the logical pattern YYYY(Y*)PPP consisting of at least seven digits, where the last three digits represent the fiscal period in the year. The string matches the regex pattern ([1-9][0-9]{3,})([0-9]{3})
IsFiscalQuarter Tag Property encodes a fiscal quarter number as string following the logical pattern Q consisting of a single digit. The string matches the regex pattern [1-4]
IsFiscalYearQuarter Tag Property encodes a fiscal year and quarter as string following the logical pattern (-?)YYYY(Y*)Q consisting of an optional minus sign for years B.C. followed by at least five digits, where the last digit represents the quarter. The string matches the regex pattern -?([1-9][0-9]{3,}|0[0-9]{3})[1-4]
IsFiscalWeek Tag Property encodes a fiscal week number as string following the logical pattern WW consisting of two digits. The string matches the regex pattern 0[1-9]|[1-4][0-9]|5[0-3]
IsFiscalYearWeek Tag Property encodes a fiscal year and week as string following the logical pattern (-?)YYYY(Y*)WW consisting of an optional minus sign for years B.C. followed by at least six digits, where the last two digits represent week number in the year. The string matches the regex pattern -?([1-9][0-9]{3,}|0[0-9]{3})(0[1-9]|[1-4][0-9]|5[0-3])
IsDayOfFiscalYear Tag Day number relative to a fiscal year. Valid values are between 1 and 371.
IsFiscalYearVariant Tag Property encodes a fiscal year variant
MutuallyExclusiveTerm Tag Only one term of the group identified with the Qualifier attribute can be applied
DraftRoot DraftRootType? Root entities of business documents that support the draft pattern
DraftNode DraftNodeType? Entities in this set are parts of business documents that support the draft pattern
DraftActivationVia [SimpleIdentifier] Draft entities in this set are indirectly activated via draft entities in the referenced entity sets
EditableFieldFor PropertyPath? The annotated property is an editable field for the referenced key property
SemanticKey [PropertyPath] The listed properties form the semantic key, i.e. they are unique modulo IsActiveEntity
SideEffects SideEffectsType? Describes side-effects of modification operations
DefaultValuesFunction (Experimental) QualifiedName? Function to calculate default values based on user input that is only known to the client and "context information" that is already available to the service

The default values function must have a bound overload whose binding parameter type matches the annotation target
- for an entity set: collection of entity type of entity set
- for a navigation property: identical to the type of the navigation property (single- or collection-valued)
- for a bound action/function: identical to the binding parameter type of the annotated action/function
In addition the overload can have non-binding parameters for values that the user has already entered:
- for an entity set or navigation property: each non-binding parameter name and type must match the name and type of a property of the entity to be created
- for an action or function: each non-binding parameter name and type must match the name and type of a non-binding parameter of the action or function to be called
The result type of the default values function is a complex type whose properties correspond in name and type to a subset of
- the properties of the entity to create, or
- the parameters of the action or function to call

DerivedDefaultValue (Experimental) String? Function import to derive a default value for the property from a given context.

Function import has two parameters of complex types:
- parameters, a structure resembling the entity type the parameter entity set related to the entity set of the annotated property
- properties, a structure resembling the type of the entity set of the annotated property
The return type must be of the same type as the annotated property.
Arguments passed to the function import are used as context for deriving the default value. The function import returns this default value, or null in case such a value could not be determined.

FilterDefaultValue PrimitiveType? A default value for the property to be used in filter expressions.
FilterDefaultValueHigh (Experimental) PrimitiveType? A default upper limit for the property to be used in 'less than or equal' filter expressions.
DerivedFilterDefaultValue (Experimental) String? Function import to derive a default value for the property from a given context in order to use it in filter expressions.

Function import has two parameters of complex types:
- parameters, a structure resembling the entity type the parameter entity set related to the entity set of the annotated property
- properties, a structure resembling the type of the entity set of the annotated property
The return type must be of the same type as the annotated property.
Arguments passed to the function import are used as context for deriving the default value. The function import returns this default value, or null in case such a value could not be determined.

SortOrder [SortOrderType] List of sort criteria

The items of the annotated entity set or the items of the collection of the annotated entity type are sorted by the first entry of the SortOrder collection. Items with same value for this first sort criteria are sorted by the second entry of the SortOrder collection, and so on.

RecursiveHierarchy RecursiveHierarchyType? Defines a recursive hierarchy.
CreatedAt DateTimeOffset? Creation timestamp
CreatedBy UserID? First editor
ChangedAt DateTimeOffset? Last modification timestamp
ChangedBy UserID? Last editor
OriginalProtocolVersion String? Original protocol version of a converted (V4) CSDL document, allowed values 2.0 and 3.0
ApplyMultiUnitBehaviorForSortingAndFiltering (Experimental) Tag Sorting and filtering of amounts in multiple currencies needs special consideration

TODO: add link to UX documentation on https://experience.sap.com/fiori-design/

Member Value Description
plain 0 Plain text, line breaks represented as the character 0x0A
html 1 Plain text with markup that can validly appear directly within an HTML DIV element

Maps a property of the annotated entity type or a sibling property of the annotated property to a property of the Semantic Object

Property Type Description
LocalProperty PropertyPath Path to a local property that provides the value for the Semantic Object property
SemanticObjectProperty String Name of the Semantic Object property
Property Type Description
Property PropertyPath?
AllowedExpressions FilterExpressionType?
Member Value Description
SingleValue 0 a single 'eq' clause
MultiValue 1 one or more 'eq' clauses, separated by 'or'
SingleInterval 2 at most one 'ge' and one 'le' clause, separated by 'and', alternatively a single 'eq' clause

Control state of a property

Member Value Description
Mandatory 7 Property is mandatory from a business perspective

This annotation value does not imply any restrictions on the value range of the property. For restricting the value range use e.g. the standard type facet Nullable with a value of false to exclude the null value, or terms from the Validation vocabulary.

Optional 3 Property may have a value

This value does not make sense as a static annotation value.

ReadOnly 1 Property value cannot be changed

To statically mark a property as read-only use term Core.Computed instead

Inapplicable 0 Property has no meaning in the current entity state

This value does not make sense as a static annotation value.
Example for dynamic use: in a travel expense report the property DestinationCountry is inapplicable if trip type is domestic, and mandatory if trip type is international.

Hidden 0 Deprecated synonymn for Inapplicable, do not use

To statically hide a property on a UI use UI.Hidden instead

Property Type Description
Component String? Software component of service implementation
ServiceRepository String? ...
ServiceId String? ...
ServiceVersion String? ...
Property Type Description
Analysis String? Short hint on how to analyze this error
Note String? Note for error resolution
AdditionalNote String? Additional note for error resolution

Type: Byte

Classifies an end-user message as info, success, warning, or error

Allowed Value Description
1 Success - no action required
2 Information - no action required
3 Warning - action may be required
4 Error - action is required
Property Type Description
LowerBoundary PropertyPath Property holding the lower interval boundary
LowerBoundaryIncluded Boolean The lower boundary value is included in the interval
UpperBoundary PropertyPath Property holding the upper interval boundary
UpperBoundaryIncluded Boolean The upper boundary value is included in the interval
Property Type Description
ReferenceRoot String URI of the service containing the reference set

Need not be a uniform resource locator, for cases where the actual location of the reference service is not static or not known at design-time.

ReferencePath String Resource path of an OData collection with reference values, relative to ReferenceRoot
ForeignKeys [ForeignKeyType] Instructions on how to construct the value list request and consume response properties
Property Type Description
Property PropertyPath Path to property of the annotated entity set
ReferencedProperty String Path to property in reference set, format is identical to PropertyPath annotations
Property Type Description
Label String? Headline for value list, fallback is the label of the property or parameter
QuickInfo (Experimental) String? Short text for value list that might be suitable for e.g. tool tips, fallback is the quickinfo of the property or parameter
CollectionPath String Resource path of an OData collection with possible values, relative to CollectionRoot
CollectionRoot String? Service root of the value list collection; not specified means local to the document containing the annotation
SearchSupported Boolean Value list supports the $search query option

The value of the target property is used as the search expression instead of in $filter

FetchValues FetchValuesType? Hint on when to fetch values
PresentationVariantQualifier SimpleIdentifier? Alternative representation of a value help, e.g. as a bar chart

Qualifier for annotation with term UI.PresentationVariant on the entity set identified via CollectionPath

SelectionVariantQualifier SimpleIdentifier? Optional combination of parameters and filters to query the value help entity set

Qualifier for annotation with term UI.SelectionVariant on the entity set identified via CollectionPath

Parameters [ValueListParameter] Instructions on how to construct the value list request and consume response properties

Type: Byte

Hint on when to fetch values

Allowed Value Description
1 Fetch values immediately without filter
2 Fetch values with a filter
Property Type Description
Label String? Headline for value list, fallback is the label of the property or parameter
QuickInfo (Experimental) String? Short text for value list that might be suitable for e.g. tool tips, fallback is the quickinfo of the property or parameter
CollectionPath String Resource path of an OData collection with possible values, relative to the document containing the value list mapping
FetchValues FetchValuesType? Hint on when to fetch values
PresentationVariantQualifier SimpleIdentifier? Alternative representation of a value help, e.g. as a bar chart

Qualifier for annotation with term UI.PresentationVariant on the value list entity set identified via CollectionPath in the ValueListReference annotation

SelectionVariantQualifier SimpleIdentifier? Optional combination of parameters and filters to query the value help entity set

Qualifier for annotation with term UI.SelectionVariant on the entity set identified via CollectionPath

Parameters [ValueListParameter] Instructions on how to construct the value list request and consume response properties

Derived Types:

Property Type Description
ValueListProperty String Path to property in the value list . Format is identical to PropertyPath annotations.
Property Type Description
ValueListProperty String Path to property in the value list . Format is identical to PropertyPath annotations.
LocalDataProperty PropertyPath Path to property that is used to filter the value list with eq comparison
InitialValueIsSignificant (Experimental) Boolean Initial value, e.g. empty string, is a valid and significant value
Property Type Description
ValueListProperty String Path to property in the value list . Format is identical to PropertyPath annotations.
Constant PrimitiveType Constant value that is used to filter the value list with eq comparison, using the same representation as property default values, see CSDL XML, 7.2.7 Default Value
Property Type Description
ValueListProperty String Path to property in the value list . Format is identical to PropertyPath annotations.
LocalDataProperty PropertyPath Path to property that is used to filter the value list with startswith comparison and filled from the picked value list item
InitialValueIsSignificant (Experimental) Boolean Initial value, e.g. empty string, is a valid and significant value

Applicable Annotation Terms:

Property Type Description
ValueListProperty String Path to property in the value list . Format is identical to PropertyPath annotations.
LocalDataProperty PropertyPath Path to property that is filled from response

Applicable Annotation Terms:

Value list property that is not used to fill the edited entity

Property Type Description
ValueListProperty String Path to property in the value list . Format is identical to PropertyPath annotations.

Applicable Annotation Terms:

Value list property that is used to filter the value list, not connected to the edited entity

Property Type Description
ValueListProperty String Path to property in the value list . Format is identical to PropertyPath annotations.
Property Type Description
PreparationAction (Deprecated) QualifiedName? Use TriggerAction of SideEffects annotation instead
ValidationFunction (Deprecated) QualifiedName? Separate validation without side-effects is not useful
ActivationAction QualifiedName Action that activates a draft document
DiscardAction (Experimental) QualifiedName? Action that discards a draft document
EditAction QualifiedName? Action that creates an edit draft
NewAction QualifiedName? Action that creates a new draft

New drafts may also be created by POSTing an empty entity without any properties to the entity set.

AdditionalNewActions (Experimental) [QualifiedName] Additional actions that create a new draft

Additional actions beside the default POST or standard NewAction that create a new draft.

Derived Types:

Property Type Description
PreparationAction (Deprecated) QualifiedName? Use TriggerAction of SideEffects annotation instead
ValidationFunction (Deprecated) QualifiedName? Separate validation without side-effects is not useful

Type: String

The SimpleIdentifier of an OData construct in scope

Type: String

The QualifiedName of an OData construct in scope

Type: String

The qualified name of an action with an optional overload

The qualified name of an action optionally followed by parentheses containing the binding parameter type of a bound action overload to identify that bound overload, or by empty parentheses to identify the unbound overload.

Changes to the source properties or source entities may have side-effects on the target properties or entities.

If neither TargetProperties nor TargetEntities are specified, a change to the source property values may have unforeseeable side-effects. An empty NavigationPropertyPath may be used in TargetEntities to specify that any property of the annotated entity type may be affected.

Side effects without a TriggerAction happen immediately when modifying one of the source properties or source entities. Side effects with a TriggerAction are deferred until explicitly triggered via the TriggerAction.

Special case where the side effect is annotated on an action: here the change trigger is the action invocation, so SourceProperties and SourceEntities have no meaning, only TargetProperties and TargetEntities are relevant. They are addressed via the binding parameter of the action, e.g. if the binding parameter is named _it, all paths have to start with _it/.

Property Type Description
SourceProperties [PropertyPath] Changes to the values of one or more of these structural properties may affect the targets
SourceEntities [NavigationPropertyPath] Changes to one or more of these entities may affect the targets. An empty path means the annotation target.
TargetProperties [String] These structural properties may be affected if the value of one of the sources changes

The syntax follows closely the syntax rules for Edm.PropertyPath, with the addition of * as the last path segment meaning all structural properties directly reached via the preceding path

TargetEntities [NavigationPropertyPath] These entities will be affected if the value of one of the sources changes. All affected entities need to be explicitly listed. An empty path means the annotation target.
EffectTypes (Deprecated) EffectType? All side effects are essentially value changes, differentiation not needed.
TriggerAction QualifiedName? Bound action to trigger side-effects after modifying an entity

Binding parameter type of the trigger action is the entity type annotated with SideEffects. The action does not have any additional parameters and does not return anything. It either succeeds with 204 No Content or it fails with 4xx or 5xx.

TriggeredIndicator (Experimental) Boolean? Indicates whether the side-effect has already happened

The value of this property typically is a Path expression pointing to a boolean property. It can be used by clients to defer expensive refresh calls until they are actually needed and instead just request the referenced indicator property. Servers can choose to return indicator properties even if not explicitly requested.

EffectType (Deprecated)

Flag Member Value Description
ValidationMessage 1 Validation messages are assigned to a target

This side effect type indicates that validation messages may result from changes of source properties or entities. Thus, a validation request can be sent either in conjunction with or separately after a modifying request. Validation messages shall be persisted with the draft and immediately available in a subsequent request without repeating the validation logic.

ValueChange 2 The value of a target changes

This side effect type declares that changes to source properties or entities may impact the values of any, one or multiple target properties or entities. Upon modification preparation logic is performed that determines additional values to be stored in the draft document.

FieldControlChange 4 The value of the Common.FieldControl annotation of a target changes

This side effect type specifies that source properties or entities may impact the dynamic field control state of any, one or multiple target properties or entities. Upon modification field control logic is invoked so that meta-information like hidden or read-only is determined.

Property Type Description
Property PropertyPath Sort property
Descending Boolean? Sort direction, ascending if not specified otherwise
Property Type Description
ExternalNodeKeyProperty PropertyPath? Property holding the external human-readable key identifying the node
NodeDescendantCountProperty PropertyPath? Property holding the descendant count for a hierarchy node. The descendant count of a node is the number of its descendants in the hierarchy structure of the result considering only those nodes matching any specified $filter and $search. A property holding descendant counts has an integer data type.
NodeDrillStateProperty PropertyPath? Property holding the drill state of a hierarchy node. The drill state is indicated by one of the following string values: collapsed, expanded, or leaf. For an expanded node, its children are included in the result collection. For a collapsed node, the children are included in the entity set, but they are not part of the result collection. Retrieving them requires a relaxed filter expression or a separate request filtering on the parent node ID with the ID of the collapsed node. A leaf does not have any child in the entity set.

Type: String

User ID