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: 

ALV Row display limitation

Former Member
0 Kudos

Hi Gurus

How many rows can we display in ALV report output ?

Is there any limit for that ?

Quick help is appreciated..

Thanks

Gajanan

11 REPLIES 11

RichHeilman
Developer Advocate
Developer Advocate
0 Kudos

To my knowledge I have never hit the wall, but you must realize that the more records, the more time it will take to render the ALV grid as well as scroll thru it, sort it, subtotal it, filter it, etc. You should try to keep the size to a manageable size, also, what user will scroll thru thousands of rows in an ALV Grid? Right?

How many lines are we talking about? 10,000? ALV grid will display this many, but performance may be an issue, and more so as the size goes up.

Regards,

Rich Heilman

Former Member
0 Kudos

Hi,

As per the SAP documentation You can have any number of lines..

The SAP List Viewer can be used to view both single-level lists and multilevel sequential lists.

Single-level lists contain any number of lines that have no hierarchical relationship to each

other.

Multilevel sequential lists consist of any number of lines that have two hierarchical levels.

Multilevel lists have header rows and item rows; the item rows are subordinate to the header

rows. For each header row there can be any number of subordinate item rows.

Thanks,

Naren

0 Kudos

Hi Narendran

Does it mean there is no limit to rows in ALV output.ALV can display 'n' number of rows ?

Can we run ALV report in Backgroud ?

Regards

Gajanan

0 Kudos

Yes, any number of rows, you limit will be the the amount of memory that you internal table consumes. You will be limited by the global system setting, in my system I believe that it is about 2gb of memory. Yes, ALV list display can be ran in background. If you are using the REUSE function module, it will be converted to an ALV list display automatically, if you are using the class based ALV(CL_GUI_ALV_GRID), you must do addtional coding for it to be handled correctly in the background.

Regards,

Rich Heilman

Former Member
0 Kudos

Yes...Alv can be run in the background if you are using the FM ...Otherwise for GRID as mentioned by Rich..You have to do additional coding..

Thanks,

Naren

0 Kudos

Here is what you need to do if using the class.

Regards,

Rich Heilman

0 Kudos

Hi Rich

I would like to thank you for your quick answers.

One more question..can I modify the standard tool bar of ALV Output(like Disabling the Excel Download button) ?

Regards

Gajanan

0 Kudos

Yes, you can. You can add or remove icons from the toolbar. How.... really depends on which ALV you are using, the function module, or the class.

In both cases, you can use the parameter IT_EXLUDE to pass FCODEs that you want to exclude from the toolbar.

The FM based ALV, this is pretty straight forward, in the Class based, you need to pass this parameter when calling the SET_TABLE_FOR_FIRST_DISPLAY method in the PBO of the screen.

Regards,

Rich Heilman

0 Kudos

I am using Function Module.

Regardd,

Gajanan

0 Kudos

No need to change the gui status, If you simply want to exclude the excel button, you can do this. Check code in <b>BOLD</b>.



report zrich_0003 .



* Global ALV Data Declarations
type-pools: slis.

* Internal Tables
data: begin of ialv occurs 0,
      test1(10) type c,
      test2(10) type c,
      end of ialv.

data: fieldcat  type slis_t_fieldcat_alv.

start-of-selection.

  perform get_data.
  perform call_alv.

*********************************************************************
*      Form  GET_DATA
*********************************************************************
form get_data.

  ialv-test1 = 'ABC'.
  ialv-test2 = 'DEF'.
  append ialv.

  ialv-test1 = 'GHI'.
  ialv-test2 = 'JKL'.
  append ialv.


  ialv-test1 = '123'.
  ialv-test2 = '456'.
  append ialv.


endform.                    "GET_DATA

************************************************************************

*  CALL_ALV
************************************************************************

form call_alv.

<b>  data: excluding type  slis_t_extab.
  data: xexcluding like line of excluding.


  xexcluding-fcode = '&VEXCEL'.
  append xexcluding to excluding.</b>

  perform build_field_catalog.


* Call ABAP List Viewer (ALV)
  call function 'REUSE_ALV_GRID_DISPLAY'
    exporting
<b>      it_excluding = excluding</b>
      it_fieldcat  = fieldcat
    tables
      t_outtab     = ialv.

endform.                    "CALL_ALV

************************************************************************

* BUILD_FIELD_CATALOG
************************************************************************

form build_field_catalog.


  clear: fieldcat. refresh: fieldcat.

  data: tmp_fc type slis_fieldcat_alv.

  tmp_fc-reptext_ddic = 'Test1'.
  tmp_fc-fieldname    = 'TEST1'.
  tmp_fc-tabname      = 'IALV'.
  tmp_fc-outputlen    = '10'.
  append tmp_fc to fieldcat.

  tmp_fc-reptext_ddic = 'Test2'.
  tmp_fc-fieldname    = 'TEST2'.
  tmp_fc-tabname      = 'IALV'.
  tmp_fc-outputlen    = '10'.
  append tmp_fc to fieldcat.


endform.                    "BUILD_FIELD_CATALOG

Regards,

Rich Heilman

Former Member
0 Kudos

Hi,

Yes..You can remove the buttons..You can copy existing Standard SAP GUI status (STANDARD)and create a new one

and remove the buttons...

In the parameter I_CALLBACK_PF_STATUS_SET of the FM..GIve a form name..

IN the form use command SET PF-STATUS to call the new one that you created..

Thanks,

Naren

Message was edited by: Narendran Muthukumaran