cancel
Showing results for 
Search instead for 
Did you mean: 

Fiori OData Annotations - documentation?

js2
Product and Topic Expert
Product and Topic Expert
0 Kudos

With the release of the Fiori Overview Page and a few blogs giving a quick overview of its use, I'm wondering where I can not get detailed information about creating annotation files for use in the WebIDE's OVP plugin..?

Iv'e seen the introduction blogs listed here () but to do anything usable with OVP we need the full doco.   😉

Accepted Solutions (1)

Accepted Solutions (1)

former_member216148
Active Participant
0 Kudos
js2
Product and Topic Expert
Product and Topic Expert
0 Kudos

Thankyou Saad.

I have seen each of those links and none of them help unfortunately. I keep getting the exact same ones sent to me.  😉

Firstly the WebIDE help does talk about the annotation modeller plugin that can be used and that would be great except - it does not work for an OVP page. According to the doco you need to have a project type of "smart template" for it to work. I even tried adding the project type "smart template" to my OVP page but it makes no difference.

The Web IDE error is: "metadata could not be read from backend system" and a bar flashes across the top of the page (as its its loading something but never does)....

The rest of the doco links don't have any details at all about the annotation file schema nor how to use it. The comment chain at the bottom of the blog does thankfully describe how to create an OVP in WebIDE and show a very basic List card but that is all.

The SAPUI5 documentation has some example annotation files for Table cards and others but they do not work as-in in the Web IDE generated OVP page.

So what we are missing is:

1. Details of the annotations schema.

2. The ability to use the annotation editor on OVP applications (sounds like an awesome tool though)

3. Example of the different annotations and what they do to a Card.

I don't ask for much do I   😉

Thanks again...

RazK
Product and Topic Expert
Product and Topic Expert
0 Kudos

Hi Jason,

Currently, for your questions, I can refer you to

  • Online documentation: Overview Page
  • I think that the blog mentions () is a great starting point. I suggest that you go to the comments thread and see 's amazing response to using the publicly available Northwind OData service from odata.org.

Having written the above, we're in the process of producing a series of technical on-boarding blogs for the OVP. Creating the annotations will be part of these blogs. Some of the blogs will be released shortly.

Regarding the annotations modeller: At this stage it does not provide a straightforward support for the OVP scenario. We have plans to do it in a future release.

Regards,

-- Raz

js2
Product and Topic Expert
Product and Topic Expert
0 Kudos

Thanks for the response Raz. I think I'll mark this as answered for now and wait for the coming information...

I have read the comments on the blog you mentioned and managed to get a basic OVP working with the List and Table Cards but thats it - very hard to chagne it up without knowing the details on the annotations schema, etc. The SAPUI5 help does mention these things but doesn't do it for me either.  😉

Looking forward to the future updates. Thanks.

Answers (3)

Answers (3)

Former Member
0 Kudos

Hi All,

I am trying to create analytic card but not able to get  any chart in card.I created annotation file by myself taken reference from Analytic Cards - User Interface Add-On for SAP NetWeaver - SAP Library

but not able to get charts .

Kindly help me out with annotation.

Regards,

Ayushi

agentry_src
Active Contributor
0 Kudos

Hi All,

There are quite a few of you who are posting questions to this already answered Discussion.  Please create a new Discussion marked as a Question.  Since the solution posted here does not appear to solve your problem, you have a different problem.  The Rules of Engagement refer to this as necromancy which is defined as a violation.  While your issues are similar or related to the subject of this Discussion, your solutions will be more visible to others if not buried in a Discussion which already has a different solution already identified.  If a Discussion (or a Blog or Document) is related, put in a link.

NOTE: Getting the link is easy enough for both the author and Blog.  Simply MouseOver the item, Right Click, and select Copy Shortcut.  Paste it into your Discussion.  You can also click on the url after pasting.  Click on the A to expand the options and select T (on the right) to Auto-Title the url.

Thanks, Mike (Moderator)

SAP Technology RIG

This thread is now locked.

Former Member
0 Kudos

Hi Jason,

I was trying to create Chart card , but i am not able to get data in the card.

I have followed below link.

Analytic Cards - User Interface Add-On for SAP NetWeaver - SAP Library

I Used Northwind odata model to do pracitce.

I am not sure how to create annotation file in case of Analytic Cards.

Below is the code for my Manifest and annotation file which i have tried.

