11 Replies Latest reply: Oct 20, 2006 1:48 AM by Rich Heilman RSS

ALV Row display limitation

Gajanan Mahajan
Currently Being Moderated

Hi Gurus

  How many rows can we display in ALV report output ?

Is there any limit for that ?

Quick help is appreciated..

 

Thanks

Gajanan

  • Re: ALV Row display limitation
    Rich Heilman
    Currently Being Moderated

    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

  • Re: ALV Row display limitation
    Narendran Muthukumaran
    Currently Being Moderated

    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

    • Re: ALV Row display limitation
      Gajanan Mahajan
      Currently Being Moderated

      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

      • Re: ALV Row display limitation
        Rich Heilman
        Currently Being Moderated

        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

  • Re: ALV Row display limitation
    Narendran Muthukumaran
    Currently Being Moderated

    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

    • Re: ALV Row display limitation
      Rich Heilman
      Currently Being Moderated

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

       

      ALV In Background.

       

      Regards,

      Rich Heilman

      • Re: ALV Row display limitation
        Gajanan Mahajan
        Currently Being Moderated

        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

        • Re: ALV Row display limitation
          Rich Heilman
          Currently Being Moderated

          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

          • Re: ALV Row display limitation
            Gajanan Mahajan
            Currently Being Moderated

            I am using Function Module.

             

            Regardd,

            Gajanan

            • Re: ALV Row display limitation
              Rich Heilman
              Currently Being Moderated

              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

  • Re: ALV Row display limitation
    Narendran Muthukumaran
    Currently Being Moderated

    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

     

Actions