Skip to Content
Technical Articles
Author's profile photo Martin Mayer

How to consume an analytical query / BEx Query in ABAP

How can I consume an analytical query in ABAP ?

Normally analytical queries are used with reporting tools like SAC, Analysis Office, WebDynpro Grid,  or RSRT in backend.

This post show how to directly access and use the query within your own ABAP application by the use of Lightweight BICS API ( LBA ) .

It’s really easy and needs only 2 ABAP calls . Development was driven by the need for testing the query with unit test. But for sure this approach also fits to others usecase where you want to use the query in your ABAP application.

This example show the most simple case. Calling a query without variables.

DATA(lr_std_query) = NEW cl_lba_std_query( i_query_name = 'MyQueryName' ).

lr_std_query->get_resultset(  
               "EXPORTING i_t_requested_columns = lt_requested_columns       "dimensions&keyfigures for resultset  
               "          i_t_variable_values   = lt_variable                "mandatory and optional variables
               "          i_t_filter_values     = lt_filter                  "additional filters   
                IMPORTING e_r_resultset         = DATA(lr_resultset)         "resultset table
                          e_t_column_catalog    = DATA(lt_column_catalog) ). "resultset description

LBA comes also with a 2nd flavours to call the CDS based query.

DATA(lr_std_query) = NEW cl_lba_cds_query( i_view_name = 'MyCDSview' ). 

lr_cds_query->get_resultset(  ...

 

Query in this context means BW modelled queries:

  • CDS based analytical queries ,
  • Query modelled using BW modelling tools ( BWMT )
  • Query modelled using BEx Query Designer

Note 3269710 contain further details like available releases and has 2 attachments
with several sample cases for CDS based queries and classical analytical queries.

 

 

 

 

Assigned Tags

      2 Comments
      You must be Logged on to comment or reply to a post.
      Author's profile photo Emmanouil Kouvaritakis
      Emmanouil Kouvaritakis

      dear Martin,

      nice feature, thanks for sharing; Thanks also to Frank Riesner who shared this blog!!!

      an idea for improvement; could be possible to call this API remotely from another Netweaver system?

       

      Thanks,

      Manos

       

       

      Author's profile photo Martin Mayer
      Martin Mayer
      Blog Post Author

      Hi Manos,

      sure you can call this remotely.
      Just put the method call inside an remote enabled function module.

      regards, Martin