Annotation file

        <Schema Namespace="NorthwindModel" sap:schema-version="1" xmlns="">

            <Annotations Target="NorthwindModel.Summary_of_Sales_by_Year" xmlns="">

                <Annotation Qualifier="SummaryOfSalesByYear" Term="com.sap.vocabularies.UI.v1.Chart">

                    <Collection>

                        <Record Type="com.sap.vocabularies.UI.v1.DataField">

                            <Annotation EnumMember="com.sap.vocabularies.UI.v1.ImportanceType/High" Term="com.sap.vocabularies.UI.v1.Importance" />

                            <PropertyValue Property="Value" Path="OrderID"/>

                        </Record>

                        <Record Type="com.sap.vocabularies.UI.v1.DataField">

                            <Annotation EnumMember="com.sap.vocabularies.UI.v1.ImportanceType/High" Term="com.sap.vocabularies.UI.v1.Importance" />

                            <PropertyValue Property="Value" Path="ShippedDate"/>

                        </Record>                     

                        <Record Type="com.sap.vocabularies.UI.v1.DataField">

                            <Annotation EnumMember="com.sap.vocabularies.UI.v1.ImportanceType/High" Term="com.sap.vocabularies.UI.v1.Importance" />

                           <PropertyValue Property="Value" Path="Subtotal"/>

                        </Record>

                    </Collection>

                </Annotation>

            </Annotations>

           </Schema>

Manifest Files :

I have only added this part which is IMP.

"sap.ovp": {
"_version": "1.1.0",
"globalFilterModel": "NorthwindModel",
"globalFilterEntityType": "Summary_of_Sales_by_Year",
"cards": {
"cardchartsline": {
"model": "NorthwindModel",
"template": "sap.ovp.cards.charts.line",
"settings": {
"category": "{{cardchartsline_category}}",
"entitySet": "NorthwindEntities.Summary_of_Sales_by_Years",
"selectionAnnotationPath": "com.sap.vocabularies.UI.v1.SelectionVariant#SummaryOfSalesByYear",
"chartAnnotationPath": "com.sap.vocabularies.UI.v1.Chart#SummaryOfSalesByYear",
"presentationAnnotationPath": "com.sap.vocabularies.UI.v1.PresentationVariant#SummaryOfSalesByYear",
"dataPointAnnotationPath": "com.sap.vocabularies.UI.v1.DataPoint#SummaryOfSalesByYear",
"idenfiticationAnnotationPath": "com.sap.vocabularies.UI.v1.Identification#SummaryOfSalesByYear"
}
}
}
}

Please reply.

Thanks,

JP

Former Member
0 Kudos

Hi Experts,

Any answer is here will help me to develop the chart based card.

Please do the needful.

Thanks,

JP

NickSYYang
Active Participant
0 Kudos

Hi Jay,

SAP hasn't released any how-to blogs about chart based card on SCN.

Raz Korn said below in his reply. SO, we just wait for official blogs. Cheers.


...

Having written the above, we're in the process of producing a series of technical on-boarding blogs for the OVP. Creating the annotations will be part of these blogs. Some of the blogs will be released shortly.

...

Kind Regards.

Nick

Former Member
0 Kudos

Hi Nick,

Thanks for your reply.

I did some investigation by my own and i am able to create the line chart in overview page.

I am facing a issue where header of that page does not showing any thing.

Thanks,

JP

RazK
Product and Topic Expert
Product and Topic Expert
0 Kudos

Hi JP,

A quick answer before we have the blogs available.

In order to sort out the header one needs to define a datapoint.

Following is an example for the "NorthwindModel.Summary_of_Sales_by_Year":

<Annotation Term="com.sap.vocabularies.UI.v1.DataPoint">

  <Record Type="com.sap.vocabularies.UI.v1.DataPointType">

  <PropertyValue Property="Title" String="{@i18n&gt;@PRODUCTSALES}"/>

  <PropertyValue Path="Subtotal" Property="Value"/>

  <PropertyValue Property="NumberFormat">

  <Record Type="com.sap.vocabularies.UI.v1.NumberFormat">

  <PropertyValue Decimal="1000" Property="ScaleFactor"/>

  <PropertyValue Int="1" Property="NumberOfFractionalDigits"/>

  </Record>

  </PropertyValue>

  <PropertyValue Property="CriticalityCalculation">

  <Record Type="com.sap.vocabularies.UI.v1.CriticalityCalculationType">

  <PropertyValue EnumMember="com.sap.vocabularies.UI.v1.ImprovementDirectionType/Maximizing" Property="ImprovementDirection"/>

  <PropertyValue Property="ToleranceRangeLowValue" String="3000"/>

  <PropertyValue Property="DeviationRangeLowValue" String="4000"/>

  </Record>

  </PropertyValue>

  </Record>

