Fiori Apps using List Report Template
@[Link]: true
@DefaultAggregation: #SUM
@[Link]: true
used for positioning fields and selection fields in the Fiori Apps.
@[Link]: [{position:10 ,importance: #HIGH}]
@[Link]: [{position: 10}]
@[Link]: 'Sales Order Number'
@[Link]: 'Sales Order NO'
@[Link]: [{position:10 ,importance: #HIGH}]
@[Link]: [{position: 10}]
@[Link]: '_VBAK'
@[Link]: true
used for displaying the text in the Fiori Apps
@[Link]: 'Material Descrption'
@[Link]: 'Material Desc'
@[Link]: true
_MaterialText[ 1:Language = $session.system_language ].MaterialName as
MaterialDescrption,
for quantity and currenyc
@[Link]: This annotation tags a field containing a currency code
@[Link]: The annotated field contains the amount, and the
corresponding currency code is contained in the referenced field.
@[Link]: This annotation tags a field containing a unit of measure
@[Link]: The annotated field contains a quantity, and the
corresponding unit of measure is contained in the referenced field
[Link]: 'DeliveryQuantityUnit'
@[Link]: true
_LIPS.DeliveryQuantityUnit as DELIVERYQUNATITYUNIT,
@[Link]: 'DELIVERYQUNATITYUNIT'
_LIPS.OriginalDeliveryQuantity,
for amount
@[Link]: true
//Aggregations
@DefaultAggregation:#SUM
@[Link]: 'OrderQuantityUnit'
We can use filters in Consumption View but here since we are using Composite Cube
View so we have not used Filter Annotations.
You can try with Parameters.
Annotation @[Link]:{ SelectionType:# Range, MultipleSelections:True,
Mandatory: False}
to display the fields automatically rows and columns.
Annotation : @[Link]: #Rows /#Columns
=================================================
Fiori Overview Page Report(OVP) Template
@[Link]: Use this annotation to define the typeName which will be shown as
the card header,as well as a title and header.
@[Link]: {
typeNamePlural: ‘Sales Orders’,
// imageUrl: ‘VenkatImg’,
typeName: ‘Sales Order’,
title: {
label: ‘Order ID’,
value: ‘SalesDocument’
},
description: {
label: ‘Customer’,
value: ‘Customer’
}
}
@[Link]: Used for navigating from one view to other view using Semantic
Navigation.
@[Link]: {type: #FOR_INTENT_BASED_NAVIGATION, semanticObjectAction: ”,
label: ”, position: ”}
Annotation @[Link] : Used for displaying the Charts in the Fiori app.
@[Link]:[{
qualifier: ‘chartLineItem’,
title:’Order Net Amount’,
chartType: #COLUMN,
dimensions: [‘SalesDocument’],
measures: [‘NetAmount’, ‘NetPriceAmount’],
dimensionAttributes: {dimension: ‘SalesDocument’, role:#SERIES},
measureAttributes: [{measure: ‘NetAmount’, role: #AXIS_1}, {measure:
NetPriceAmount’, role: #AXIS_1}]
}]
Annotation @[Link] : Used for displaying the KPI values.
@[Link]: {title: ‘Net Amt’,
criticalityCalculation: {
improvementDirection: #TARGET,
deviationRangeLowValue: 000,
toleranceRangeLowValue: 600,
toleranceRangeHighValue: 1000,
deviationRangeHighValue: 1400
}}
Used below annotation to achieve the value help and filter functionality. Value
Help and Text Views are NOT categories of views.
These are just typed and used for better understanding.
@[Link]:’_AssicationName’: This Annotation is used for
Value Help from association based on the Key Field.
@[Link]: This Annotation is used for Value Help from Associations.
@[Link]: This Annotation Used for Value Help from another
CDS view or Value Help CDS.
@[Link]: [
{ entity: { name: 'I_Country',
element: 'Country' }
}]
@[Link]: This annotation enables the selection option variable and
filtering elements of the underlying view.
We can give default value, range, multiple selections and
mandatory, etc only use in analtical of in transaint provideer.
@[Link]: True: It is possible to search for the annotated
field in the freestyle search field in the value help dialog
@[Link]: 0.8: How fuzzy the text search applied to the annotated
field should be, For example, value 0.8 refers to a similarity of 80%.
=====================obejct model================================
@[Link]: #VALUE_HELP: It is used to better understanding of value
Help Views
===========================================
@[Link]: Assign the Association name to the annotated View
@[Link]: Assign the Other CDS entity name and Element Name
@[Link]: ‘_Text’: The relationship between a field and
its language-dependent descriptive text field(s) and
This Annotation points to a language-dependent text view.
Its cardinality is [0/1..*].
TEXT View:
@[Link]: #TEXT: Text views should only be defined for language-
dependent texts.
@[Link]: True: The language field that is used in the text view must be
a key field and The language field Should be annotated.
@[Link]: true: At least one non-key field has to be defined as a text field
in a text view.
for anaytical query
@[Link]: #ROWS
@[Link]: #COLUMNS
@[Link]: #FREE
[Link]: This annotation enables the selection option variable and
filtering elements of the underlying view.
We can give default value, range, multiple selections and
mandatory, etc only use in analtical of in transaint provideer.
Create SAP Fiori Bar Chart using CDS and
hen we write the UI Annotations in CDS Views, it generates the Annotation file
behind the scene which will be used by Fiori App. The Annotation file has the
suffix _VAN.
@[Link]: [{ position: 10, label: ‘Company Code’, qualifier: ‘Q1’}]
CDS View is a measure. The measures (numbers) are indicated in [Link] type
#AS_DATAPOINT.
@[Link]:
{
title: ‘Number of Plants in CC’,
criticalityCalculation: {
improvementDirection: #TARGET,
toleranceRangeLowValue: 8,
deviationRangeHighValue: 10
}
}
@[Link]: [{ position: 20, label: ‘Total Plants in CC’, qualifier: ‘Q1’, type:
#AS_DATAPOINT } ]
Create SAP Fiori Donut Chart using CDS and without any HTML/JS Coding.
Point to Remember – If we use one CDS View to build 2 or more Cards, then we need
Qualifiers. It helps the Fiori to identify the Cards. One for Bar Chart (Q1),
another for Donut Chart (Q2), another for Pie Chart (Q3) so on and so forth.
In other words, Qualifier helps the UI to differentiate the Cards.
// Donut Chart Annotation
@[Link]: [{
qualifier: ‘Q2’,
title: ‘Plant Count’,
chartType: #DONUT,
dimensions: [‘com_code’],
measures: [‘tot_plants’],
dimensionAttributes: [{ dimension: ‘com_code’, role: #CATEGORY }],
measureAttributes: [{ measure: ‘tot_plants’, role: #AXIS_1, asDataPoint: true
}]
}]