Skip to Content

With ALV and FPM lists, SAP provided very powerful and convenient tools to represent lists in SAPGUI, WebDynpro UIs or SAP NetWeaver Business Client. These tools have been very well adapted to the paradigm of databases being the bottleneck. In this context it is an efficient design to select the data into an ABAP table and to execute the UI operations like paging, sorting, aggregation and filtering on the ABAP application server. Handing over this internal table as data source to the reuse components ALV and FPM list is their basic principle and the reason why they can provide these operations out of the box: they have control over the result set.

New ways to navigate the data with SAP HANA

In times of SAP HANA, you may think about pushing down data base centric operations to the database and presenting the data differently to the end user. Why not browse through the complete database content, which you are allowed to see, without truncation? Why not start the application with displaying the first page of the data and simply offering a search field to narrow down the result set – instead of starting with a selection screen? Why not start with an aggregated list in which you can drill down?

To a certain extend this user experience can be provided with the classical ALV and FPM lists. But the whole data being selected into an ABAP table, the size of the ABAP memory and the time to copy the data into the ABAP memory are limiting factors. So for mass data it is not a good idea to start the application without a selection screen.

New programming paradigm

With ABAP 7.40 on SAP HANA, ALV and FPM lists support such UI designs still being as convenient for the application developer as the classical version. How can this be achieved? Remember that the basic principle for these reuse components is to have knowledge about the result set. That does not mean that they must have the complete data of the result set under control, as it is the case in the classical versions. But they need some basic information like the size of the result set in order to determine the size of the scroll bar, or the knowledge how to provide the data for the next page for example.

So with ALV and FPM on SAP HANA we changed the programming paradigm. Instead of selecting the data into an ABAP table, the application developer instruments ALV or FPM with the necessary information to access the data, like tables to be read, parameters to be used or authorization checks to be performed. With this information, the UI state – page number for example – and the user authorizations the infrastructure creates a select statement on the HANA database retrieving only the data which is necessary to display the actual page.

The following videos will illustrate what that means for the end user and the developer.

ALV and FPM on SAP HANA – The Difference
Get what it means from an end user point of view and how it works in principal
ALV transformation and beyond FPM transformation and beyond
See how to transform an existing ALV application into ALV on SAP HANA and get some ideas of what is possible with this changed paradigm
See how to transform an existing FPM application into FPM list on SAP HANA, how the application creation tool supports it and get some ideas beyond

 

Further advantages

Beside the new UI scenarios, you get rid of some limitations of the classical ALV or FPM dealing with mass data: You do not have to wait for the first page until the complete result set is copied to the ABAP memory. You never get a memory exception as the data for one page only is selected into the ABAP memory. You also do not have to struggle with truncated list – e.g. sorting and not finding the entry you expected, or aggregating and getting questionable results. The whole list processing is stateless, which is a clear advantage in mobile scenarios. And last but not least the new programming paradigm is very conservative with respect to resource consumption.

Limitations

You may ask if there are no limitations with the ALV and FPM on SAP HANA. The classical solution is very fast in processing the second page because of the data the UI uses being already available in the ABAP memory. In the new version, processing any page is as fast as the database is as each data centric operation on the UI (e.g. paging, sorting, aggregation) is pushed down to the database.

And very important to know is that the sorting on the database is a binary sort, not a lexical one as on the ABAP table.

Should the classical tools be replaced by the SAP HANA version?

No, if the end users do not complain about the limitations of the classical versions, there is no business reason for a change. But if you often see memory dumps for a certain UI in your system, if the users complain about the truncation parameter or if create a new application – then you should have a closer look at ALV or FPM on SAP HANA.

More questions? Please check our FAQ page.

To report this post you need to login first.

13 Comments

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

  1. Gopal Nair

    Nice article.

    In light of new UI technologies like SAP UI5, and the fact that future business suites from SAP will be built over HANA, will webdynpro ABAP and FPM stay relevant going forward?

    Best Regards,

    Gopal Nair.

    (0) 
    1. Thea Hillenbrand Post author

      Hi Gopal,

      this is a valid question. The UI strategy presented at different events recently gives the answer: New, Renew, Enable.

      FPM and also SAPGUI are still relevant at customer side. ALV and FPM on HANA are part of the enabling capabilities.

      Kind regards

      Thea

      (0) 
  2. Roger Sainsbury

    Hi Thea,

    thanks for the great article and videos. I’m now working on a project with Suite on HANA, and I’m looking forward to using the new concepts, and ACT in particular.

    A question: if I create a report application using ACT, how can I build authority checks into it? Or is that only possible using ALV?

    thanks, Roger

    (0) 
  3. Jens Boeckenhauer

    Hi Roger,

    if you create an FPM App with ACT for Business Entities (SADL), the default authorization provider of the underlying Business Entity (e.g. a BOPF object node) is automatically applied to the search result list. Optionally, you can also assign your own authorization provider class via a feeder parameter in the result list configuration. This way the default gets overruled.

    Regards, Jens

    (0) 
    1. Roger Sainsbury

      Hi Jens,

      thanks for the quick response. I’ve been considering if ACT could be used for generating reports, using a view as the business entity source. In this case I’d want to assign my own authorizations to be considered.

      I can see the Feeder Class Parameter for Authorization Provider as you explained. There’s a How-to guide that explains the concept here:

      http://www.sdn.sap.com/irj/scn/go/portal/prtroot/docs/library/uuid/f04d1eb4-5f63-3110-8f8e-a5eab7a570b1?QuickLink=index&…

      In short it involves creating a subclass of CL_SADL_COND_PROV_AUTHOBJ_BASE, and adding some code to the constructor – CL_EPM_SADL_COND_PROV_BP is an example.

      Having explored ACT now, I’m generally a big fan. However I realise that a FPM List does not have the same rich functionality of an ALV. So I’m thinking that for creating reports I should stick with ALVs (either in dynpro or web dynpro). Do you agree, or am I missing something?

      Roger

      (0) 
        1. Roger Sainsbury

          Okay its perhaps a while since I looked at the List GUIBB in detail. I see its now possible to:

          • Re-order columns with drag and drop, and hide unwanted columns
          • Specify complex sorting, filtering and aggregation.
          • Export to Excel.

          There’s no print button, but I guess if that’s required at all, users can export to Excel and print from there.

          I see Personalization is the equivalent of Layout Variants in ALV. There’s a Configuration setting that allows users to save new views (aka variants). The views are personal to the user – e.g. there’s no ‘global’ option. But I guess if different versions of the same report are required, then this can be achieved by creating multiple Application Configurations.

          So in conclusion you’re right – I think the List UIBB is pretty much equivalent to the ALV, which is good news as I can use the ACT then to generate reports. 🙂

          (0) 
  4. Tashi Norbu

    Its interesting to read how HANA can change our programming approaches, but its definitely on the top of my wishlist to start learning developments on HANA.

    Thanks Thea for emphasizing on the difference between the conventional and HANA aproaches but at the same time using the conventional as a point of reference.

    Cheers,

    Tashi

    (0) 
  5. senthil kumar

    Hi,

    Thanks for the article & videos. I my current project, I want to integrate SADL entity in Web dynpro component, could you please give some hint on this.

    Thank you..

    (0) 
  6. PRAVEEN GUPTA

    Hi Thea Hillenbrand,

    Thanks for the blog this is very helpful. I want to know the data flow how data is integrated to IDA from the SQL view.

    I want to know the API or reference class where i can see the data in tabular format. So that in my report i can calculate and display number of record found.

    Thanks

    Praveen Gupta

    (0) 

Leave a Reply