Skip to Content
Author's profile photo Muruga MuthuKrishnan

S/4 HANA F4 Help values, Key & Text display in ABAP CDS Views based reports

Overview:

F4 help values, Key & Text display is standard feature in SAP however in Embedded Analytics reports (Custom ABAP CDS views Development) these two functionalities will not come by default. This blog will help how to leverage these functionalities in custom developed reports in Embedded Analytics.

Version: S/4 HANA 1610

Problem Statement:

  For custom developed ABAP CDS views based reports in Embedded Analytics F4 help values, Key & Text display was not appearing in reports by default as in ABAP reports or in BW reports.

Solution:

Follow the below steps to leverage these two standard functionalities in Embedded Analytics reports.

Prerequisite: In this blog we are using standard Basic Views to bring F4 help values, Key & Text usage in reports. By default highlighted annotations should be there in the standard ABAP CDS views if not add these two annotations to leverage F4 help values, Key & Text display in reports.

Scenario 1:

When dimension (Material) is inherited from custom/standard CDS view in the basic/composite CDS view. Report should show F4 help values, Key & Text display.

Step 1:

In the basic CDS view Material should come from I_PurchasingDocumentItem hence association is created in the standard CDS view.

I_PurchasingDocumentItem CDS view

In I_PurchasingDocumentItem CDS view I_Material is already associated hence it is not required to associate separately with I_Material in our CDS view, directly we can consume those associations in our views as mentioned below.

This is required because we are directly bringing the text in composite view hence the below code is mandatory.

_PurchaseItem._Material

Step2:

In the composite view mention the below highlighted annotations so that text can derive from the Basic view (Step 1).

In the above code we have to mention the Text associated view name next to the Key hence _Material is mentioned after _Purchase.Material

Step3:

In Consumption view mention the query display as Key and Text as mentioned below.

Step4:

Now run the report in RSRT or Analysis Office, highlighted (Yellow) is text for Material which wasn’t appearing earlier.

Scenario 2:

When dimension (GL Account) is coming from table, report should have F4 help values, Key & Text display.

Step 1:

Here GL Account number is directly coming from EKKN table.

Mention the foreign key association as mentioned below.

Step 2:

GL Account number is coming from table hence we need to separately associate GL Account to bring the F4 help value hence the standard CDS view I_GLAccount is used in our composite view.

Mention the foreign key association as mentioned below.

GL Account F4 help value need to display Text as well hence in the composite view we have mentioned the association name.

No need to mention the association name next to GL Account Number as mentioned in Scenario 1 (Step2) because here we are explicitly associating GL Account basic view in the composite view hence it is not required.

Step 4:

In Consumption view mention the query display as Key and Text.

Step 5:

Run the report through RSRT or Analysis office, earlier F4 help for GL Account wasn’t appearing earlier.

As GL account standard ABAP CDS view will bring text, we have enabled the text in our CDS view so report will display the text as well. Highlighted (Yellow) columns are text fields in report which wasn’t appearing earlier.

Scenario 3:

When dimension (Document Year) is coming from table, report should have F4 help values no need of Key & Text display.

Step 1:

Here Material Document Year is directly coming from EKBE table in our basic view.

Step 2:

Material Document Year is coming from table hence we need to separately associate Document Year in composite view to bring the F4 help value hence the standard ABAP CDS view I_CalendarYear is used.

Mention the foreign key association as mentioned below.

Step 3:

In Consumption view mention your selection prompt annotations.

Step 4:

Run the report through RSRT or Analysis office, earlier F4 help for Document Year wasn’t appearing earlier.

Conclusion:

  1. F4 help values, Key & Text display in reports require separate annotation enable in the custom CDS views models.
  2. Text annotations should be enabled in the standard CDS views if it is not already so that it can be leveraged in custom ABAP CDS models.
  3. When there is no standard text CDS view then custom text ABAP CDS views are required to develop.