</Annotation>

Please note that the datapoint annotation is one level below the "NorthwindModel.Summary_of_Sales_by_Year".

Regards,

-- Raz

former_member187188
Participant
0 Kudos

Hi JP,

Are you able to create line chart card in overview page ?

I tried your above annotation and manifest file but not getting anything .I tried by myself taken reference from Analytic Cards - User Interface Add-On for SAP NetWeaver - SAP Library but still not getting anything.

If you any information regarding structure of annotation in chart please share it .

Regards,

Abhishek

Former Member
0 Kudos

Hi Raz,

I was missing this point.

Thanks for you help.

If you have posted this blog let me know.

I did and in the dount cart , i am only getting category Beverage.

I am using v3 of northwind model.

Can you check with your code what i am missing.

<Record Type="com.sap.vocabularies.UI.v1.ChartDefinitionType">

  <PropertyValue Property="Title" String="View1"/>

  <PropertyValue Property="MeasureAttributes">

  <Collection>

  <Record Type="UI.ChartMeasureAttributeType">

  <PropertyValue Property="Measure" PropertyPath="ProductSales"/>

  <PropertyValue EnumMember="UI.ChartMeasureRoleType/Axis1" Property="Role"/>

  </Record>

  </Collection>

  </PropertyValue>

  <PropertyValue Property="DimensionAttributes">

  <Collection>

  <Record Type="com.sap.vocabularies.UI.v1.ChartDimensionAttributeType">

  <PropertyValue Property="Dimension" PropertyPath="CategoryName"/>

  <PropertyValue EnumMember="com.sap.vocabularies.UI.v1.ChartDimensionRoleType/Category" Property="Role"/>

  </Record>

  </Collection>

  </PropertyValue>

  </Record>

Thanks,

JP

former_member187188
Participant
0 Kudos

Hi Raz,

I am trying to create analytic card but not getting any data in it i.e (cannot load a data in card) .I had created annotation file taking reference from SAPUI5 SDK - Demo Kit .

Getting error in console

resource ChartOverview/Component-changes.json could not be loaded from ../Component-changes.json. Check for 'file not found' or parse errors.

Uncaught (in promise) TypeError: s[P].push is not a function(…)

Annotation.xml

<Annotations Target="NorthwindModel.Summary_of_Sales_by_Year" xmlns="http://docs.oasis-open.org/odata/ns/edm">

<Annotation Qualifier="DataPoint" Term="UI.DataPoint">

<Record>

<PropertyValue Property="Title" String="{@i18n&gt;@ORDERID}"/>

<PropertyValue Path="OrderID" Property="Value"/>

<PropertyValue Property="Criticality" String="UI.CriticalityType/Negative"/>

<PropertyValue Property="Trend" String="UI.TrendType/Down"/>

<PropertyValue Property="CriticalityCalculation">

<Record Type="UI.CriticalityCalculationType">

<PropertyValue Property="ImprovementDirection" String="UI.ImprovementDirectionType/Maximize"/>

<PropertyValue Path="Subtotal" Property="ToleranceRangeLowValue"/>

<PropertyValue Path="Subtotal" Property="ToleranceRangeHighValue"/>

</Record>

</PropertyValue>

<PropertyValue Property="ValueFormat">

<Record Type="UI.NumberFormat">

<PropertyValue Decimal="1000" Property="ScaleFactor"/>

<PropertyValue Byte="1" Property="NumberOfFractionalDigits"/>

</Record>

</PropertyValue>

<PropertyValue Property="TrendCalculation">

<Record Type="UI.TrendCalculationType">

<PropertyValue Path="Subtotal" Property="ReferenceValue"/>

<PropertyValue Decimal="100" Property="UpDifference"/>

<PropertyValue Decimal="200" Property="StrongUpDifference"/>

<PropertyValue Decimal="100" Property="DownDifference"/>

<PropertyValue Decimal="200" Property="StrongDownDifference"/>

</Record>

</PropertyValue>

</Record>

</Annotation>

<Annotation Qualifier="SelectionVariant" Term="UI.SelectionVariant">

