Application Development Discussions
Join the discussions or start your own on all things application development, including tools and APIs, programming models, and keeping your skills sharp.
cancel
Showing results for 
Search instead for 
Did you mean: 

Quickviewer (SQVI): How to set RTMODE-OLDENV <> ' ' ?

uwe_schieferstein
Active Contributor
0 Kudos

Dear Community

We are using transaction SQVI to create quick views and generate the corresponding reports (e.g. AQFUSYSTQV000004ZTEST_USC2==== for quick view ZTEST_USC2).

Following the START-OF-SELECTION event the report calls the following module:

   start-of-selection.

...

      call function 'RSAQRT_CHECK_EXTR'
         exporting extr_subrc = %subrc
         tables    dtab   = %dtab
         changing  rtmode = %runmode.

Variable %runmode (data type RTMODE) has a field called OLDENV which, by default, is blank. If the value of OLDENV were not equal to space then this module would export the extracted data into the ABAP memory:

...

   * Daten ins Memory stellen
  if rtmode-dkind = space.
    export listtext from l_title
           list_id  from rtmode-lid
           program  from rtmode-act_report
           listdesc from l_ldesc
           ldata    from dtab
           fpairs   from l_fpairs
           variant  from sy-slset
           empty    from l_empty
           to memory id 'AQLISTDATA'.

...

This is exactly what we would like to achieve.

QUESTION: Is there any way to set RTMODE-OLDENV <> space?

Please note the following comment (in German) at the beginning of the module:

...

   * bei normaler Abarbeitung nur Auswertung des Returncodes des Extraktors
  if rtmode-oldenv = space.

...

The generated report itself has 3 interesting FORM routines which are not called directly within the report. Again there is a comment talking about an old API:

...

   *----------------------------------------------------------------
*    special code for old API and BW extractor calls
*----------------------------------------------------------------

form %set_data changing p_lines type i.

  import ldata to %dtab from memory id 'AQLISTDATA'.
  describe table %dtab lines p_lines.
  free memory id 'AQLISTDATA'.

endform.

form %get_data tables p_dtab  structure %dtab
               using  p_first type i
                      p_last  type i.

  append lines of %dtab from p_first to p_last to p_dtab.

endform.

form %get_ref_to_table using p_lid   type aql_lid
                             p_ref   type ref to data
                             p_subrc type i.

Obviously, these 3 routines do exactly what we want to achieve, namely accessing the extracted quick view data from the ABAP memory.

Any hints about how to make use of these routines and how we can achieve our goal is very much appreciated.

Best Regards

     Uwe

2 REPLIES 2

Former Member
0 Kudos

Hello,

The first thing I would do is check if in debug mode can the value of this field be changed.

If so then try to use field-symbols to change value of this field.

Check the links below for field symbol explanation and example -

http://wiki.sdn.sap.com/wiki/display/Snippets/sample+field+symbols+example+code

best regards,

swanand

0 Kudos

This message was moderated.