ABAP Keyword Documentation → ABAP - Dictionary → ABAP CDS in ABAP Dictionary → ABAP CDS - Annotations → ABAP CDS - SAP Annotations → ABAP CDS - Framework-Specific Annotations
ABAP CDS - Framework-Specific Annotation Definitions
The following DDLA source code shows the CDS annotation definitions in all framework-specific annotations in CDS DDL and CDS DCL in ABAP CDS.
- The meaning of the DDLA source code shown here can be found in the documentation for DEFINE ANNOTATION.
- The semantics of the annotations can be found in the links in the DDLA source code.
The documentation CDS Annotations summarizes the descriptions of the framework-specific annotations.
Other versions:
7.31 | 7.40 | 7.54
AccessControl-Annotations
annotation AccessControl
{
@CompatibilityContract: {
c1: { usageAllowed: true },
c1: {
allowedChanges: { annotation: [#ADD ],
value: [#ANY ]
}
},
c2: { usageAllowed: true },
c2: {
allowedChanges: { annotation: [#ADD ],
value: [#ANY ]
}
}
}
@API.state: [#RELEASED_FOR_SAP_CLOUD_PLATFORM]
authorizationCheck : String(20) enum { NOT_REQUIRED; NOT_ALLOWED; CHECK; PRIVILEGED_ONLY; } default #CHECK;
@CompatibilityContract: {
c1: { usageAllowed: true },
c1: {
allowedChanges: { annotation: [#ADD, #REMOVE ],
value: [#ANY ]
}
},
c2: { usageAllowed: true },
c2: {
allowedChanges: { annotation: [#ADD, #REMOVE ],
value: [#ANY ]
}
}
}
privilegedAssociations: array of AssociationRef;
@Scope: [ #VIEW ]
@CompatibilityContract: {
c1: { usageAllowed: true },
c1: {
allowedChanges: { annotation: [#ADD, #REMOVE ],
value: [#ANY ]
}
},
c2: { usageAllowed: true },
c2: {
allowedChanges: { annotation: [#ADD, #REMOVE ],
value: [#ANY ]
}
}
}
@API.state: [#RELEASED_FOR_SAP_CLOUD_PLATFORM]
auditing
{
type
: String(20) enum { CUSTOM;};
specification
: String(1000);
}
@CompatibilityContract: {
c1: { usageAllowed: true },
c1: {
allowedChanges: { annotation: [#ADD ],
value: [#ANY ]
}
},
c2: { usageAllowed: true },
c2: {
allowedChanges: { annotation: [#ADD ],
value: [#ANY ]
}
}
}
personalData
{
blocking : String(30) enum { NOT_REQUIRED; REQUIRED; BLOCKED_DATA_EXCLUDED; };
blockingIndicator : array of ElementRef;
};
@CompatibilityContract: {
c1: { usageAllowed: true,
allowedChanges.annotation: [ #ANY ],
allowedChanges.value: [ #ANY ] },
c2: { usageAllowed: true,
allowedChanges.annotation: [ #ANY ],
allowedChanges.value: [ #ANY ] }
}
@MetadataExtension.usageAllowed: true
@Scope: [#VIEW,#ELEMENT,#PARAMETER, #HIERARCHY]
readAccess {
logging {
logdomain: array of
{
area: String(30);
domain: String(30);
}
@Scope: [#VIEW]
output: Boolean;
}
};
};
Aggregation-Annotations
@API.state: [#RELEASED_FOR_SAP_CLOUD_PLATFORM]
annotation Aggregation
{
default: String(30) enum
{
NONE;
SUM;
MIN;
MAX;
AVG;
COUNT_DISTINCT;
NOP;
FORMULA;
};
exception : String( 30) enum
{
SUM;
MIN;
MAX;
AVG;
COUNT;
COUNT_DISTINCT;
FIRST;
LAST;
STANDARD_DEVIATION;
VARIANCE;
MEDIAN;
NHA;
};
referenceElement : array of ElementRef;
};
Analytics-Annotations
@CompatibilityContract: { c2.usageAllowed: false,
c1.usageAllowed: true }
@API.state: [#RELEASED_FOR_SAP_CLOUD_PLATFORM]
annotation Analytics
{
@CompatibilityContract: {
c1: { allowedChanges.annotation: [ #ADD ],
allowedChanges.value: [ #NONE ] } }
dataCategory : String(20) enum { DIMENSION; FACT; CUBE; AGGREGATIONLEVEL; };
@CompatibilityContract: {
c1: { allowedChanges.annotation: [ #ADD ],
allowedChanges.value: [ #FALSE_TO_TRUE ] } }
query : Boolean default true;
@Scope:[#VIEW, #ELEMENT]
@CompatibilityContract: {
c1: { allowedChanges.annotation: [ #REMOVE ],
allowedChanges.value: [ #TRUE_TO_FALSE ] } }
hidden : Boolean default true;
@API.state: [#NOT_RELEASED]
planning
{
@CompatibilityContract: {
c1: { allowedChanges.annotation: [ #ADD ],
allowedChanges.value: [ #FALSE_TO_TRUE ] } }
enabled : Boolean default true;
};
@CompatibilityContract: {
c1: { allowedChanges.annotation: [ #ANY ],
allowedChanges.value: [ #ANY ] } }
@API.state: [#NOT_RELEASED]
dataExtraction
{
enabled : Boolean default true;
delta
{
byElement
{
name : ElementRef;
@CompatibilityContract: {
c1: { allowedChanges.annotation: [ #ANY ],
allowedChanges.value: [ #ANY ] } }
@MetadataExtension.usageAllowed : true
maxDelayInSeconds : Integer default 1800;
detectDeletedRecords : Boolean default true;
@CompatibilityContract: {
c1: { allowedChanges.annotation: [ #ANY ],
allowedChanges.value: [ #ANY ] } }
@MetadataExtension.usageAllowed : true
ignoreDeletionAfterDays : Integer;
};
changeDataCapture
{
automatic : Boolean default true;
mapping
{
role : String(30) enum {MAIN; LEFT_OUTER_TO_ONE_JOIN;};
table : String(30);
viewElement : array of ElementRef;
tableElement : array of ElementRef;
filter : array of
{
tableElement : ElementRef;
operator : String(11) enum {EQ;NOT_EQ;GT;GE;LT;LE;BETWEEN;NOT_BETWEEN;} default #EQ;
value : String(45);
highValue : String(45);
};
};
};
};
filter : array of
{
viewElement : ElementRef;
operator : String(11) enum {EQ;NOT_EQ;GT;GE;LT;LE;BETWEEN;NOT_BETWEEN;} default #EQ;
value : String(45);
highValue : String(45);
};
};
@Scope:[#VIEW]
@CompatibilityContract: {
c1: { allowedChanges.annotation: [ #ADD ],
allowedChanges.value: [ #FALSE_TO_TRUE ] } }
@API.state: [#NOT_RELEASED]
viewModelReplication
{
enabled : Boolean default true;
};
@CompatibilityContract: {
c1: { allowedChanges.annotation: [ #ANY ],
allowedChanges.value: [ #ANY ] } }
hints : String(1298);
@CompatibilityContract: {
c1: { allowedChanges.annotation: [ #ADD ],
allowedChanges.value: [ #ANY ] } }
@API.state: [#NOT_RELEASED]
writeBack
{
className : String(30);
};
@CompatibilityContract: {
c1: { allowedChanges.annotation: [ #ANY ],
allowedChanges.value: [ #ANY ] } }
settings
{
maxProcessingEffort : String(20) enum { LOW; MEDIUM; HIGH; UNLIMITED; } default #HIGH;
zeroValues: {
handling: String(20) enum { SHOW; HIDE; HIDE_IF_ALL; } default #SHOW;
hideOnAxis: String(20) enum { ROWS; COLUMNS; ROWS_COLUMNS; } default #ROWS_COLUMNS;
};
};
@Scope:[#VIEW, #ELEMENT]
@CompatibilityContract: {
c1: { allowedChanges.annotation: [ #CUSTOM ],
allowedChanges.value: [ #CUSTOM] } }
internalName : String(30) enum { DEFAULT; LOCAL; GLOBAL; };
};
AnalyticsDetails-Annotations
@CompatibilityContract: {
c1: { usageAllowed: true,
allowedChanges.annotation: [ #ANY ],
allowedChanges.value: [ #ANY ] },
c2: {usageAllowed: false} }
@API.state: [#RELEASED_FOR_SAP_CLOUD_PLATFORM]
annotation AnalyticsDetails
{
query
{
formula : String(1298);
axis : String(20) enum { FREE; ROWS; COLUMNS; };
totals: String(20) enum { HIDE; SHOW; };
scaling : Integer;
decimals : Integer;
display : String(20) enum { KEY; TEXT; TEXT_KEY; KEY_TEXT; };
sortDirection : String(20) enum { ASC; DESC; };
hidden : Boolean default true;
displayHierarchy : String(20) enum { OFF; ON; FILTER; };
hierarchyInitialLevel : Integer;
hierarchyBinding : array of
{
type : String(12) enum { ELEMENT; PARAMETER; CONSTANT; USER_INPUT; SYSTEM_FIELD; };
value : String(512);
variableSequence : Integer;
};
hierarchySettings
{
hidePostedNodesValues : Boolean default true;
hideNodeWithOneChild : Boolean default true;
childNodePosition : String(10) enum { BELOW ; ABOVE; };
};
elementHierarchy
{
parent : ElementRef;
initiallyCollapsed : Boolean default true;
};
@Scope:[#ELEMENT, #PARAMETER]
variableSequence : Integer;
resultValuesSource : String(10) enum { CUBE; DIMENSION; };
reverseSign: Boolean default true;
onCharacteristicStructure: Boolean default true;
collisionHandling:
{ formula : String( 20) enum { DEFAULT; THIS; CONCURRENT; };
decimals : String( 20) enum { DEFAULT; THIS; CONCURRENT; };
scaling : String( 20) enum { DEFAULT; THIS; CONCURRENT; };
};
};
exceptionAggregationSteps : array of
{
exceptionAggregationBehavior : String(14) enum
{
SUM;
MIN;
MAX;
COUNT;
COUNT_DISTINCT;
AVG;
STD;
FIRST;
LAST;
NHA;
};
exceptionAggregationElements : array of String(30);
};
@API.state: [#NOT_RELEASED]
planning
{
enabled : Boolean default true;
disaggregation : String(20) enum { NONE; TOTAL; DIFFERENCE; };
distribution : String(20) enum { EQUAL; PROPORTIONAL; PROPORTIONAL_REF; };
distributionReference : ElementRef;
};
};
Consumption-Annotations
{
@Scope:[#ENTITY, #PARAMETER, #ELEMENT]
@MetadataExtension.usageAllowed : true
@CompatibilityContract: {
c1: { usageAllowed: true,
allowedChanges.annotation: [ #ANY ],
allowedChanges.value: [ #ANY ] },
c2: { usageAllowed: false } }
semanticObject : String(120);
@MetadataExtension.usageAllowed : true
@Scope:[#ELEMENT, #PARAMETER]
@CompatibilityContract: {
c1: { usageAllowed: true,
allowedChanges.annotation: [ #ANY ],
allowedChanges.value: [ #ANY ] },
c2: { usageAllowed: false } }
labelElement : ElementRef;
@Scope:[#ELEMENT, #PARAMETER]
@CompatibilityContract: {
c1: { usageAllowed: true,
allowedChanges.annotation: [ #ANY ],
allowedChanges.value: [ #ANY ] },
c2: { usageAllowed: false } }
quickInfoElement : ElementRef;
@Scope:[#ELEMENT, #PARAMETER]
@CompatibilityContract: {
c1: { usageAllowed: true,
allowedChanges.annotation: [ #REMOVE ],
allowedChanges.value: [ #TRUE_TO_FALSE ] },
c2: { usageAllowed: true,
allowedChanges.annotation: [ #NONE ],
allowedChanges.value: [ #NONE ] } }
hidden : Boolean default true;
@MetadataExtension.usageAllowed : true
@Scope:[#ELEMENT, #PARAMETER]
@CompatibilityContract: {
c1: { usageAllowed: true,
allowedChanges.annotation: [ #ANY ],
allowedChanges.value: [ #ANY ] },
c2: { usageAllowed: false } }
derivation
{
lookupEntity : EntityRef;
pfcgMapping : String(30);
resultElement : String(30);
resultElementHigh : String(30);
resultHierarchyNode
{
nodeTypeElement : String(30);
mapping : array of
{
hierarchyElement : String(30);
lookupElement : String(30);
};
};
binding : array of
{
targetParameter : String(30);
targetElement : String(30);
type : String(12) enum
{
ELEMENT;
PARAMETER;
CONSTANT;
SYSTEM_FIELD;
};
value : String(512);
};
};
@Scope:[#ELEMENT]
@MetadataExtension.usageAllowed : true
@CompatibilityContract: {
c1: { usageAllowed: true,
allowedChanges.annotation: [ #ANY ],
allowedChanges.value: [ #ANY ] },
c2: { usageAllowed: false } }
filter
{
@CompatibilityContract: {
c1: { usageAllowed: true,
allowedChanges.annotation: [ #NONE ],
allowedChanges.value: [ #TRUE_TO_FALSE ] },
c2: { usageAllowed: false } }
mandatory : Boolean default true;
defaultValue : String(1024);
defaultValueHigh : String(1024);
defaultHierarchyNode
{
nodeType : ElementRef;
node : array of
{
element : ElementRef;
value : String(512);
};
};
hidden : Boolean default true;
@CompatibilityContract: {
c1: { usageAllowed: true,
allowedChanges.annotation: [ #ADD ],
allowedChanges.value: [ #NONE ] },
c2: { usageAllowed: false } }
selectionType : String(20) enum
{
SINGLE;
INTERVAL;
RANGE;
HIERARCHY_NODE;
};
@CompatibilityContract: {
c1: { usageAllowed: true,
allowedChanges.annotation: [ #ADD ],
allowedChanges.value: [ #FALSE_TO_TRUE ] },
c2: { usageAllowed: false } }
multipleSelections : Boolean default true;
hierarchyBinding : array of
{
type : String(12) enum
{
ELEMENT;
PARAMETER;
CONSTANT;
USER_INPUT;
SYSTEM_FIELD;
};
value : String(512);
variableSequence : Integer;
};
@Scope: [#VIEW, #ELEMENT]
@MetadataExtension.usageAllowed : false
@CompatibilityContract: {
c1: { usageAllowed: true,
allowedChanges.annotation: [ #CUSTOM ],
allowedChanges.value: [ #CUSTOM ] },
c2: { usageAllowed: true,
allowedChanges.annotation: [ #CUSTOM ],
allowedChanges.value: [ #CUSTOM ] } }
businessDate :
{
at : Boolean default true;
};
};
@Scope:[#ELEMENT]
@MetadataExtension.usageAllowed : true
@CompatibilityContract: {
c1: { usageAllowed: true,
allowedChanges.annotation: [ #ANY ],
allowedChanges.value: [ #ANY ] },
c2: { usageAllowed: false } }
groupWithElement: ElementRef;
@MetadataExtension.usageAllowed : true
@Scope:[#ELEMENT]
@CompatibilityContract: {
c1: { usageAllowed: true,
allowedChanges.annotation: [ #ANY ],
allowedChanges.value: [ #ANY ] },
c2: { usageAllowed: true,
allowedChanges.annotation: [ #ANY ],
allowedChanges.value: [ #ANY ] } }
ranking
{
functionParameterBinding : array of
{
functionId : String(120);
parameterId : String(120);
};
@Scope:[#VIEW, #ENTITY]
activeFunctions : array of
{
id : String(120);
weight : Decimal(3,2) default 1;
};
};
@Scope:[#PARAMETER,#ELEMENT]
@MetadataExtension.usageAllowed : true
@CompatibilityContract: {
c1: { usageAllowed: true,
allowedChanges.annotation: [ #ANY ],
allowedChanges.value: [ #ANY ] },
c2: { usageAllowed: false } }
defaultValue : String(1024);
@Scope:[#ELEMENT, #PARAMETER]
@CompatibilityContract: {
c1: { usageAllowed: true,
allowedChanges.annotation: [ #CUSTOM ],
allowedChanges.value: [ #ANY ] },
c2: { usageAllowed: false } }
valueHelp : ElementRef;
@Scope:[#ELEMENT, #PARAMETER]
@MetadataExtension.usageAllowed : true
@CompatibilityContract: {
c1: { usageAllowed: true,
allowedChanges.annotation: [ #ANY ],
allowedChanges.value: [ #ANY ] },
c2: { usageAllowed: false } }
valueHelpDefinition: array of
{
@API.state: [ #RELEASED_FOR_SAP_CLOUD_PLATFORM ]
qualifier: String(120);
@API.state: [ #RELEASED_FOR_SAP_CLOUD_PLATFORM ]
entity
{
@Scope:[#VIEW, #ELEMENT, #PARAMETER]
name : EntityRef;
element : String(40);
};
association : AssociationRef;
@API.state: [ #RELEASED_FOR_SAP_CLOUD_PLATFORM ]
distinctValues : Boolean default true;
@API.state: [ #RELEASED_FOR_SAP_CLOUD_PLATFORM ]
additionalBinding : array of
{
localParameter : ParameterRef;
localElement : ElementRef;
parameter : String(40);
element : String(40);
usage : String(30) enum
{
FILTER;
RESULT;
FILTER_AND_RESULT;
};
};
@LanguageDependency.maxLength : 40
@API.state: [ #RELEASED_FOR_SAP_CLOUD_PLATFORM ]
label : String(60);
@API.state: [ #RELEASED_FOR_SAP_CLOUD_PLATFORM ]
presentationVariantQualifier : String(120);
};
@CompatibilityContract:{
c1: { usageAllowed: true,
allowedChanges.annotation: [#ANY],
allowedChanges.value: [#ANY] },
c2: { usageAllowed: true,
allowedChanges.annotation: [#ANY],
allowedChanges.value: [#ANY] } }
@Scope: [#VIEW]
@MetadataExtension.usageAllowed : true
dbHints : array of String(1298);
@CompatibilityContract:{
c1: { usageAllowed: true,
allowedChanges.annotation: [#ANY],
allowedChanges.value: [#ANY] },
c2: { usageAllowed: true,
allowedChanges.annotation: [#ANY],
allowedChanges.value: [#ANY] } }
@Scope: [#VIEW]
dbHintsCalculatedBy : String(255);
};
DefaultAggregation-Annotations
annotation DefaultAggregation : String(30) enum { NONE; SUM; MIN; MAX; AVG; COUNT; COUNT_DISTINCT; FORMULA; };
EnterpriseSearch-Annotations
c1: {
usageAllowed: true,
allowedChanges.annotation: [#ANY],
allowedChanges.value: [#ANY]
} ,
c2: {
usageAllowed: true,
allowedChanges.annotation: [#ANY],
allowedChanges.value: [#ANY]
}
}
@Scope:[#ELEMENT]
@MetadataExtension.usageAllowed : true
annotation EnterpriseSearch
{
@Scope:[#ENTITY]
enabled : Boolean default true;
@Scope:[#ENTITY]
hidden : Boolean default true;
@Scope:[#ENTITY]
assignedCategories : array of String(100);
@Scope:[#ENTITY]
fieldGroupForSearchQuery : array of
{
name : String(128);
elements : array of ElementRef;
};
@Scope:[#ELEMENT]
expand : Boolean default true;
defaultValueSuggestElement : Boolean default true;
searchOptions : String(500);
filteringFacet
{
default : Boolean default true;
displayPosition : Integer;
collapse : Boolean default true;
complexFilter : Boolean default true;
numberOfValues : Integer;
order
{
by : String(20) enum
{
NUMBER_OF_HITS;
FILTER_ELEMENT_VALUE;
FILTER_ELEMENT_LABEL;
} default #NUMBER_OF_HITS;
byReference : ElementRef;
direction : String(4) enum
{
ASC;
DESC;
};
};
caseInsensitiveAggregation : Boolean default true;
noIntervals: Boolean default true;
considerNullValues : Boolean default true;
};
filteringAttribute
{
default : Boolean default true;
displayPosition : Integer;
caseInsensitiveAggregation : Boolean default true;
considerNullValues : Boolean default true;
};
commonAttributes : array of String(100);
technicalDescription : Boolean default true;
snippets
{
enabled : Boolean default true;
beginTag : String(128);
endTag : String(128);
maximumLength: Integer;
};
highlighted
{
enabled : Boolean default true;
beginTag : String(128);
endTag : String(128);
};
maximumLength : Integer;
configurationSet : String(50);
};
Feature-Annotations
c1: { usageAllowed: false },
c2: { usageAllowed: true,
allowedChanges.annotation: [ #REMOVE ],
allowedChanges.value: [ #NONE ]}
}
@Scope:[#ENTITY, #ELEMENT ]
define annotation Feature : String(1024);
GenericPersistency-Annotations
@CompatibilityContract: {
c1: { usageAllowed: true,
allowedChanges.annotation: [ #ADD ],
allowedChanges.value: [ #NONE ] },
c2: { usageAllowed: false } }
define annotation GenericPersistency
{
property : Boolean default true;
propertyValue : array of ElementRef;
format
{
length : ElementRef;
decimals : ElementRef;
displayTemplate : ElementRef;
exponentialDisplay
{
exponentValue : ElementRef;
displayFormat : ElementRef;
};
};
}
Hierarchy-Annotations
annotation Hierarchy
{
parentChild : array of
{
name : String(127);
label : String(1298);
multipleParents : Boolean default true;
recurseBy : ElementRef;
recurse
{
parent : array of ElementRef;
child : array of ElementRef;
};
siblingsOrder : array of
{
by : ElementRef;
direction : String(4) enum { ASC; DESC; } default #ASC;
};
rootNode
{
visibility : String(25) enum { ADD_ROOT_NODE_IF_DEFINED; ADD_ROOT_NODE; DO_NOT_ADD_ROOT_NODE; } default #ADD_ROOT_NODE_IF_DEFINED;
};
orphanedNode
{
handling : String(20) enum { ROOT_NODES; ERROR; IGNORE; STEPPARENT_NODE; } default #ROOT_NODES;
stepParentNodeId : array of String(1298);
};
directory : AssociationRef;
};
};
ObjectModel-Annotations
- annotation ObjectModel
{
@Scope:[#VIEW, #TABLE_FUNCTION, #ELEMENT] - @CompatibilityContract: {
c1: { usageAllowed: false}, - c2: { usageAllowed: true,
allowedChanges.annotation: [ #ADD ], - allowedChanges.value: [ #NONE ] } }
-
- createEnabled : Boolean default true;
@Scope:[#VIEW, #TABLE_FUNCTION] - @CompatibilityContract: {
c1: { usageAllowed: false }, - c2: { usageAllowed: true,
allowedChanges.annotation: [ #ADD ], - allowedChanges.value: [ #NONE ] } }
- updateEnabled : Boolean default true;
@Scope:[#VIEW, #TABLE_FUNCTION] - @CompatibilityContract: {
c1: { usageAllowed: false}, - c2: { usageAllowed: true,
allowedChanges.annotation: [ #ADD ], - allowedChanges.value: [ #NONE ] } }
- deleteEnabled : Boolean default true;
@Scope:[#VIEW, #TABLE_FUNCTION] - @CompatibilityContract: {
c1: { usageAllowed: false }, - c2: { usageAllowed: false } }
draftEnabled : Boolean default true; - @Scope:[#VIEW, #TABLE_FUNCTION]
@CompatibilityContract: {
c1: { usageAllowed: false }, - c2: { usageAllowed: false } }
lifecycle
{
processor : - {
expiryBehavior - String(30) enum { RELATIVE_TO_PROCESSING_START; RELATIVE_TO_LAST_CHANGE; } default #RELATIVE_TO_LAST_CHANGE;
expiryInterval : String(20) default 'PT15M';
notificationBeforeExpiryInterval : String(20) default 'PT5M';
};
enqueue :
{
expiryBehavior : String(30) enum { RELATIVE_TO_ENQUEUE_START; RELATIVE_TO_LAST_CHANGE; } default #RELATIVE_TO_LAST_CHANGE;
expiryInterval : String(20) default 'PT15M';
notificationBeforeExpiryInterval : String(20) default 'PT5M';
};
processing :
{
expiryBehavior : String(30) enum { RELATIVE_TO_PROCESSING_START; RELATIVE_TO_LAST_CHANGE; } default #RELATIVE_TO_LAST_CHANGE;
expiryInterval : String(20) default 'PT15M';
notificationBeforeExpiryInterval : String(20) default 'PT10M';
};
draft:
{
expiryBehavior : String(30) enum { RELATIVE_TO_PROCESSING_START; RELATIVE_TO_LAST_CHANGE; } default #RELATIVE_TO_LAST_CHANGE;
expiryInterval : String(20) default 'P28D';
notificationBeforeExpiryInterval : String(20) default 'PT10D';
};
};
@Scope:[#VIEW, #TABLE_FUNCTION]
@CompatibilityContract: {
c1: { usageAllowed: false },
c2: { usageAllowed: false } }
modelCategory : String(30) enum { BUSINESS_OBJECT; };
@Scope:[#VIEW, #TABLE_FUNCTION]
@CompatibilityContract: {
c1: { usageAllowed: true,
allowedChanges.annotation: [ #ADD ],
allowedChanges.value: [ #NONE ] },
c2: { usageAllowed: true,
allowedChanges.annotation: [ #ADD ],
allowedChanges.value: [ #NONE ] } }
dataCategory : String(30) enum { TEXT; HIERARCHY; VALUE_HELP; };
@Scope:[#VIEW, #TABLE_FUNCTION]
@CompatibilityContract: {
c1: { usageAllowed: true,
allowedChanges.annotation: [ #NONE ],
allowedChanges.value: [ #NONE ] },
c2: { usageAllowed: true,
allowedChanges.annotation: [ #NONE ],
allowedChanges.value: [ #NONE ] } }
representativeKey : KeyElementRef;
@Scope:[#VIEW, #TABLE_FUNCTION]
@CompatibilityContract: {
c1: { usageAllowed: true,
allowedChanges.annotation: [ #NONE ],
allowedChanges.value: [ #NONE ] },
c2: { usageAllowed: true,
allowedChanges.annotation: [ #NONE ],
allowedChanges.value: [ #NONE ] } }
semanticKey : array of ElementRef;
@Scope:[#VIEW, #TABLE_FUNCTION]
@CompatibilityContract: {
c1: { usageAllowed: false } ,
c2: { usageAllowed: false } }
alternativeKey : array of
{
id : String(30);
element : array of ElementRef;
uniqueness : String(30) enum { UNIQUE; UNIQUE_IF_NOT_INITIAL; };
};
@Scope:[#VIEW, #TABLE_FUNCTION]
@CompatibilityContract: {
c1: { usageAllowed: true,
allowedChanges.annotation: [ #ADD ],
allowedChanges.value: [ #NONE ] },
c2: { usageAllowed: true,
allowedChanges.annotation: [ #ADD ],
allowedChanges.value: [ #NONE ] } }
compositionRoot : Boolean default true;
@Scope:[#VIEW, #TABLE_FUNCTION]
@CompatibilityContract: {
c1: { usageAllowed: false },
c2: { usageAllowed: false } }
transactionalProcessingEnabled : Boolean default true;
@Scope:[#VIEW, #TABLE_FUNCTION]
@CompatibilityContract: {
c1: { usageAllowed: false },
c2: { usageAllowed: false } }
transactionalProcessingUnitRoot : Boolean default true;
@Scope:[#VIEW, #TABLE_FUNCTION]
@CompatibilityContract: {
c1: { usageAllowed: false },
c2: { usageAllowed: true,
allowedChanges.annotation: [ #ADD ],
allowedChanges.value: [ #FALSE_TO_TRUE ] } }
transactionalProcessingDelegated : Boolean default true;
@Scope:[#VIEW, #TABLE_FUNCTION]
@CompatibilityContract: {
c1: { usageAllowed: false },
c2: { usageAllowed: false } }
writeDraftPersistence : String(16);
@Scope:[#VIEW, #TABLE_FUNCTION]
@CompatibilityContract: {
c1: { usageAllowed: false },
c2: { usageAllowed: false } }
writeActivePersistence : String(16);
@Scope:[#VIEW, #TABLE_FUNCTION]
@CompatibilityContract: {
c1: { usageAllowed: true,
allowedChanges.annotation: [ #ADD ],
allowedChanges.value: [ #ANY ] },
c2: { usageAllowed: true,
allowedChanges.annotation: [ #ADD ],
allowedChanges.value: [ #ANY ] } }
entityChangeStateId : String(30);
@Scope:[#VIEW]
@CompatibilityContract: {
c1: { usageAllowed: true,
allowedChanges.annotation: [ #ANY ],
allowedChanges.value: [ #ANY ] },
c2: { usageAllowed: false } }
resultSet
{
sizeCategory : String(3) enum { XS; };
};
@Scope:[#VIEW, #TABLE_FUNCTION]
@CompatibilityContract: {
c1: { usageAllowed: true,
allowedChanges.annotation: [ #ANY ],
allowedChanges.value: [ #ANY ] },
c2: { usageAllowed: true,
allowedChanges.annotation: [ #ANY ],
allowedChanges.value: [ #ANY ] } }
usageType
{
serviceQuality : String(30) enum { A; B; C; D; X; P; } default #X;
sizeCategory : String(3) enum { S; M; L; XL; XXL; } default #S;
dataClass : String(30) enum
{
TRANSACTIONAL;
MASTER;
ORGANIZATIONAL;
CUSTOMIZING;
META;
MIXED;
} default #MIXED;
};
@Scope:[#ELEMENT]
@CompatibilityContract: {
c1: { usageAllowed: true,
allowedChanges.annotation: [ #ADD ],
allowedChanges.value: [ #NONE ] },
c2: { usageAllowed: true,
allowedChanges.annotation: [ #ADD ],
allowedChanges.value: [ #NONE ] } }
association
{
type : array of String(30) enum { TO_COMPOSITION_CHILD; TO_COMPOSITION_PARENT; TO_COMPOSITION_ROOT;
TO_AGGREGATION_CHILD; TO_AGGREGATION_PARENT;};
reverseAssociation: String(30);
@CompatibilityContract: {
c1: { usageAllowed: false },
c2: { usageAllowed: false } }
draft : { enabled : Boolean default true;
fieldNamePrefix : String(16); };
};
@Scope:[#ELEMENT]
@API.state: [ #RELEASED_FOR_SAP_CLOUD_PLATFORM ]
text
{
@CompatibilityContract: {
c1: { usageAllowed: true,
allowedChanges.annotation: [ #ADD ],
allowedChanges.value: [ #ANY ] },
c2: { usageAllowed: true,
allowedChanges.annotation: [ #ADD ],
allowedChanges.value: [ #ANY ] } }
element : array of ElementRef;
@CompatibilityContract: {
c1: { usageAllowed: true,
allowedChanges.annotation: [ #CUSTOM ],
allowedChanges.value: [ #CUSTOM ] },
c2: { usageAllowed: true,
allowedChanges.annotation: [ #ADD ],
allowedChanges.value: [ #NONE ] } }
association : AssociationRef;
@Scope: [#VIEW,#ELEMENT]
@CompatibilityContract: {
c1: { usageAllowed: true,
allowedChanges.annotation: [ #ANY ],
allowedChanges.value: [ #ANY ] },
c2: { usageAllowed: true,
allowedChanges.annotation: [ #ANY ],
allowedChanges.value: [ #ANY ] } }
control : String(60) enum { NONE; ASSOCIATED_TEXT_UI_HIDDEN; };
@CompatibilityContract: {
c1: { usageAllowed: true,
allowedChanges.annotation: [ #ADD ],
allowedChanges.value: [ #ANY ] },
c2: { usageAllowed: true,
allowedChanges.annotation: [ #ADD ],
allowedChanges.value: [ #ANY ] } }
reference
{
association : AssociationRef;
};
};
@Scope:[#ELEMENT]
@CompatibilityContract: {
c1: { usageAllowed: true,
allowedChanges.annotation: [ #ADD ],
allowedChanges.value: [ #ANY ] },
c2: { usageAllowed: false } }
hierarchy
{
association : AssociationRef;
};
@Scope:[#ELEMENT]
@CompatibilityContract: {
c1: { usageAllowed: true,
allowedChanges.annotation: [ #CUSTOM ],
allowedChanges.value: [ #CUSTOM ] },
c2: { usageAllowed: true,
allowedChanges.annotation: [ #ADD ],
allowedChanges.value: [ #NONE ] } }
foreignKey
{
association : AssociationRef;
};
@Scope:[#ELEMENT]
@CompatibilityContract: {
c1: { usageAllowed: false },
c2: { usageAllowed: true,
allowedChanges.annotation: [ #CUSTOM ],
allowedChanges.value: [ #CUSTOM ] } }
readOnly : Boolean default true;
@Scope:[#ELEMENT]
@CompatibilityContract: {
c1: { usageAllowed: false },
c2: { usageAllowed: true,
allowedChanges.annotation: [ #CUSTOM ],
allowedChanges.value: [ #CUSTOM ] } }
mandatory : Boolean default true;
@Scope:[#ELEMENT]
filter
{
@CompatibilityContract: {
c1: { usageAllowed: false },
c2: { usageAllowed: true,
allowedChanges.annotation: [ #ADD ],
allowedChanges.value: [ #CUSTOM ] } }
enabled : Boolean default true;
@CompatibilityContract: {
c1: { usageAllowed: false },
c2: { usageAllowed: true,
allowedChanges.annotation: [ #REMOVE ],
allowedChanges.value: [ #ANY ] } }
transformedBy : String(255);
};
@Scope:[#ELEMENT]
sort
{
@CompatibilityContract: {
c1: { usageAllowed: false },
c2: { usageAllowed: true,
allowedChanges.annotation: [ #ADD ],
allowedChanges.value: [ #CUSTOM ] } }
enabled : Boolean default true;
@CompatibilityContract: {
c1: { usageAllowed: false },
c2: { usageAllowed: true,
allowedChanges.annotation: [ #CUSTOM ],
allowedChanges.value: [ #ANY ] } }
transformedBy : String(255);
};
@Scope:[#ELEMENT]
@CompatibilityContract: {
c1: { usageAllowed: false },
c2: { usageAllowed: true,
allowedChanges.annotation: [ #REMOVE ],
allowedChanges.value: [ #ANY ] } }
virtualElement : Boolean default true;
@Scope:[#ELEMENT]
@CompatibilityContract: {
c1: { usageAllowed: false },
c2: { usageAllowed: true,
allowedChanges.annotation: [ #REMOVE ],
allowedChanges.value: [ #ANY ] } }
virtualElementCalculatedBy : String(255);
@Scope:[#VIEW, #CUSTOM_ENTITY]
@API.state: [ #RELEASED_FOR_SAP_CLOUD_PLATFORM ]
query
{
@CompatibilityContract: {
c1: { usageAllowed: false},
c2: { usageAllowed: true,
allowedChanges.annotation: [ #ANY ],
allowedChanges.value: [ #ANY ] } }
implementedBy : String(255);
};
@Scope:[#ELEMENT]
@CompatibilityContract: {
c1: { usageAllowed: false },
c2: { usageAllowed: true,
allowedChanges.annotation: [ #CUSTOM ],
allowedChanges.value: [ #CUSTOM ] } }
enabled : Boolean default true;
@Scope: [#VIEW]
@CompatibilityContract: {
c1: { usageAllowed: false },
c2: { usageAllowed: false } }
action : array of
{
@CompatibilityContract: {
c2: { usageAllowed: true,
allowedChanges.annotation: [ #NONE ],
allowedChanges.value: [ #NONE ] } }
name : String(30);
@CompatibilityContract: {
c1: { usageAllowed: false },
c2: { usageAllowed: true,
allowedChanges.annotation: [ #REMOVE ],
allowedChanges.value: [ #NONE ] } }
feature : String( 40);
@CompatibilityContract: {
c2: { usageAllowed: true,
allowedChanges.annotation: [ #NONE ],
allowedChanges.value: [ #NONE ] } }
readOnly : Boolean default true;
@CompatibilityContract: {
c2: { usageAllowed: true,
allowedChanges.annotation: [ #NONE ],
allowedChanges.value: [ #NONE ] } }
instance :
{
bound : Boolean default true;
};
@CompatibilityContract: {
c2: { usageAllowed: true,
allowedChanges.annotation: [ #NONE ],
allowedChanges.value: [ #NONE ] } }
enabled : Boolean default true;
@LanguageDependency.maxLength: 40
@CompatibilityContract: {
c2: { usageAllowed: true,
allowedChanges.annotation: [ #ADD ],
allowedChanges.value: [ #NONE ] } }
label : String(60);
@CompatibilityContract: {
c2: { usageAllowed: true,
allowedChanges.annotation: [ #NONE ],
allowedChanges.value: [ #NONE ] } }
parameter :
{
dataType : EntityRef;
};
@CompatibilityContract: {
c2: { usageAllowed: true,
allowedChanges.annotation: [ #NONE ],
allowedChanges.value: [ #NONE ] } }
result :
{
dataType : EntityRef;
cardinality : String(30) enum { ZERO_TO_ONE; ONE; ZERO_TO_MANY; ONE_TO_MANY; };
};
};
@Scope: [#VIEW]
@CompatibilityContract: {
c1: { usageAllowed: false },
c2: { usageAllowed: true,
allowedChanges.annotation: [ #ADD ],
allowedChanges.value: [ #NONE ] } }
delegatedAction : array of
{
@CompatibilityContract: {
c1: { usageAllowed: false },
c2: { usageAllowed: true,
allowedChanges.annotation: [ #ADD ],
allowedChanges.value: [ #ANY ] } }
name : String(30);
exposureName: String(60);
enabled : Boolean default true;
};
@Scope:[#VIEW, #TABLE_FUNCTION]
@CompatibilityContract: {
c1: { usageAllowed: false },
c2: { usageAllowed: false } }
draft
{
sharing : String(30) enum { NONE; RESTRICTED; PUBLIC; };
concurrentEditing : Boolean default true;
};
@Scope:[#ELEMENT]
@CompatibilityContract: {
c1: { usageAllowed: false },
c2: { usageAllowed: false } }
editableFieldFor : ElementRef;
@Scope: [#VIEW]
@CompatibilityContract: {
c1: { usageAllowed: true,
allowedChanges.annotation: [ #ADD ],
allowedChanges.value: [ #NONE ] },
c2: { usageAllowed: false } }
uniqueIdField : ElementRef;
};
OData-Annotations
define annotation OData
{
@Scope:[#VIEW]
@CompatibilityContract: {
c1: { usageAllowed: true,
allowedChanges.annotation: [ #ADD ],
allowedChanges.value: [ #FALSE_TO_TRUE ] },
c2: { usageAllowed: true,
allowedChanges.annotation: [ #ADD ],
allowedChanges.value: [ #FALSE_TO_TRUE ] } }
publish : Boolean default true;
@Scope:[#ELEMENT]
@CompatibilityContract: {
c1: { usageAllowed: true,
allowedChanges.annotation: [ #NONE ],
allowedChanges.value: [ #NONE ] },
c2: { usageAllowed: true,
allowedChanges.annotation: [ #NONE ],
allowedChanges.value: [ #NONE ] } }
@API.state: [ #RELEASED_FOR_SAP_CLOUD_PLATFORM ]
etag : Boolean default true;
@Scope:[#ENTITY]
@CompatibilityContract: {
c1: { usageAllowed: true,
allowedChanges.annotation: [ #NONE ],
allowedChanges.value: [ #NONE ] },
c2: { usageAllowed: true,
allowedChanges.annotation: [ #NONE ],
allowedChanges.value: [ #NONE ] } }
@API.state: [ #RELEASED_FOR_SAP_CLOUD_PLATFORM ]
entitySet
{
name : String(30);
};
@Scope:[#ENTITY]
@CompatibilityContract: {
c1: { usageAllowed: true,
allowedChanges.annotation: [ #NONE ],
allowedChanges.value: [ #NONE ] },
c2: { usageAllowed: true,
allowedChanges.annotation: [ #NONE ],
allowedChanges.value: [ #NONE ] } }
@API.state: [ #RELEASED_FOR_SAP_CLOUD_PLATFORM ]
entityType
{
name : String(128);
};
@Scope:[#ENTITY]
@CompatibilityContract: {
c1: { usageAllowed: true,
allowedChanges.annotation: [ #NONE ],
allowedChanges.value: [ #NONE ] },
c2: { usageAllowed: true,
allowedChanges.annotation: [ #NONE ],
allowedChanges.value: [ #NONE ] } }
@API.state: [ #RELEASED_FOR_SAP_CLOUD_PLATFORM ]
action: array of {
name : String(128);
localName : String(30);
};
@Scope:[#ELEMENT]
@CompatibilityContract: {
c1: { usageAllowed: true,
allowedChanges.annotation: [ #NONE ],
allowedChanges.value: [ #NONE ] },
c2: { usageAllowed: true,
allowedChanges.annotation: [ #NONE ],
allowedChanges.value: [ #NONE ] } }
@API.state: [ #RELEASED_FOR_SAP_CLOUD_PLATFORM ]
property
{
name : String(128);
};
@Scope:[#SERVICE]
@CompatibilityContract: {
c1: { usageAllowed: true,
allowedChanges.annotation: [ #NONE ],
allowedChanges.value: [ #NONE ] },
c2: { usageAllowed: true,
allowedChanges.annotation: [ #NONE ],
allowedChanges.value: [ #NONE ] } }
@API.state: [ #RELEASED_FOR_SAP_CLOUD_PLATFORM ]
schema
{
name : String(128);
};
@Scope:[#VIEW]
@CompatibilityContract: {
c1: { usageAllowed: true,
allowedChanges.annotation: [ #NONE ],
allowedChanges.value: [ #NONE ] },
c2: { usageAllowed: true,
allowedChanges.annotation: [ #NONE ],
allowedChanges.value: [ #NONE ] } }
v2
{
autoAggregation : Boolean default true;
};
};
Search-Annotations
c1: {
usageAllowed: true,
allowedChanges.annotation: [#ANY],
allowedChanges.value: [#ANY]
} ,
c2: {
usageAllowed: true,
allowedChanges.annotation: [#ANY],
allowedChanges.value: [#ANY]
}
}
@API.state: [#RELEASED_FOR_SAP_CLOUD_PLATFORM]
@Scope:[#ELEMENT]
@MetadataExtension.usageAllowed : true
annotation Search
{
@Scope:[#ENTITY]
searchable : Boolean default true;
@Scope:[#ELEMENT]
defaultSearchElement : Boolean default true;
ranking : String(6) enum { HIGH; MEDIUM; LOW; } default #MEDIUM;
fuzzinessThreshold : Decimal(3,2);
termMappingDictionary : String(128);
termMappingListId : array of String(32);
fulltextIndex
{
required : Boolean default true;
};
};
Semantics-Annotations
define annotation Semantics
{
@CompatibilityContract: {
c1: { usageAllowed: true,
allowedChanges.annotation: [ #ANY ],
allowedChanges.value: [ #ANY ] },
c2: { usageAllowed: false } }
telephone
{
type : array of String(10) enum
{
HOME;
CELL;
WORK;
FAX;
PREF;
TEXT;
VOICE;
VIDEO;
PAGER;
TEXT_PHONE;
};
};
@CompatibilityContract: {
c1: { usageAllowed: true,
allowedChanges.annotation: [ #ANY ],
allowedChanges.value: [ #ANY ] },
c2: { usageAllowed: false } }
{
type : array of String(10) enum
{
HOME;
WORK;
PREF;
OTHER;
};
address : Boolean default true;
from : Boolean default true;
sender : Boolean default true;
to : Boolean default true;
cc : Boolean default true;
bcc : Boolean default true;
subject : Boolean default true;
body : Boolean default true;
keywords : Boolean default true;
received : Boolean default true;
};
@CompatibilityContract: {
c1: { usageAllowed: true,
allowedChanges.annotation: [ #ANY ],
allowedChanges.value: [ #ANY ] },
c2: { usageAllowed: false } }
name
{
fullName : Boolean default true;
givenName : Boolean default true;
additionalName : Boolean default true;
familyName : Boolean default true;
nickName : Boolean default true;
suffix : Boolean default true;
prefix : Boolean default true;
jobTitle : Boolean default true;
};
@CompatibilityContract: {
c1: { usageAllowed: true,
allowedChanges.annotation: [ #ANY ],
allowedChanges.value: [ #ANY ] },
c2: { usageAllowed: false } }
address
{
type : array of String(10) enum
{
HOME;
WORK;
PREF;
OTHER;
};
city : Boolean default true;
street : Boolean default true;
streetNoNumber : Boolean default true;
number : Boolean default true;
country : Boolean default true;
region : Boolean default true;
subRegion : Boolean default true;
zipCode : Boolean default true;
postBox : Boolean default true;
label : Boolean default true;
};
@CompatibilityContract: {
c1: { usageAllowed: true,
allowedChanges.annotation: [ #ANY ],
allowedChanges.value: [ #ANY ] },
c2: { usageAllowed: false } }
organization
{
name : Boolean default true;
unit : Boolean default true;
role : Boolean default true;
};
@CompatibilityContract: {
c1: { usageAllowed: false },
c2: { usageAllowed: false } }
calendarItem
{
summary : Boolean default true;
description : Boolean default true;
categories : Boolean default true;
dtStart : Boolean default true;
dtEnd : Boolean default true;
duration : Boolean default true;
due : Boolean default true;
completed : Boolean default true;
priority : Boolean default true;
class : Boolean default true;
status : Boolean default true;
percentComplete : Boolean default true;
contact : Boolean default true;
location : Boolean default true;
transparent : Boolean default true;
fbType : Boolean default true;
wholeDay : Boolean default true;
};
@CompatibilityContract: {
c1: { usageAllowed: true,
allowedChanges.annotation: [ #NONE ],
allowedChanges.value: [ #NONE ] },
c2: { usageAllowed: true,
allowedChanges.annotation: [ #NONE ],
allowedChanges.value: [ #NONE ] } }
businessDate
{
@CompatibilityContract: {
c1: { usageAllowed: true,
allowedChanges.annotation: [ #CUSTOM ],
allowedChanges.value: [ #CUSTOM ] },
c2: { usageAllowed: true,
allowedChanges.annotation: [ #CUSTOM ],
allowedChanges.value: [ #CUSTOM ] } }
at : Boolean default true;
from : Boolean default true;
to : Boolean default true;
};
@CompatibilityContract: {
c1: { usageAllowed: true,
allowedChanges.annotation: [ #ANY ],
allowedChanges.value: [ #ANY ] },
c2: { usageAllowed: false } }
systemDateTime
{
createdAt : Boolean default true;
lastChangedAt : Boolean default true;
};
@CompatibilityContract: {
c1: { usageAllowed: true,
allowedChanges.annotation: [ #ANY ],
allowedChanges.value: [ #ANY ] },
c2: { usageAllowed: false } }
systemDate
{
createdAt : Boolean default true;
lastChangedAt : Boolean default true;
};
@CompatibilityContract: {
c1: { usageAllowed: true,
allowedChanges.annotation: [ #ANY ],
allowedChanges.value: [ #ANY ] },
c2: { usageAllowed: false } }
systemTime
{
createdAt : Boolean default true;
lastChangedAt : Boolean default true;
};
@CompatibilityContract: {
c1: { usageAllowed: false },
c2: { usageAllowed: false } }
time : Boolean default true;
@CompatibilityContract: {
c1: { usageAllowed: false },
c2: { usageAllowed: false } }
durationInSeconds : Boolean default true;
@CompatibilityContract: {
c1: { usageAllowed: true,
allowedChanges.annotation: [ #CUSTOM ],
allowedChanges.value: [ #CUSTOM ] },
c2: { usageAllowed: false } }
calendar
{
@CompatibilityContract: {
c1: { usageAllowed: true,
allowedChanges.annotation: [ #ANY ],
allowedChanges.value: [ #ANY ] },
c2: { usageAllowed: false } }
dayOfMonth : Boolean default true;
@CompatibilityContract: {
c1: { usageAllowed: true,
allowedChanges.annotation: [ #ANY ],
allowedChanges.value: [ #ANY ] },
c2: { usageAllowed: false } }
dayOfYear : Boolean default true;
week : Boolean default true;
month : Boolean default true;
quarter : Boolean default true;
halfyear : Boolean default true;
year : Boolean default true;
yearWeek : Boolean default true;
yearMonth : Boolean default true;
yearQuarter : Boolean default true;
yearHalfyear : Boolean default true;
};
@CompatibilityContract: {
c1: { usageAllowed: true,
allowedChanges.annotation: [ #CUSTOM ],
allowedChanges.value: [ #CUSTOM ] },
c2: { usageAllowed: false } }
fiscal
{
yearVariant : Boolean default true;
period : Boolean default true;
year : Boolean default true;
yearPeriod : Boolean default true;
quarter : Boolean default true;
yearQuarter : Boolean default true;
week : Boolean default true;
yearWeek : Boolean default true;
dayOfYear : Boolean default true;
};
@CompatibilityContract: {
c1: { usageAllowed: true,
allowedChanges.annotation: [ #ANY ],
allowedChanges.value: [ #ANY ] },
c2: { usageAllowed: false } }
geoLocation
{
longitude : Boolean default true;
latitude : Boolean default true;
cartoId : Boolean default true;
normalizedName : Boolean default true;
};
@CompatibilityContract: {
c1: { usageAllowed: true,
allowedChanges.annotation: [ #NONE ],
allowedChanges.value: [ #NONE ] },
c2: { usageAllowed: false }}
url
{
mimeType : String(1024);
};
@CompatibilityContract: {
c1: { usageAllowed: true,
allowedChanges.annotation: [ #ADD ],
allowedChanges.value: [ #ANY ] },
c2: { usageAllowed: false } }
imageUrl : Boolean default true;
@CompatibilityContract: {
c1: { usageAllowed: false },
c2: { usageAllowed: false } }
contact
{
type : String(12) enum
{
PERSON;
ORGANIZATION;
};
note : Boolean default true;
photo : Boolean default true;
birthDate : Boolean default true;
};
@CompatibilityContract: {
c1: { usageAllowed: true,
allowedChanges.annotation: [ #ANY ],
allowedChanges.value: [ #ANY ] },
c2: { usageAllowed: false } }
user
{
@CompatibilityContract: {
c1: { usageAllowed: false },
c2: { usageAllowed: false } }
id : Boolean default true;
createdBy : Boolean default true;
lastChangedBy : Boolean default true;
@CompatibilityContract: {
c1: { usageAllowed: false },
c2: { usageAllowed: false } }
responsible : Boolean default true;
};
@CompatibilityContract: {
c1: { usageAllowed: true,
allowedChanges.annotation: [ #ANY ],
allowedChanges.value: [ #ANY ] },
c2: { usageAllowed: false } }
mimeType : Boolean default true;
@CompatibilityContract: {
c1: { usageAllowed: true,
allowedChanges.annotation: [ #CUSTOM ],
allowedChanges.value: [ #CUSTOM ] },
c2: { usageAllowed: true,
allowedChanges.annotation: [ #NONE ],
allowedChanges.value: [ #NONE ] } }
@API.state: [ #RELEASED_FOR_SAP_CLOUD_PLATFORM ]
text : Boolean default true;
@CompatibilityContract: {
c1: { usageAllowed: true,
allowedChanges.annotation: [ #CUSTOM ],
allowedChanges.value: [ #CUSTOM ] },
c2: { usageAllowed: true,
allowedChanges.annotation: [ #CUSTOM ],
allowedChanges.value: [ #CUSTOM ] } }
@API.state: [ #RELEASED_FOR_SAP_CLOUD_PLATFORM ]
language : Boolean default true;
@CompatibilityContract: {
c1: { usageAllowed: false },
c2: { usageAllowed: false } }
languageReference : ElementRef;
@Scope:[#ELEMENT]
@CompatibilityContract: {
c1: { usageAllowed: true,
allowedChanges.annotation: [ #NONE ],
allowedChanges.value: [ #NONE ] },
c2: { usageAllowed: true,
allowedChanges.annotation: [ #NONE ],
allowedChanges.value: [ #NONE ] } }
@API.state: [ #RELEASED_FOR_SAP_CLOUD_PLATFORM ]
amount
{
currencyCode : ElementRef;
};
@Scope:[#ELEMENT]
@CompatibilityContract: {
c1: { usageAllowed: true,
allowedChanges.annotation: [ #NONE ],
allowedChanges.value: [ #NONE ] },
c2: { usageAllowed: true,
allowedChanges.annotation: [ #NONE ],
allowedChanges.value: [ #NONE ] } }
@API.state: [ #RELEASED_FOR_SAP_CLOUD_PLATFORM ]
quantity
{
unitOfMeasure : ElementRef;
};
@Scope:[#ELEMENT]
@CompatibilityContract: {
c1: { usageAllowed: true,
allowedChanges.annotation: [ #NONE ],
allowedChanges.value: [ #NONE ] },
c2: { usageAllowed: true,
allowedChanges.annotation: [ #NONE ],
allowedChanges.value: [ #NONE ] } }
@API.state: [ #RELEASED_FOR_SAP_CLOUD_PLATFORM ]
currencyCode : Boolean default true;
@Scope:[#ELEMENT]
@CompatibilityContract: {
c1: { usageAllowed: true,
allowedChanges.annotation: [ #NONE ],
allowedChanges.value: [ #NONE ] },
c2: { usageAllowed: true,
allowedChanges.annotation: [ #NONE ],
allowedChanges.value: [ #NONE ] } }
@API.state: [ #RELEASED_FOR_SAP_CLOUD_PLATFORM ]
unitOfMeasure : Boolean default true;
@Scope:[#ELEMENT]
@CompatibilityContract: {
c1: { usageAllowed: false },
c2: { usageAllowed: false } }
booleanIndicator : Boolean default true;
@Scope:[#ELEMENT]
@CompatibilityContract: {
c1: { usageAllowed: true,
allowedChanges.annotation: [ #NONE ],
allowedChanges.value: [ #NONE ] },
c2: { usageAllowed: true,
allowedChanges.annotation: [ #NONE ],
allowedChanges.value: [ #NONE ] } }
largeObject
{
mimeType : ElementRef;
};
@Scope:[#ENTITY]
@MetadataExtension.usageAllowed : true
@CompatibilityContract: {
c1: { usageAllowed: true,
allowedChanges.annotation: [ #ANY ],
allowedChanges.value: [ #ANY ] },
c2: { usageAllowed: false } }
interval : array of
{
qualifier: String(120);
lowerBoundaryParameter : ParameterRef;
lowerBoundaryElement : ElementRef;
lowerBoundaryIncluded : Boolean default true;
upperBoundaryParameter : ParameterRef;
upperBoundaryElement : ElementRef;
upperBoundaryIncluded : Boolean default true;
boundaryCodeElement : ElementRef;
}
@Scope:[#ELEMENT]
@MetadataExtension.usageAllowed : true
@CompatibilityContract: {
c1: { usageAllowed: true,
allowedChanges.annotation: [ #ANY ],
allowedChanges.value: [ #ANY ] },
c2: { usageAllowed: true,
allowedChanges.annotation: [ #ANY ],
allowedChanges.value: [ #ANY ] } }
personalData {
isPotentiallySensitive : Boolean default true;
fieldSemantics : String(30) enum { DATA_SUBJECT_ID; LEGAL_ENTITY_ID; };
}
@Scope: [#ELEMENT]
@CompatibilityContract: {
c1: { usageAllowed: true,
allowedChanges.annotation: [ #ANY ],
allowedChanges.value: [ #FALSE_TO_TRUE ] },
c2: { usageAllowed: false} }
@API.state: [ #RELEASED_FOR_SAP_CLOUD_PLATFORM ]
signReversalIndicator : Boolean default true;
};
UI-Annotations
@CompatibilityContract: {
c1: { usageAllowed: true,
allowedChanges.annotation: [ #ANY ],
allowedChanges.value: [ #ANY ]
},
c2: { usageAllowed: false
}
}
@API.state: [ #RELEASED_FOR_SAP_CLOUD_PLATFORM ]
define annotation UI
{
@Scope:[#ENTITY]
headerInfo
{
@LanguageDependency.maxLength : 40
typeName : String(60);
@LanguageDependency.maxLength : 40
typeNamePlural : String(60);
typeImageUrl : String(1024);
imageUrl : ElementRef;
title
{
type : String(40) enum
{
STANDARD;
AS_CONNECTED_FIELDS;
WITH_INTENT_BASED_NAVIGATION;
WITH_NAVIGATION_PATH;
WITH_URL;
} default #STANDARD;
@LanguageDependency.maxLength : 40
label : String(60);
iconUrl : String(1024);
criticality : ElementRef;
criticalityRepresentation : String(12) enum
{
WITHOUT_ICON;
WITH_ICON;
} default #WITHOUT_ICON;
value : ElementRef;
valueQualifier : String(120);
targetElement : ElementRef;
url : ElementRef;
};
description
{
type : String(40) enum
{
STANDARD;
AS_CONNECTED_FIELDS;
WITH_INTENT_BASED_NAVIGATION;
WITH_NAVIGATION_PATH;
WITH_URL;
} default #STANDARD;
@LanguageDependency.maxLength : 40
label : String(60);
iconUrl : String(1024);
criticality : ElementRef;
criticalityRepresentation : String(12) enum
{
WITHOUT_ICON;
WITH_ICON;
} default #WITHOUT_ICON;
value : ElementRef;
valueQualifier : String(120);
targetElement : ElementRef;
url : ElementRef;
};
};
@Scope:[#ENTITY]
badge
{
headLine
{
type : String(40) enum
{
STANDARD;
WITH_INTENT_BASED_NAVIGATION;
WITH_NAVIGATION_PATH;
WITH_URL;
} default #STANDARD;
@LanguageDependency.maxLength : 40
label : String(60);
iconUrl : String(1024);
criticality : ElementRef;
criticalityRepresentation : String(12) enum
{
WITHOUT_ICON;
WITH_ICON;
} default #WITHOUT_ICON;
value : ElementRef;
targetElement : ElementRef;
url : ElementRef;
};
title
{
type : String(40) enum
{
STANDARD;
WITH_INTENT_BASED_NAVIGATION;
WITH_NAVIGATION_PATH;
WITH_URL;
} default #STANDARD;
@LanguageDependency.maxLength : 40
label : String(60);
iconUrl : String(1024);
criticality : ElementRef;
criticalityRepresentation : String(12) enum
{
WITHOUT_ICON;
WITH_ICON;
} default #WITHOUT_ICON;
value : ElementRef;
targetElement : ElementRef;
url : ElementRef;
};
typeImageUrl : String(1024);
imageUrl : ElementRef;
mainInfo
{
type : String(40) enum
{
STANDARD;
WITH_INTENT_BASED_NAVIGATION;
WITH_NAVIGATION_PATH;
WITH_URL;
} default #STANDARD;
@LanguageDependency.maxLength : 40
label : String(60);
iconUrl : String(1024);
criticality : ElementRef;
criticalityRepresentation : String(12) enum
{
WITHOUT_ICON;
WITH_ICON;
} default #WITHOUT_ICON;
value : ElementRef;
targetElement : ElementRef;
url : ElementRef;
};
secondaryInfo
{
type : String(40) enum
{
STANDARD;
WITH_INTENT_BASED_NAVIGATION;
WITH_NAVIGATION_PATH;
WITH_URL;
} default #STANDARD;
@LanguageDependency.maxLength : 40
label : String(60);
iconUrl : String(1024);
criticality : ElementRef;
criticalityRepresentation : String(12) enum
{
WITHOUT_ICON;
WITH_ICON;
} default #WITHOUT_ICON;
value : ElementRef;
targetElement : ElementRef;
url : ElementRef;
};
};
@Scope:[#ENTITY]
chart : array of
{
qualifier : String(120);
@LanguageDependency.maxLength : 40
title : String(60);
@LanguageDependency.maxLength : 80
description : String(120);
chartType : String(40) enum
{
COLUMN;
COLUMN_STACKED;
COLUMN_STACKED_100;
COLUMN_DUAL;
COLUMN_STACKED_DUAL;
COLUMN_STACKED_DUAL_100;
BAR;
BAR_STACKED;
BAR_STACKED_100;
BAR_DUAL;
BAR_STACKED_DUAL;
BAR_STACKED_DUAL_100;
AREA;
AREA_STACKED;
AREA_STACKED_100;
HORIZONTAL_AREA;
HORIZONTAL_AREA_STACKED;
HORIZONTAL_AREA_STACKED_100;
LINE;
LINE_DUAL;
COMBINATION;
COMBINATION_STACKED;
COMBINATION_STACKED_DUAL;
HORIZONTAL_COMBINATION_STACKED;
HORIZONTAL_COMBINATION_STACKED_DUAL;
PIE;
DONUT;
SCATTER;
BUBBLE;
RADAR;
HEAT_MAP;
TREE_MAP;
WATERFALL;
BULLET;
VERTICAL_BULLET;
HORIZONTAL_WATERFALL;
HORIZONTAL_COMBINATION_DUAL;
DONUT_100;
};
dimensions : array of ElementRef;
measures : array of ElementRef;
dimensionAttributes : array of
{
dimension : ElementRef;
role : String(10) enum
{
CATEGORY;
SERIES;
CATEGORY2;
};
valuesForSequentialColorLevels: array of String(1024);
emphasizedValues: array of String(1024);
};
measureAttributes : array of
{
measure : ElementRef;
role : String(10) enum
{
AXIS_1;
AXIS_2;
AXIS_3;
};
asDataPoint : Boolean default true;
useSequentialColorLevels: Boolean default true;
};
actions : array of
{
type : String(40) enum
{
FOR_ACTION;
FOR_INTENT_BASED_NAVIGATION;
};
@LanguageDependency.maxLength : 40
label : String(60);
dataAction : String(120);
requiresContext : Boolean default true;
invocationGrouping : String(12) enum
{
ISOLATED;
CHANGE_SET;
} default #ISOLATED;
semanticObjectAction : String(120);
};
};
@Scope:[#ENTITY]
selectionPresentationVariant : array of
{
qualifier : String(120);
id : String(120);
@LanguageDependency.maxLength : 40
text : String(60);
selectionVariantQualifier : String(120);
presentationVariantQualifier : String(120);
};
@Scope:[#ENTITY]
selectionVariant : array of
{
qualifier : String(120);
id : String(120);
@LanguageDependency.maxLength : 40
text : String(60);
parameters : array of
{
name : ParameterRef;
value : String(1024);
};
filter : String(1024);
};
@Scope:[#ENTITY]
presentationVariant : array of
{
qualifier : String(120);
id : String(120);
@LanguageDependency.maxLength : 40
text : String(60);
maxItems : Integer;
sortOrder : array of
{
by : ElementRef;
direction : String(4) enum
{
ASC;
DESC;
};
};
groupBy : array of ElementRef;
totalBy : array of ElementRef;
total : array of ElementRef;
includeGrandTotal : Boolean default true;
initialExpansionLevel : Integer;
requestAtLeast : array of ElementRef;
visualizations : array of
{
type : String(40) enum
{
AS_LINEITEM;
AS_CHART;
AS_DATAPOINT;
};
qualifier : String(120);
element : ElementRef;
};
selectionFieldsQualifier : String(120);
};
@Scope:[#ELEMENT, #PARAMETER]
hidden : Boolean default true;
@Scope:[#ELEMENT]
masked : Boolean default true;
@Scope:[#ELEMENT]
multiLineText : Boolean default true;
@Scope:[#ELEMENT]
lineItem : array of
{
@Scope: [#ELEMENT, #ENTITY]
qualifier : String(120);
position : DecimalFloat;
exclude : Boolean default true;
hidden : Boolean default true;
importance : String(6) enum { HIGH; MEDIUM; LOW; };
type : String(40) enum
{
AS_ADDRESS;
AS_CHART;
AS_CONNECTED_FIELDS;
AS_CONTACT;
AS_DATAPOINT;
AS_FIELDGROUP;
FOR_ACTION;
FOR_INTENT_BASED_NAVIGATION;
STANDARD;
WITH_INTENT_BASED_NAVIGATION;
WITH_NAVIGATION_PATH;
WITH_URL;
} default #STANDARD;
@LanguageDependency.maxLength : 40
label : String(60);
iconUrl : String(1024);
@Scope: [#ELEMENT, #ENTITY]
criticality : ElementRef;
criticalityRepresentation : String(12) enum
{
WITHOUT_ICON;
WITH_ICON;
} default #WITHOUT_ICON;
dataAction : String(120);
requiresContext : Boolean default true;
invocationGrouping : String(12) enum { ISOLATED; CHANGE_SET; } default #ISOLATED;
semanticObjectAction : String(120);
value : ElementRef;
valueQualifier : String(120);
targetElement : ElementRef;
url : ElementRef;
};
@Scope:[#ELEMENT]
identification : array of
{
position : DecimalFloat;
exclude : Boolean default true;
hidden : Boolean default true;
importance : String(6) enum { HIGH; MEDIUM; LOW; };
type : String(40) enum
{
AS_ADDRESS;
AS_CHART;
AS_CONNECTED_FIELDS;
AS_CONTACT;
AS_DATAPOINT;
AS_FIELDGROUP;
FOR_ACTION;
FOR_INTENT_BASED_NAVIGATION;
STANDARD;
WITH_INTENT_BASED_NAVIGATION;
WITH_NAVIGATION_PATH;
WITH_URL;
} default #STANDARD;
@LanguageDependency.maxLength : 40
label : String(60);
iconUrl : String(1024);
criticality : ElementRef;
criticalityRepresentation : String(12) enum
{
WITHOUT_ICON;
WITH_ICON;
} default #WITHOUT_ICON;
dataAction : String(120);
requiresContext : Boolean default true;
invocationGrouping : String(12) enum { ISOLATED; CHANGE_SET; } default #ISOLATED;
semanticObjectAction : String(120);
value : ElementRef;
valueQualifier : String(120);
targetElement : ElementRef;
url : ElementRef;
};
@Scope:[#ELEMENT]
statusInfo : array of
{
position : DecimalFloat;
exclude : Boolean default true;
hidden : Boolean default true;
importance : String(6) enum { HIGH; MEDIUM; LOW; };
type : String(40) enum
{
AS_ADDRESS;
AS_CHART;
AS_CONNECTED_FIELDS;
AS_CONTACT;
AS_DATAPOINT;
AS_FIELDGROUP;
FOR_ACTION;
FOR_INTENT_BASED_NAVIGATION;
STANDARD;
WITH_INTENT_BASED_NAVIGATION;
WITH_NAVIGATION_PATH;
WITH_URL;
} default #STANDARD;
@LanguageDependency.maxLength : 40
label : String(60);
iconUrl : String(1024);
criticality : ElementRef;
criticalityRepresentation : String(12) enum
{
WITHOUT_ICON;
WITH_ICON;
} default #WITHOUT_ICON;
dataAction : String(120);
requiresContext : Boolean default true;
invocationGrouping : String(12) enum { ISOLATED; CHANGE_SET; } default #ISOLATED;
semanticObjectAction : String(120);
value : ElementRef;
valueQualifier : String(120);
targetElement : ElementRef;
url : ElementRef;
};
@Scope:[#ELEMENT]
fieldGroup : array of
{
qualifier : String(120);
@LanguageDependency.maxLength : 40
groupLabel : String(60);
position : DecimalFloat;
exclude : Boolean default true;
hidden : Boolean default true;
importance : String(6) enum { HIGH; MEDIUM; LOW; };
type : String(40) enum
{
AS_ADDRESS;
AS_CHART;
AS_CONNECTED_FIELDS;
AS_CONTACT;
AS_DATAPOINT;
AS_FIELDGROUP;
FOR_ACTION;
FOR_INTENT_BASED_NAVIGATION;
STANDARD;
WITH_INTENT_BASED_NAVIGATION;
WITH_NAVIGATION_PATH;
WITH_URL;
} default #STANDARD;
@LanguageDependency.maxLength : 40
label : String(60);
iconUrl : String(1024);
criticality : ElementRef;
criticalityRepresentation : String(12) enum
{
WITHOUT_ICON;
WITH_ICON;
} default #WITHOUT_ICON;
dataAction : String(120);
requiresContext : Boolean default true;
invocationGrouping : String(12) enum { ISOLATED; CHANGE_SET; } default #ISOLATED;
semanticObjectAction : String(120);
value : ElementRef;
valueQualifier : String(120);
targetElement : ElementRef;
url : ElementRef;
};
@Scope:[#ELEMENT]
dataPoint
{
qualifier : String(120);
@LanguageDependency.maxLength : 40
title : String(60);
@LanguageDependency.maxLength : 80
description : String(120);
@LanguageDependency.maxLength : 193
longDescription : String(250);
targetValue : DecimalFloat;
targetValueElement : ElementRef;
forecastValue : ElementRef;
minimumValue : DecimalFloat;
maximumValue : DecimalFloat;
visualization : String(12) enum
{
NUMBER;
BULLET_CHART;
DONUT;
PROGRESS;
RATING;
};
valueFormat
{
scaleFactor : DecimalFloat;
numberOfFractionalDigits : Integer;
};
referencePeriod
{
@LanguageDependency.maxLength : 80
description : String(120);
start : ElementRef;
end : ElementRef;
};
criticality : ElementRef;
criticalityValue : Integer enum
{
NEGATIVE;
CRITICAL;
POSITIVE;
};
criticalityRepresentation : String(12) enum
{
WITHOUT_ICON;
WITH_ICON;
} default #WITHOUT_ICON;
criticalityCalculation
{
improvementDirection : String(8) enum
{
MINIMIZE;
TARGET;
MAXIMIZE;
};
acceptanceRangeLowValue : DecimalFloat;
acceptanceRangeHighValue : DecimalFloat;
toleranceRangeLowValue : DecimalFloat;
toleranceRangeLowValueElement : ElementRef;
toleranceRangeHighValue : DecimalFloat;
toleranceRangeHighValueElement : ElementRef;
deviationRangeLowValue : DecimalFloat;
deviationRangeLowValueElement : ElementRef;
deviationRangeHighValue : DecimalFloat;
deviationRangeHighValueElement : ElementRef;
constantThresholds: array of
{
aggregationLevel: array of ElementRef;
acceptanceRangeLowValue: DecimalFloat;
acceptanceRangeHighValue: DecimalFloat;
toleranceRangeLowValue: DecimalFloat;
toleranceRangeHighValue: DecimalFloat;
deviationRangeLowValue: DecimalFloat;
deviationRangeHighValue: DecimalFloat;
};
};
trend : ElementRef;
trendCalculation
{
referenceValue : ElementRef;
isRelativeDifference : Boolean default true;
upDifference : DecimalFloat;
upDifferenceElement : ElementRef;
strongUpDifference : DecimalFloat;
strongUpDifferenceElement : ElementRef;
downDifference : DecimalFloat;
downDifferenceElement : ElementRef;
strongDownDifference : DecimalFloat;
strongDownDifferenceElement : ElementRef;
};
responsible : ElementRef;
responsibleName : String(120);
};
@Scope:[#ELEMENT]
selectionField : array of
{
qualifier : String(120);
position : DecimalFloat;
exclude : Boolean default true;
element : ElementRef;
};
@Scope:[#ELEMENT]
facet : array of
{
qualifier : String(120);
@CompatibilityContract: {
c1: { usageAllowed: false },
c2: { usageAllowed: true,
allowedChanges.annotation: [ #REMOVE ],
allowedChanges.value: [ #NONE ]} }
feature : String(40);
id : String(120);
purpose : String(40) enum
{
STANDARD;
HEADER;
QUICK_VIEW;
QUICK_CREATE;
FILTER;
} default #STANDARD;
parentId : String(120);
position : DecimalFloat;
exclude : Boolean default true;
hidden : Boolean default true;
isPartOfPreview : Boolean default true;
isSummary : Boolean default true;
isMap : Boolean default true;
importance : String(6) enum
{
HIGH;
MEDIUM;
LOW;
};
@LanguageDependency.maxLength : 40
label : String(60);
type : String(40) enum
{
COLLECTION;
ADDRESS_REFERENCE;
BADGE_REFERENCE;
CHART_REFERENCE;
CONTACT_REFERENCE;
DATAPOINT_REFERENCE;
FIELDGROUP_REFERENCE;
HEADERINFO_REFERENCE;
IDENTIFICATION_REFERENCE;
LINEITEM_REFERENCE;
STATUSINFO_REFERENCE;
URL_REFERENCE;
};
targetElement : ElementRef;
targetQualifier : String(120);
url : ElementRef;
};
@Scope:[#ENTITY, #ELEMENT]
textArrangement : String(13) enum
{
TEXT_FIRST;
TEXT_LAST;
TEXT_ONLY;
TEXT_SEPARATE;
};
@Scope: [#ELEMENT]
kpi : array of
{
qualifier : String(120);
id : String(120);
@LanguageDependency.maxLength: 10
shortDescription : String(20);
selectionVariantQualifier : String(120);
detail
{
defaultPresentationVariantQualifier : String(120);
alternativePresentationVariantQualifiers : array of String(120);
semanticObject : String(120);
semanticObjectAction : String(120);
};
dataPoint
{
@LanguageDependency.maxLength : 40
title : String(60);
@LanguageDependency.maxLength : 80
description : String(120);
@LanguageDependency.maxLength : 193
longDescription : String(250);
targetValue : DecimalFloat;
forecastValue : DecimalFloat;
minimumValue : DecimalFloat;
maximumValue : DecimalFloat;
valueFormat
{
scaleFactor : DecimalFloat;
numberOfFractionalDigits : Integer;
};
visualization : String(12) enum
{
NUMBER;
BULLET_CHART;
DONUT;
PROGRESS;
RATING;
};
referencePeriod {
@LanguageDependency.maxLength: 80
description : String(120);
start : ElementRef;
end : ElementRef;
};
criticality : ElementRef;
criticalityValue : Integer enum
{
NEGATIVE;
CRITICAL;
POSITIVE;
};
criticalityRepresentation : String(12) enum
{
WITHOUT_ICON;
WITH_ICON;
} default #WITHOUT_ICON;
criticalityCalculation
{
improvementDirection : String(8) enum
{
MINIMIZE;
TARGET;
MAXIMIZE;
};
acceptanceRangeLowValue : DecimalFloat;
acceptanceRangeHighValue : DecimalFloat;
toleranceRangeLowValue : DecimalFloat;
toleranceRangeHighValue : DecimalFloat;
deviationRangeLowValue : DecimalFloat;
deviationRangeHighValue : DecimalFloat;
constantThresholds : array of
{
aggregationLevel : array of ElementRef;
acceptanceRangeLowValue : DecimalFloat;
acceptanceRangeHighValue : DecimalFloat;
toleranceRangeLowValue : DecimalFloat;
toleranceRangeHighValue : DecimalFloat;
deviationRangeLowValue : DecimalFloat;
deviationRangeHighValue : DecimalFloat;
};
};
trend : ElementRef;
trendCalculation
{
referenceValue : ElementRef;
isRelativeDifference : Boolean ;
upDifference : DecimalFloat;
strongUpDifference : DecimalFloat;
downDifference : DecimalFloat;
strongDownDifference : DecimalFloat;
};
responsible : ElementRef;
responsibleName: String(120);
};
};
@Scope: [#ELEMENT]
valueCriticality: array of
{
qualifier : String(120);
value : String(120);
criticality : Integer enum
{
NEGATIVE;
CRITICAL;
POSITIVE;
};
};
@Scope: [#ELEMENT]
criticalityLabels : array of {
qualifier: String(120);
criticality: Integer enum
{
NEGATIVE;
CRITICAL;
POSITIVE;
};
@LanguageDependency.maxLength: 40
label: String(60);
};
@Scope: [#ELEMENT]
connectedFields : array of
{
qualifier : String(120);
@LanguageDependency.maxLength : 40
groupLabel : String(60);
@LanguageDependency.maxLength : 197
template : String(255);
name : String(120);
exclude : Boolean default true;
hidden : Boolean default true;
importance : String(6) enum { HIGH; MEDIUM; LOW; };
type : String(40) enum
{
AS_ADDRESS;
AS_CHART;
AS_CONNECTED_FIELDS;
AS_CONTACT;
AS_DATAPOINT;
AS_FIELDGROUP;
FOR_ACTION;
FOR_INTENT_BASED_NAVIGATION;
STANDARD;
WITH_INTENT_BASED_NAVIGATION;
WITH_NAVIGATION_PATH;
WITH_URL;
} default #STANDARD;
@LanguageDependency.maxLength : 40
label : String(60);
iconUrl : String(1024);
criticality : ElementRef;
criticalityRepresentation : String(12) enum
{
WITHOUT_ICON;
WITH_ICON;
} default #WITHOUT_ICON;
dataAction : String(120);
requiresContext : Boolean default true;
invocationGrouping : String(12) enum { ISOLATED; CHANGE_SET; } default #ISOLATED;
semanticObjectAction : String(120);
value : ElementRef;
valueQualifier : String(120);
targetElement : ElementRef;
url : ElementRef;
};
};