Skip to Content
1
Feb 24, 2020 at 07:52 PM

How to add a Subsection to a FIORI Elements Object Page?

1434 Views

I have followed the guidance here https://help.sap.com/viewer/468a97775123488ab3345a0c48cadd8f/1809BW.001/en-US/facfea09018d4376acaceddb7e3f03b6.html

But, it doesn't seem to work (or I'm missing something)

here is my CDS @UI.facet annotation

         ...
         {
             label : 'Pricing',
             id : 'pricing',
             purpose: #STANDARD,
             type : #COLLECTION,
             position: 30
         },
         {
             label:'Pricing Info',
             id : 'pricinginfo',
             parentId : 'pricing',
             type : #COLLECTION,
             position: 40
         },
         {
             label:'Contract Values',
             id : 'ContractValues',
             parentId : 'pricinginfo',
             type : #FIELDGROUP_REFERENCE,
             targetQualifier : 'contractvalues',
             position: 60
         },
         {
             label:'Funding Values',
             id : 'FundingValues',
             parentId : 'pricinginfo',
             type : #FIELDGROUP_REFERENCE,
             targetQualifier : 'fundingvalues',
             position: 70
         },
         {
             label:'Authorized Unpriced Values',
             id : 'AuthorizedUnpricedValues',
             parentId : 'pricinginfo',
             type : #LINEITEM_REFERENCE,
             targetQualifier : 'unpricedvalues',
             position: 80
         },
...

The generated XML annotations from the CDS is below, which looks to be structured the same as the documentation.

<Record Type="UI.CollectionFacet">
  <PropertyValue Property="Label" String="Pricing"/>
  <PropertyValue Property="ID" String="pricing"/>
  <PropertyValue Property="Facets">
    <Collection>
      <Record Type="UI.CollectionFacet">
        <PropertyValue Property="Label" String="Pricing Info"/>
        <PropertyValue Property="ID" String="pricinginfo"/>
        <PropertyValue Property="Facets">
          <Collection>
            <Record Type="UI.ReferenceFacet">
              <PropertyValue Property="Label" String="Contract Values"/>
              <PropertyValue Property="ID" String="ContractValues"/>
              <PropertyValue Property="Target" AnnotationPath="@UI.FieldGroup#contractvalues"/>
            </Record>
            <Record Type="UI.ReferenceFacet">
              <PropertyValue Property="Label" String="Funding Values"/>
              <PropertyValue Property="ID" String="FundingValues"/>
              <PropertyValue Property="Target" AnnotationPath="@UI.FieldGroup#fundingvalues"/>
            </Record>
            <Record Type="UI.ReferenceFacet">
              <PropertyValue Property="Label" String="Authorized Unpriced Values"/>
              <PropertyValue Property="ID" String="AuthorizedUnpricedValues"/>
              <PropertyValue Property="Target" AnnotationPath="@UI.LineItem#unpricedvalues"/>
            </Record>
          </Collection>
        </PropertyValue>
      </Record>
    </Collection>
  </PropertyValue>
</Record>

The result is the higher level Collection Facet ("Pricing") gets ignored and the 2nd level ("Pricing Info") is what is displayed.

Attachments