Hi Community,

We were curious about how we could setup a multidimensional custom report, so I figured this out and thought I would share this information with the o-so-giving SCN Community, you guys.

Please note that the explenation and insights below are based on an S/4 HANA NetWeaver 7.50 SP 03 system.

Multidimensional reports are used to do data discovery of analytical CDS views and there is one out of the box example called ‘Incoming sales orders’ that is used througout this post to explain the concept.

In a later phase I will post a second blog, containing a front to back excercise of how you can define one yourself.

The report is displayed in a Fiori tile, in the S/4 HANA launchpad like below.

Multi Dimensional Tile In launchpad.jpg

When we open the Fiori tile, the multidimensional reports for incomming sales orders looks like below.

Incomming Sales Orders.jpg

If we check the definition of the Fiori tile via the standard Fiori Launchpad configuration url, we see that it points to a webdynpro.

     [Host:port]/sap/bc/ui5_ui5/sap/arsrvc_upb_admn/main.html?sap-language=EN#/Catalog/X-SAP-UI2-CATALOGPAGE:SAP_SD_BC_SALES_ANALYTICS

Tile configuration.jpg  configure button.jpg

Here we see the details of the tile configuration, and the fact that the Fiori app is actually a link to a webdynpro application.

Tile Configuration Detailsjpg.jpg

Since one WebDynpro component can have multiple WebDynpro applications, we need to figure out to which component this application belongs, which you can find in the DB table below using SE16N in the SAP backend system via SAP GUI.

Webdynpro Application.jpg

Some of you might have already figured out by now that we will find a generic Floorplan Manager Webdynpro component, which is indeed the case.

          [The WebDynpro Floorplan Manager is a highly configurable user interface (UI) framework for easy and efficient application development and adaptation based on Web Dynpro ABAP.

          With the help of predefined elements such as floorplans, toolbars and generic user interface building blocks, FPM provides you with consistency across applications and compliance with           SAP UI design guidelines, as well as greatly reducing the time required to create such applications.

          Central functions such as navigation, messaging, and personalization are embedded in the framework and can be easily defined by application programming interfaces (APIs).

          FPM allows you to easily adapt delivered Web Dynpro ABAP UIs to your specific needs modification-free by simple UI configuration, and to combine application-specific views of one or           more business applications into new Floorplan Manager applications.]

          Source: Floorplan Manager for Web Dynpro ABAP – SAP Library

In this case we found the configuration to be based on the SAP OVP (Overview Page).

          [SAP Fiori Overview Page (OVP) provides a new interaction within SAP Fiori UX. The OVP can be seen as a step between the basic information on the           SAP Fiori launchpad and the full           blown information within the SAP Fiori applications.]

         Source: https://eaexplorer.hana.ondemand.com/_item.html?id=11065#!/overview

Knowing this we can now find the component configuration like mentioned in the Fiori tile definition and display it, to find out more.

FPM Component Configuration.jpg

Here is where you will see the Fiori application start taking shape.

The total configuration  is made up out of configurations of smaller, generic FPM WebDynpro components, that are placed together in one page.

FPM Configuration Detail.jpg

The most important part is the SEARCH_SECTION, where we will define our data source.

If you double click one of the components you’ll get a detailed table like below, with a clear overview of the FPM Webdynpro component and it’s configuration.

FPM Configuration Detailed Parts.jpg

Let’s have a look at the search component via transaction SE80, like you did for the global FPM component.

Search Component Configuration.jpg

(Next I mention to open the configuration of a FPM WebDynpro component i’ll assume you remember how to do this based on the image above.)

If we take a closer look at the configuration, we will see that there is a feeder class linked together with a parameter, which defines the ABAP BICS query name.

Search Component Configuration Details.jpg

          The screenshot below is from a debugging session of the feeder class “CL_FPM_BICS_SEARCH_FEEDER” in method “GET_DATA_4_BASIC_SEARCH”.

          This is also where you can debug the execution of the query.

          Query Name in Debugger.jpg

Detailed information about the ABAP BICS query can be found in transaction RSRT via SAP GUI, in the S/4 HANA backend system.

ABAP BICS Query Info.jpg

Here you can find the DDL source name.

In the next blog post a piece will be included on how you can create an ABAP BICS from an ABAP CDS view (DDL Source) yourself.

ABAP BICS Query Technical Info.jpg

You’ll find the definitions of this DDL source by connecting to the system via Eclipse and opening an ABAP project, after which you can use th ‘ctrl+shift+a’ key combination to look for objects in an ABAP project. Make sure you are in the ABAP perspective before you do so.

Find DDL Source .jpg

You have now found the DDL Source Definition that is linked with the ABAP CDS view.

Pay good attention to the header semantics as these are very important in order to define your view as an ABAP BICS & analytical view.

     More on this in the next part.

DDL Source Definition.jpg

Now if we go back to the other FPM configurations that are used to make up the multidimensional report we will see that they are configured in the same way as the search component. A feeder class, combined with some extra parameters.


The buttonrow in the tab page ‘Data Analysis’: FPM_BICS_GRID_RUIBB || SD_FPM_GRID_INCOMINGSLSORDERS

This one is also defined in the same fashion.


Please note that the query ID is also passed here.
Data Analysis Button row.jpg

The data itself will be shown in the format of the view V_INFORMATION, included in the window BICS_GRID_INFO of the component FPM_BICS_GRID_RUIBB.


I hope this was a good, clear start.

If you are looking forward to learning more about this topic, monitor this post as an update with the link to part two will be included later.



Greetings

Jonathan Belliot



To report this post you need to login first.

8 Comments

You must be Logged on to comment or reply to a post.

  1. Tim Leys

    Hi Jonathan,

    Really looking forward on the next guide where you explain how we can create our own multi dimensional reports; or how we can extend the existing standard SAP ones with our customer fields.

    Thanks!

    (0) 
  2. Stijn Caroen

    Hi Jonathan,

    this is based on a template and you can call the template via a specific url. Incoming sales orders uses for instance:

    https://<s4_system_host&gt;:44300/sap/bc/webdynpro/sap/fpm_bics_ovp?sap-wd-configId=FPM_BICS_OVP&bsa_query=2CCSDSLSORDERITE…

    To connect to another analytic consumption CDS view where annotation Analytics.query : true is set – simply replace the end-parameter with 2C followed by the SQL view name and you will be able to use the multi-dimenisional view on the other CDS query view, for instance another standard query CDS:

    https://<s4_system_host&gt;:44300/sap/bc/webdynpro/sap/fpm_bics_ovp?sap-wd-configId=FPM_BICS_OVP&bsa_query=2CCSDREVNFRMINVC…

    If you build a new tile with a relative path reference to this url you will have a new scenario enabled…

    Note that you can also add parameters in the url for startup.

    Cheers!

    Stijn

    (0) 
  3. Nick Yang

    Hi Jonathan,

    Thanks for sharing this blog.

    I would like to ask your suggestion regarding Fiori “multidimensional reports” tile. You used “Incoming Sales Orders” app in your blog, in my case, I use “Cost Centers Plan/Actuals YTD (https://fioriappslibrary.hana.ondemand.com/sap/fix/externalViewer/#/detail/Apps('F0928‘)/S4OP)” Fiori app. I always received following error “500 SAP Internal Server Error ERROR: Two internal tables are not compatible or convertible. (termination: RABAX_STATE)”, but if I run the real program (WDA program) directly. I can see query result. Do you know which part in FPM caused this problem? Thanks.

    Kind Regards,

    Nick

    (0) 

Leave a Reply