Writeing number of entries on alv grid

Hi!
What solution is the best for writing
the number of entries on the alv output.
data linp type i.
DESCRIBE TABLE it_zehs_incident_li. lines linp .
eg. for output table it_zehs_incident_li.
How or where  can I write:
Number of entries which meet
the selection criteria: linp
CALL METHOD gr_alv->set_table_for_first_display
       EXPORTING
         i_structure_name              = 'ZEHS_INCIDENT_LI'
         is_variant                    =  wa_variant
         i_save                        = save
         i_default                     =  'X'
         is_layout                     = wa_layout
      CHANGING
        it_outtab                     =  it_zehs_incident_li
        it_fieldcatalog               =  it_fcat
       EXCEPTIONS
         OTHERS                        = 4

hi ertas,
u can write the content of the number of lines in top of page event or end-of-page event as summary..
please refere sample program BCALV_TEST_FULLSCREEN_EVENTS
this is the best example which provides all scenarios nearly
reward if helpful
regards,
sampath
Edited by: sampath pilla on Apr 29, 2008 9:11 PM

Similar Messages

  • Max number of columns in Alv grid display.

    Is there any limitation on number of fields that can be displayed using alv grid display.
    Please tell how i can display 199 fields using ALV.
    Thanks in advance.

    I am not sure of the maximum of columns possible.
    If you see the col_pos field in the field catalog table it can have only 2 digits. so i would assume it would be only 99 columns, but not sure.
    Would get you more information soon.
    Thanks,
    Balaji

  • Display 2 rows per entry with ALV Grid

    Hi Experts,
    I need to display the results of a report with ALV Grid. The Problem is: I need to display the resultdata (some numbers etc..) in one row and then add a second row with the longtext.
    The ALV should look somthing like this:
    resultdata1 resultdata2 resultdata3
    longtext1
    resultdata1 resultdata2 resultdata3
    longtext1
    resultdata1 resultdata2 resultdata3
    longtext1
    Can anyone of you give me hint on how to do that?
    (The row_pos and col_pos ind the fieldcat do not do the trick )
    Thanx
    Felix

    hi ,
    You can do this
    resultdata1 resultdata2 resultdata3
    longtext1
    resultdata1 resultdata2 resultdata3
    longtext1
    resultdata1 resultdata2 resultdata3
    longtext1
    Create two internal table  .
    one for : resultdata1 resultdata2 resultdata3
    second for   longtext1
    see that both tables have matching primary key   .
    then can  match the data and  append in another third table   .
    regards
    Deepak.

  • Maximum Number of Columns in OOPs ALV / Normal ALV Grid

    Hi Experts ,
    We got Stuck in Displaying the 150 Columns in the ALV Display .
    Need to Confirm how many Columns can be displayed in ALV - 60/90/99/1023  Or 1023 characters in ALv Display
    1. How It can be achieved to display 150 Columns in ALV .
    2. By Which way it should be More Efficient Using OOPs ALV or Normal ALV Grid.
    We had check almost all the forums Post but didnt get any satisfactory answer for the same .
    Thanks in advance
    Regards,
    Saurabh Goel

    Hello,
    If you are preparing your field catalog by using the function module REUSE_ALV_FIELDCAT_MERGE, then you can display a
    maximum of something around 70 to 82 fields.
    But if you are creating your field catalog manually, then you can display N number of columns in ALV grid.
    Check the point of fieldcat preparation.
    Hope this helps
    Cheers!
    Mishra

  • Quantity field in ALV Grid

    I am using KWMENG data element in my ALV grid which is a quantity field. In normal dialog programming this field does not allows entering characters in editable cells. But in ALV grid I am not able to restrict it from entering characters.
    Eg: In VA01 if we try to enter any character "ABC...Z" then it wouldn't be typed in the screen. But when using the same data element in ALV grid iot allows to enter alphanumeric values. Since it's a quantity field so character value gives a short dump. I know I can restrict the dump by using "NA" in comparing string but I want to knw is there a way by which I restrict character field entry in alv grid, the same way this field works in VA01. I checked with a simple dialog prog and in that also it doesn not allows character typing in editable fields.

    simple solution
    mention the ref_fieldname and ref_tablename in the fieldcatalog for that column.
    ex:
    fieldcat-ref_fieldname = 'KWMENG'.
    fieldcat-ref_tablename = 'VBAP'.

  • Multiple Input Rows In ALV Grid (Editable)

    Hi,
    I have an editable ALV grid and need to have multiple blank rows ready for input. Something similar to what happens when you click the "New Entries" button in SM30 (Table Maintainance).
    There is a local function for appending lines in the ALV grid toolbar but this only allows a single entry.
    I have replaced the local function with my own button (same icon etc) and on user_command event, I am appending several blank lines to my output table.
    However these lines are not being shown on the screen. I have looked through the layout and field catalog but there is no field to allow blank lines to be shown.
    My 2 questions are:
    1. Is there some standard way of entering multiple entries in ALV Grid Editable.
    2. If not then how to allow blank lines to be shown as ready for input.
    Also if someone could suggest a way to do error checking for all entries on the screen especially duplicate entries I will be extremely grateful.
    Many Thanks,
    Preet

    Hi, Preet!
    You can easily do whatever checks you wish. You should declare an event handling method for event DATA_CHANGED and call the ADD_PROTOCOL_ENTRY method of the ER_DATA_CHANGED event parameter (it's an object of the class CL_ALV_CHANGED_DATA_PROTOCOL). You must not forget to set handler for your ALV grid.
    For example, this piece of code checks for all changed fields resulting in error message if they are initial. In short, this makes all the fields obligatory.
    METHODS: on_data_changed FOR EVENT data_changed OF cl_gui_alv_grid IMPORTING er_data_changed.
    SET HANDLER your_object->on_data_changed FOR your_alv_grid.
    METHOD on_data_changed.
    DATA: s_mod_cell TYPE lvc_s_modi.
    LOOP AT er_data_changed->mt_mod_cells INTO s_mod_cell.
        IF s_mod_cell-value IS INITIAL.
    *       issue message 'Make an entry in all required fields'
            CALL METHOD er_data_changed->add_protocol_entry
              EXPORTING i_msgid     = '00'
                        i_msgno     = '055'
                        i_msgty     = 'E'
                        i_fieldname = s_mod_cell-fieldname
                        i_row_id    = s_mod_cell-row_id.
        ENDIF.
    ENDMETHOD.
    Furthermore, if you make your class inherited from CL_GUI_ALV_GRID you can make use of protected attribute MT_OUTTAB which is a data object referencing your output table. Then you can have:
    FIELD-SYMBOLS: <outtab> TYPE STANDARD TABLE.
    ASSIGN me->mt_outtab->* TO <outtab>.
    * do whatever you want with <outtab>
    Hope this helps.
    Kind regards,
    Igor
    P.S. Regarding the blank lines that you need, what's wrong with standard ALV grid buttons "Append row" and "Insert row" which appear whenever the grid is editable (unless you deliberately remove them)? They work just fine with me (just like on SM30). I don't see reason for programatically appending lines to your internal table.

  • Determining Duplicate Entries in Editable ALV Grid

    Hopefully this question is not as obvious as it may seem at first. Thanks for any input or ideas...read carefully, it is not just a simple duplicate check with which I'm having a problem.
    I have an editable ALV grid and I need to ensure that the user doesn't try to enter the same material number twice. I used the program BCALV_EDIT_03 and 04 as a model. I can tell if in my session a user is trying to put in the material number twice. Not a problem. I can also tell if the user is trying to add a material to the ones already on the grid that is a duplicate. That is not a problem either. Here is the catch...and I'd like to point out that BCALV_EDIT_04 has the same problem.
    The user enters line 10 with material 0245 and line 20 with 0345. There is no duplicate. Then they say, 'Oooops, I got them backward' and then move 0345 to line 10 and 0245 to line 20.  When you hit enter, the change handler says that line 10 and 20 were changed and the field MATNR was changed. It then compares the new fields to what is already in the grid...low and behold the grid already has these two entries and the protocol adds the error for both lines.
    I will add the code here, but it is pretty much exactly as in BCALV_EDIT_04. If you want to see the error in that program execute it, put in two new lines with the same airline and two different dates and hit save. Everything is fine. Then swap the dates and hit Save again...it will say these are duplicates, which they are not...this program is not saving to the database. The only difference between mine and bcalv_edit_04 is that mine uses an 'ENTER' event and not a 'SAVE'.
    I'm looking for good ideas on how to compare the two...the mt_good_cells (session active) and the grid itself to know when a user has 'moved' data. The current workaround is for the user to copy the line and then reapply it...but that seems a bit glitchy.
    Thanks in advance, I appreciate any sage advice. : )
    METHOD check_double_entries.
        DATA: lt_good_cells TYPE lvc_t_modi,
              ls_good TYPE lvc_s_modi,
              l_matnr TYPE matnr,
              l_del_row TYPE lvc_s_moce,
              ls_rosi LIKE LINE OF i_rosi,
              l_reentered TYPE c.
        LOOP AT pr_data_changed->mt_good_cells INTO ls_good.
          CASE ls_good-fieldname.
            WHEN 'MATNR'.
              CALL METHOD pr_data_changed->get_cell_value
                EXPORTING
                  i_row_id    = ls_good-row_id
                  i_fieldname = ls_good-fieldname
                IMPORTING
                  e_value     = l_matnr.
              READ TABLE lt_good_cells WITH KEY
                                value = l_matnr
                                TRANSPORTING NO FIELDS.
              IF sy-subrc = 0.
                CALL METHOD pr_data_changed->add_protocol_entry
                  EXPORTING
                    i_msgid     = '0K'
                    i_msgno     = '000'
                    i_msgty     = 'E'
                    i_msgv1     = text-m01
                    i_fieldname = ls_good-fieldname
                    i_row_id    = ls_good-row_id.
                error_in_data = 'X'.
              ELSE.
                ls_good-value = l_matnr.
                APPEND ls_good TO lt_good_cells.
              ENDIF.
          ENDCASE.
        ENDLOOP.
        LOOP AT lt_good_cells INTO ls_good.
          l_matnr = ls_good-value.
          READ TABLE i_rosi WITH KEY matnr = l_matnr
                        TRANSPORTING NO FIELDS.
          IF sy-subrc = 0.
            l_reentered = space.
            LOOP AT pr_data_changed->mt_deleted_rows INTO l_del_row.
              READ TABLE i_rosi INTO ls_rosi INDEX l_del_row-row_id.
              IF sy-subrc NE 0.
                MESSAGE i000(0k) WITH text-e01.
              ELSEIF ls_rosi-matnr EQ ls_good-value.
                l_reentered = 'X'.
              ENDIF.
            ENDLOOP.
            IF l_reentered NE 'X'.
              CALL METHOD pr_data_changed->add_protocol_entry
                EXPORTING
                  i_msgid     = '0K'
                  i_msgno     = '000'
                  i_msgty     = 'E'
                  i_msgv1     = text-m01
                  i_fieldname = ls_good-fieldname
                  i_row_id    = ls_good-row_id.
              error_in_data = 'X'.
            ENDIF.
          ENDIF.
        ENDLOOP.
      ENDMETHOD.                    "check_double_entries

    Hi Greg,
    please check your posting in the prview tab. If the code is not formatted, you posted too much. Reduce and try again, then somebody may be willing to read.
    Regards,
    Clemens

  • F4 help in ALV grid, how to check the entries?

    Hello,
    I have created F4 help on the cells in a ALV using OO ABAP. The F4 Help works fine and the user can select the entries from it. BUt in F4 help, the user can manually enter values also.
    I want to either disallow the user the enter values manually or validate his entries and ask him to choose from F4 only.
    How to achieve this??

    Use this in Top Include
    class local_event_handler definitin deferred.
    data handler type ref to local_event_handler
    After ALV Grid, register the edit event as shown below after the SET_TABLE_FOR_FIRST_DISPLAY and also set the handler as event handler
    if handler is initial.
      create object handler.
    endif.
    set handler handler->handle_data_changed
                                                    for main_grid. " Main Grid is your ALV Grid
    call method main_grid->register_edit_event
          exporting
            i_event_id = cl_gui_alv_grid=>mc_evt_modified.
    Class Definition / Implementation
    class local_event_handler definition.
      public section.
        methods
            handle_data_changed
               for event data_changed of cl_gui_alv_grid
                 importing er_data_changed.
        methods
           local_event_handler .
    endclass.                    "local_event_handler DEFINITION
    class local_event_handler implementation.
      method local_event_handler.
        " do nothing
      endmethod.                    "llocal_event_handler
      method handle_data_changed.
        read table er_data_changed->mt_mod_cells into ls_mod_cell index 1.
        perform handle_data_changed using er_data_changed.
        " ls_mod_cell-row_id contains the row number that changed. More details in er_data_changed
      endmethod.                    "handle_data_changed
    endclass.                  "handle_btn_click

  • ALV Grid and wrong number

    Hi,
    in SE16, browsing MSEG table, when I display a number field such as MENGE I see a strange case:
    with classic SE16 output I see a value as "10,000"
    with ALV Grid output I see a value as "100,00"
    This in a ECC 6.04 box with last Kernel patch 171, last BASIS SP and last ABAP SP.
    Have you got any suggest?
    Regards.

    Check if note 1571782 & 1394178 helps.

  • Alv Grid to Excel Sheet Downloading problem for Bank account Number(CHAR18)

    Hi every one,
                 I am downloading  Alv grid to excel using local file---> spreadsheet
    but,  the bank account no is populating as like ''11+E213". When press F2 in that column then only its showing the correct value.
    If i do download directly from  ctrlshiftF7 , its down loading perfectly but my user Needs the Header of the ALV also, Buecause HEader Consists of Payment Date and all details.
    I have checked the same from the Satandard table also its also populating in the same way as in the report,
    So if any body have valueble suggestions, Please reply soon,
    Thanks & Regards,
    Raj S

    Hi Lalit,
             Thanks for Ur promt reply,
    I ahve alraedy Changed the lenght to 25 but it doesnot effect,
    But when i concatenate the same number with any one character in front of the A/C No. Its generating perfectly,
    But i cant do so as its an account No.
    Thanks,
    Raj S

  • Validating in ALV grid output for double entry

    Hi All,
             I am trying to validate the ALV output while adding records to the screen.
    I need to validate if the same primary key exist while user is creating a new record in the ALV output. If the same record is entered many time ( with the same primary key), it should pop up some error and i am calling
    call method pr_data_changed->add_protocol_entry.
    But i'm not able to apply the logic for 2 fields as primary key.
    I check the method check_double_entry in program BCALV_EDIT_04. it does the same but it checks i field 'FLDATE' as primary key.
    Algorithm: Copy all entries in MT_GOOD_CELLS to a dummy table.
               During the copying procedure check if there exists
               already a line with the same Flight date.
        loop at pr_data_changed->mt_good_cells into ls_good.
          case ls_good-fieldname.
            when 'FLDATE'.
              call method pr_data_changed->get_cell_value
                          exporting
                                i_row_id = ls_good-row_id
                                i_fieldname = ls_good-fieldname
                          importing e_value = l_flightdate.
              read table lt_good_cells with key
                                value = l_flightdate
                                transporting no fields.
              if sy-subrc = 0.
    There exists already a line with the same flight date!
                call method pr_data_changed->add_protocol_entry
                             exporting
                  i_msgid = '0K' i_msgno = '000'  i_msgty = 'E'
                  i_msgv1 = text-m01
                  i_fieldname = ls_good-fieldname
                  i_row_id = ls_good-row_id.
                error_in_data = 'X'.
              else.
                ls_good-value = l_flightdate.
                append ls_good to lt_good_cells.
              endif.
          endcase.
        endloop.
    Could you pls help me how to use this logic in case where more than 1 field is primary key.
    Regards,
    Santos P

    Hi
    ALV option is available from 4.7 onwards only.
    the following needs to be followed in 4.7 to get in ALV:
    We can get the results in ALV format just by changing the IMG settings.
    Go to IMG under Materials Management -> Purchasing ->Reporting -> Maintain Purchasing Lists -> Scope of List -> Define Scope of List. Select any one option & double click. A new screen will display with lot of check boxes. in the end will find a check box for "Settings for ALV grid control. Just tick that box & save this as new name like BEST_ALV.
    regards
    Srinivas

  • Maximum number of character we can print in a column uing ALV grid display

    Hi frnds,
    My requirment is to print 500 charcter data in a column using ALV grid display.
    Could any body tell me is it possible and the maximum character it can i print in a column using ALV grid dispaly.
    Regards,
    Sandipan

    Hi Sandipan,
    refer notes 857823, 910300 and 959775. All these say there is a limitation of 128 characters.
    857823 - ALV grid: Strings with a maximum of 128 characters
    Symptom
    Entries in cells of the type CHAR or string are truncated after 128
    characters in the SAP GUI.
    also refer,
    ALV Grid Control (cl_gui_alv_grid), function module (Full-screen) Grid
    (Reuse_alv_grid_display, SAPLSLVC_FULLSCREEN), SAPGUI, back end, front end
    Cause and Prerequisites
    The data table that is sent to the front end only allows character values
    with the length 128.
    Solution
    This is the standard system behavior and cannot be changed.

  • Add a count to an ALV grid of the total number of lines

    Hi There
    I have a really long ALV report which prints lots of records. How can I add a total number of records count to appear in the header?
    I use the Grid display function to call the ALV grid.
    Any help appreciated

    Hi,
    You can do as below :
    call function 'REUSE_ALV_GRID_DISPLAY'
           exporting
                i_callback_program      = gd_repid
                i_callback_top_of_page   = 'TOP-OF-PAGE'  "see FORM
                is_layout               = gd_layout
                it_fieldcat             = fieldcatalog[]
                i_save                  = 'X'
           tables
                t_outtab                = it_ekko
           exceptions
                program_error           = 1
                others                  = 2.
    * Form  TOP-OF-PAGE                                                 *
    * ALV Report Header                                                 *
    Form top-of-page.
    *ALV Header declarations
    data: t_header type slis_t_listheader,
          wa_header type slis_listheader,
          t_line like wa_header-info,
          ld_lines type i,
          ld_linesc(10) type c.
    * Title
      wa_header-typ  = 'H'.
      wa_header-info = 'EKKO Table Report'.
      append wa_header to t_header.
      clear wa_header.
    * Date
      wa_header-typ  = 'S'.
      wa_header-key = 'Date: '.
      CONCATENATE  sy-datum+6(2) '.'
                   sy-datum+4(2) '.'
                   sy-datum(4) INTO wa_header-info.   "todays date
      append wa_header to t_header.
      clear: wa_header.
    * Total No. of Records Selected
      describe table it_ekko lines ld_lines.
      ld_linesc = ld_lines.
      concatenate 'Total No. of Records Selected: ' ld_linesc
                        into t_line separated by space.
      wa_header-typ  = 'A'.
      wa_header-info = t_line.
      append wa_header to t_header.
      clear: wa_header, t_line.
      call function 'REUSE_ALV_COMMENTARY_WRITE'
           exporting
                it_list_commentary = t_header.
    *            i_logo             = 'Z_LOGO'.
    endform.
    Thanks,
    Sriram Ponna.

  • HOW CAN I HAVE THE NUMBER OF SELECTED ROWS IN ALV GRID?

    HI.
    HOW CAN I HAVE THE NUMBER OF SELECTED ROWS IN ALV GRID????
    GABRY =)

    You need to use
    data : grid1  type ref to cl_gui_alv_grid.
      call method grid1->get_selected_rows
        importing
          et_index_rows = i_sel_alvrows[].

  • Add column with preq number to ALV grid in me53n

    hi all,
    i am trying to add column with preq number (BANFN) to ALV with preq items in ME53N. it is not available in column set, when trying to add by "change layout" button - i dont understand why, when the strcucture MEREQ3211GRID contains it :-(
    i also tried to add new field ZZBANFN into the structure CI_EBANMEM and after that, i could add the new field to ALV through change layout, but it was empty of course. so i implemented EXIT_SAPLMEREQ_001 from MEREQ001, but ZZBANFN is still empty, because this exit is not called when opening ME53N, but when clicking on tab "customer data" in preq item detail.
    how to solve this? is there any exit that is called before displaying the ALV grid?

    Here is some more detail. I included my code from the Enhancement.
    ENHANCEMENT-POINT MM06EFPO_POT_AUFBAUEN_02 SPOTS ES_MM06EFPO_POT_AUFBAUEN INCLUDE BOUND.
       ENHANCEMENT 1  Z_MM06EFPO_POT_AUFBAUEN_1.    "active version
      SELECT SINGLE zz_old_material FROM mara
        INTO pot-zz_old_material
        WHERE matnr = pot-matnr.
    ENDENHANCEMENT.
    You will also need to change the layout in Item Overview to bring your field in.

Maybe you are looking for