Assigned Tags

      7 Comments
      You must be Logged on to comment or reply to a post.
      Author's profile photo Ankur Kuchhal
      Ankur Kuchhal

      Very informative and nicely composed article and looking forward to see more in this space with your learning from the project

       

      Author's profile photo Former Member
      Former Member

      Hi Krishnan,

      Thanks for your valuable information and sharing.

      I have come across the same requirement in my current organisation and was couldn't achieved the required results, encounter with error.

      Please find the attached document and suggest me how to rectify it.

       

      This is one more simple one I have tried.

      @AbapCatalog.sqlViewName: 'zcds_sql_join'

      @AbapCatalog.compiler.compareFilter: true

      @EndUserText.label: 'Join example'

      @AccessControl.authorizationCheck: #NOT_REQUIRED

      @VDM.viewType: #BASIC

      @Analytics.dataCategory: #DIMENSION

      @Analytics.dataExtraction.enabled: true

      @Search.searchable: true

      define view Ztest_Cds_First with parameters p_ebeln:ebeln

      as

      select from ekko as _a

      association to ekpo as _b

      on _a.ebeln = $parameters.p_ebeln

      and _b.ebelp <> '00000'

      and _b.aedat <= '20161117'

      association to makt as c

      on $projection.matnr = c.matnr

      {

      @Search.defaultSearchElement: true

      key _a.ebeln,

      _b.ebelp,

      _a.bukrs,

      _a.bstyp,

      _a.bsart,

      _b.txz01,

      _b.matnr,

      //c.maktx,

      @Semantics.unitOfMeasure : true

      _b.meins as meins,

      @Semantics.quantity.unitOfMeasure: 'MEINS'

      @DefaultAggregation: #SUM

      _b.menge as menge,

      @Semantics.currencyCode: true

      _a.waers as waers,

      @Semantics.amount.currencyCode: 'WAERS'

      @DefaultAggregation: #SUM

      _b.netpr,

      //@Consumption.filter: {selectiontype: #}

      cast(_b.netwr as abap.fltp ) / 100.0  as per

      }

       

       

       

      @AbapCatalog.sqlViewName: 'ztest_cube_sql'

      //@AbapCatalog.compiler.compareFilter: true

      @ClientDependent:true

      @AccessControl.authorizationCheck: #CHECK

      @EndUserText.label: 'using ztest_cds_first in this'

      @VDM.viewType: #BASIC

      @Analytics.dataCategory: #CUBE

      //@Analytics.dataExtraction.enabled: true

      @Search.searchable: true

      @ObjectModel.representativeKey: 'EBLEN'

      define view Ztest_Cds_Cube

      with parameters p_ebeln: ebeln

      as select from Ztest_Cds_First(p_ebeln : $parameters.p_ebeln)

      association[0..1] to ztest_ebeln as _ZEKKO

      on $projection.ebeln = Ztest_Cds_First.ebeln

      {

      @ObjectModel.foreignKey.association: '_ZEKKO'

      @Search.defaultSearchElement: true

      key  Ztest_Cds_First.ebeln,

      Ztest_Cds_First.ebelp,

      Ztest_Cds_First.bukrs,

      Ztest_Cds_First.bstyp,

      Ztest_Cds_First.bsart,

      Ztest_Cds_First.txz01,

      Ztest_Cds_First.matnr,

      //Ztest_Cds_First.maktx,

      @Semantics.unitOfMeasure : true

      Ztest_Cds_First.meins as meins,

      @Semantics.quantity.unitOfMeasure: 'MEINS'

      @DefaultAggregation: #SUM

      Ztest_Cds_First.menge as menge,

      @Semantics.currencyCode: true

      Ztest_Cds_First.waers as waers,

      @Semantics.amount.currencyCode: 'WAERS'

      @DefaultAggregation: #SUM

      Ztest_Cds_First.netpr

       

      //Ztest_Cds_First.per

       

      }

       

       

      @AbapCatalog.sqlViewName: 'ZTEST_SQL'

      @AbapCatalog.compiler.compareFilter: true

      @AccessControl.authorizationCheck: #NOT_REQUIRED

      @EndUserText.label: 'Display in Query browser'

      @VDM.viewType: #CONSUMPTION

      @Analytics.dataExtraction.enabled: true

      @Analytics.query: true

      @OData.publish: true

      @Search.searchable: true

       

      define view Ztest_Cds_Query

      with parameters p_ebeln:ebeln

      as select from Ztest_Cds_Cube(p_ebeln:$parameters.p_ebeln)

      {

      @AnalyticsDetails.query.axis: #FREE

      @Search.defaultSearchElement: true

      key Ztest_Cds_Cube.ebeln,

      Ztest_Cds_Cube.ebelp,

      Ztest_Cds_Cube.bukrs,

      Ztest_Cds_Cube.bstyp,

      Ztest_Cds_Cube.bsart,

      Ztest_Cds_Cube.txz01,

      Ztest_Cds_Cube.matnr

      // Ztest_Cds_Cube.maktx

       

      //Ztest_Cds_Comp.menge

      //  @Semantics.amount.currencyCode: 'Currency code'

      //@DefaultAggregation: #SUM

      //Ztest_Cds_Comp.netpr

      //    Ztest_Cds_Comp.per

       

      }

       

       

      When We see in RSRT there is no F4 help.

      Author's profile photo Madhu obireddy
      Madhu obireddy

      Can we create a F4 Help on Non Key field in CDS View.

      For Example on Sales Rep name, Bill to Party name

       

      Please let me know

       

      Thanks

      Madhu

      Author's profile photo Muruga MuthuKrishnan
      Muruga MuthuKrishnan
      Blog Post Author

      Yes you can achieve provided help view is available by standard otherwise you have to create a new help view.

      Author's profile photo Andrés Barros Iglesias
      Andrés Barros Iglesias

      Hi Muruga,

      Is there some way to add Value Helps in CDS Views for the parameters in CUBES to use them in Transient Providers?

      Thank you in advance and nice blog!!

      Author's profile photo Atul A. Maslekar
      Atul A. Maslekar

      Yes you can achieve . You need give data element for view parameter.

      Author's profile photo Avinash Bajaj
      Avinash Bajaj

      Hi Muthu,

       

      I have a standard CDS value help view. When i calling that in extension of Consumtion View using Consumption.ValueHelp, F4 help value is coming, but i want it as dropdown. Can you guide me how to do it ?