<Record>

<PropertyValue Property="SelectOptions">

<Collection>

<Record Type="UI.SelectOptionType">

<PropertyValue Property="PropertyName">

<PropertyPath>OrderID</PropertyPath>

</PropertyValue>

</Record>

</Collection>

</PropertyValue>

</Record>

</Annotation>

<Annotation Qualifier="Chart" Term="UI.Chart">

<Record>

<PropertyValue Property="Measures">

<Collection>

<PropertyPath>Subtotal</PropertyPath>

</Collection>

</PropertyValue>

<PropertyValue Property="Dimensions">

<Collection>

<PropertyPath>Subtotal</PropertyPath>

</Collection>

</PropertyValue>

<PropertyValue Property="ChartType" String="UI.ChartType/Line"/>

<PropertyValue Property="MeasureAttributes">

<Collection>

<Record Type="UI.ChartMeasureAttributeType">

<PropertyValue Property="Measure">

<PropertyPath>Subtotal</PropertyPath>

</PropertyValue>

<PropertyValue Property="Role" String="UI.ChartMeasureRoleType/Axis1"/>

</Record>

</Collection>

</PropertyValue>

<PropertyValue Property="DimensionAttributes">

<Collection>

<Record Type="UI.ChartDimensionAttributeType">

<PropertyValue Property="Dimension">

<PropertyPath>Subtotal</PropertyPath>

</PropertyValue>

<PropertyValue Property="Role" String="UI.ChartDimensionRoleType/Series"/>

</Record>

</Collection>

</PropertyValue>

</Record>

</Annotation>

<Annotation Qualifier="groupbyandorder" Term="UI.PresentationVariant">

<Record>

<PropertyValue Int="1" Property="InitialExpansionLevel"/>

<PropertyValue Property="GroupBy">

<Collection>

<PropertyPath>OrderID</PropertyPath>

</Collection>

</PropertyValue>

<PropertyValue Property="TotalBy">

<Collection>

<PropertyPath>Subtotal</PropertyPath>

</Collection>

</PropertyValue>

<PropertyValue Property="Total">

<Collection>

<PropertyPath>ShippedDate</PropertyPath>

</Collection>

</PropertyValue>

<PropertyValue Property="Visualizations">

<Collection>

<AnnotationPath>@UI.Chart#Chart</AnnotationPath>

</Collection>

</PropertyValue>

<PropertyValue Property="RequestAtLeast">

<Collection>

<PropertyPath>OrderID</PropertyPath>

</Collection>

</PropertyValue>

<PropertyValue Property="SortOrder">

<Collection>

<Record Type="Common.SortOrderType">

<PropertyValue Property="Property">

<PropertyPath>Subtotal</PropertyPath>

</PropertyValue>

<Annotation EnumMember="UI.ImportanceType/High" Term="UI.Importance"/>

</Record>

</Collection>

</PropertyValue>

</Record>

</Annotation>

</Annotations>

Manifest.json

"sap.ovp": {

"_version": "1.1.0",

"globalFilterModel": "NorthwindModel",

"globalFilterEntityType": "Summary_of_Sales_by_Year",

"cards": {

"card00": {

"model": "NorthwindModel",

"template": "sap.ovp.cards.charts.line",

"settings": {

"category": "{{card00_category}}",

"entitySet": "Summary_of_Sales_by_Years",

"selectionAnnotationPath": "com.sap.vocabularies.UI.v1.SelectionVariant#SelectionVariant",

"chartAnnotationPath": "com.sap.vocabularies.UI.v1.Chart#Chart",

"presentationAnnotationPath": "com.sap.vocabularies.UI.v1.PresentationVariant#groupbyandorder",

"dataPointAnnotationPath": "com.sap.vocabularies.UI.v1.DataPoint#DataPoint",

"idenfiticationAnnotationPath": "com.sap.vocabularies.UI.v1.Identification#DataPoint"

}

}

Regards,

Abhishek lohiya

NickSYYang
Active Participant
0 Kudos

Hi Jason,

If you want to know annotation structure for a particular OVP card, you can enable debug mode first and then trace corresponding XML fragment file. For example,

  • List card: List.fragment.xml
  • Stack card: Quickview.fragment.xml and ObjectList.fragment.xml
  • Table card: Table.fragment.xml

If you want to dig it by yourself, it's a way to figure out the puzzle. Cheers.

Kind Regards,

Nick