Problem in Displaying Subtotal text in Grid Display

Hi Experts,
             I got a problem in passing the Subtotal text and Total Text in Grid Display.In my Case we are calculating Interest Rate for Document Number for Each Assignment Number. If any discount is maintain for document, calculate the interest rate as per the given formula.
           So, in this case, Instead of Subtotal text, we can view the 2 dots in Grid display. But in the place of that or else, i want to display the Subtotal. But this not happen in case of Grid Display, I tried in List Display, i can able to display the text.
Here is the Code what i maintain.
  wa_sortcat-fieldname = 'ZUONR'.
  wa_sortcat-tabname   = 'IT_FINAL'.
  wa_sortcat-subtot    = c_x.
  APPEND wa_sortcat TO sortcat.
  wa_sortcat-fieldname = 'BUDAT'.
  wa_sortcat-tabname   = 'IT_FINAL'.
  APPEND wa_sortcat TO sortcat.
  wa_sortcat-fieldname = 'INTER'.         "Interest Rate
  wa_sortcat-subtot    = c_x.
  wa_sortcat-tabname   = 'IT_FINAL'.
  APPEND wa_sortcat TO sortcat.
Fieldcatalog:
    wa_fieldcat-outputlen    = c_15.   " Interest Rate
    wa_fieldcat-do_sum       = c_x.
Layout:
  alv_layout-colwidth_optimize = c_x.
  alv_layout-zebra                    = c_x.
  alv_layout-subtotals_text       = 'Subtotal'.
  alv_layout-totals_text              = 'Total'.
I check in the SDN, But in some Threads, They explain as, We cant display the Subtotal text in Grid display.
Please help me to sort this issue. And clarify this whether this is possible or not.
Thanks in Advance.
Srini

Hi Naresh,
    Thanks for your reply, I added the given code by you to fieldcatalog for Interest rate field. i.e.
    wa_fieldcat-outputlen    = c_15.
    wa_fieldcat-do_sum       = c_x.
    wa_fieldcat-inttype      = 'I'.
Is this is a correct process what you are thinking, or i had to declare for every field what i declare under fieldcatalog.
Regards,
Srini

Similar Messages

  • Need to display Subtotal text and total text in ALV

    HI,
    I need help.
    I am displaying subtotal and total for cost column which is group by Project type column
    My problem is i am able to display the subtotal and total values but not able to display the 'Subtotal' and 'Total' text on that respective row.
    I have updated lvc_s_sort table as follow.
    ls_sort-spos = 1.
      ls_sort-subtot = 'X'.
      ls_sort-fieldname = 'SUBTOT'.
      ls_sort-up = 'X'.
      ls_sort-SELTEXT = 'Subtotal'.
      ls_sort-spos = 2.
      ls_sort-subtot = 'X'.
      ls_sort-fieldname = 'PRART'.
      ls_sort-GROUP = 'UL'.
      ls_sort-up = 'X'.
    Please suggest what should be done to display the text.
    Regards,
    Rachna

    You have to use the event SUBTOTAL_TEXT for the ALV.
    the field CRITERIA can be used for checking the field.
    and field CRIT_TEXT for the sub total text.
    I hope you are aware about how to implement the events in ALV using OOP.
    Hope this helps you.

  • Displaying subtotal text in alv using the fm reuse_alv_grid_display

    Hi,
    Can someone help me with this, I am having some problem in displaying the subtotal text in subtotal field in alv. I tried populating the layout of the alv with the text that will be displayed on the output but nothing happens. Is is possible to display the subtotal text in alv using the fm reuse_alv_grid_display? If so, what are the things that I must consider to display the subtotal text in alv output.
    Please help me with this. I promise to give you points if you resolve this problem.
    Thanks,
    Gie

    Hi ,
         Make it use in your code and let me know if u have any concerns...
        Use "Subtotal_text" in events table.
    here GTOTAL is field in itab on which we sortindf data, and use your own field on which field u want to sort...
    refresh gt_event.
    clear gw_event.
    call function 'REUSE_ALV_EVENTS_GET'
       EXPORTING
         i_list_type = 0
       IMPORTING
         et_events   = gt_event.
    Subtotal
    read table gt_event with key name = slis_ev_subtotal_text into gw_event.
    if sy-subrc = 0.
       move 'SUBTOTAL_TEXT' to gw_event-form.
       append gw_event to gt_event.
    endif.
         form subtotal_text using uw_subtot_line type ty_main
                    uv_subtottxt type slis_subtot_text.  "#EC CALLED
    if uv_subtottxt-criteria = 'GTOTAL'.
       uv_subtottxt-display_text_for_subtotal = 'TOTAL'.
    endif.
         *FORM build_sort .
    refresh gt_sort.
    gw_sort-spos      = 1.
    gw_sort-fieldname = 'GTOTAL'.
    gw_sort-tabname   = 'GT_MAIN'.
    gw_sort-up        = 'X'.
    gw_sort-subtot    = 'X'.
    APPEND gw_sort TO gt_sort.
    CLEAR gw_sort.
    Reward points once its useful..

  • How to display subtotal text in alv report for particular group of values

    Hi,
    if material number falls 1 to 10 then i considered be calculate and display subtotal qty amount with subtotal text " Total of the mat1" and if material number falls 11 to 20 then again i need to be claculate and display subtotal qty amount with subtotal text "total of the mat2". if material number falls 21 to 30 then i don't want to display any subtotal and At last grand total also is not required.
    Please help me asap

    just check the thread...
    Can we modify a sub-total in ALV

  • Display Subtotal Text  in ALV

    Hi,
    I have done the subtotal and total operation in ALV report.
    I wanted to display the text like
    Subtotal: _______
    Total     : _______
    I tried to give the text in th layout like..
    GD_LAYOUT-TOTALS_TEXT = 'Total'.
    GD_LAYOUT-subtotals_text = 'SubTotal'.
    i passed this layout in REUSE_ALV_GRID_DISPLAY
    but i am not getting the text in the output. what is wrong?
    Can any one please tell me to place the text?
    Regards,
    Elanthendral.

    Hi,
    Check out the layout work area declaration and passing part. What u have mentioned should work. Try to debug and find it.
    Find below the sample code.
    DATA: wa_layout       TYPE slis_layout_alv, "Layout structure
    END-OF-SELECTION.
       PERFORM build_layout.
    FORM build_layout .
    wa_layout-ZEBRA = 'X'.
    wa_layout-NO_VLINE = 'X'.
    wa_layout-NO_HLINE = 'X'.
    wa_layout-CELL_MERGE = 'X'.
    wa_layout-EDIT = 'X'.
    wa_layout-WINDOW_TITLEBAR = ''.
    wa_layout-NO_ULINE_HS = 'X'.
    wa_layout-LIGHTS_FIELDNAME = ''.
    wa_layout-LIGHTS_TABNAME = ''.
    wa_layout-LIGHTS_ROLLNAME = ''.
    wa_layout-LIGHTS_CONDENSE = 'X'.
    wa_layout-NO_TOTALLINE = 'X'.
    wa_layout-NO_SUBTOTALS = 'X'.
    wa_layout-TOTALS_BEFORE_ITEMS = 'X'.
    wa_layout-TOTALS_ONLY = 'X'.
    wa_layout-TOTALS_TEXT = ''.
    wa_layout-SUBTOTALS_TEXT = ''.
    wa_layout-BOX_FIELDNAME = ''.
    wa_layout-BOX_TABNAME = ''.
    wa_layout-BOX_ROLLNAME = ''.
    wa_layout-CONFIRMATION_PROMPT = 'X'.
    wa_layout-HEADER_TEXT = ''.
    ENDFORM.
    CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'           EXPORTING
            i_callback_program      = gf_repid
            is_layout               = gwa_layout
            it_fieldcat             = gt_catalog
          TABLES
            t_outtab                = gt_line
          EXCEPTIONS
            program_error           = 1
            OTHERS                  = 2.
    Regards,
    ramya

  • Problem with check box in ALV Grid Display

    I am Displaying Material Master Data in ALV Grid Display with Check Box for each record and if i checked check box then i am processing Update operation in Database,  my question is after perform update operation check box should be clear.
    Kindly help me!!!!

    Hello Raj
    Given the fact that you do not tell us the most important piece of information (namely whether you are using OO-based ALV or not) I assume you are using fm-based ALV lists.
    In this case you probably have defined a USER_COMMAND routine as described in the documentation of the fm.
    FORM user_command  USING r_ucomm LIKE sy-ucomm
                             rs_selfield TYPE slis_selfield.
    * define local data
      DATA: ls_outtab  LIKE LINE OF gt_outtab,
                ld_idx       TYPE i.
      LOOP AT gt_outtab INTO ls_outtab
                     WHERE ( chkbox = 'X' ).
        ld_idx = syst-tabix.
        " Call your update function / method / perform
       ls_outtab-chkbox = space.
       MODIFY gt_outtab FROM ls_outtab INDEX ld_Idx
          TRANSPORTING chkbox.
      ENDLOOP.
    " And now trigger refresh of the ALV display:
      rs_selfield-refresh = 'X'.  " <<< !!!
    ENDFORM.
    Regards
      Uwe

  • Problem while setting PF_status in ALV Grid Display

    Hi,
    i have a final internal table with first field as a check box. I have delete button on application tool-bar, with usercommand and pf status defined for it.
    Once the output is displayed  i should have the option of checking the line (check box) and delete then records from the list.
    problem here is once i check the box and click on delete button is not getting deleted. but instead if i check the box and double click on the line(ie f2 fuctionality) and then click on refresh, then the records are getting deleted.
    i have not provided and pf status for f2 functionality, by default its getting activated before the delete fuctionality is called. 
    i have attached my code below.
    DATA : fk_events   TYPE slis_t_event,
           f_user_command TYPE slis_formname VALUE 'USER_COMMAND',
           f_status TYPE slis_formname VALUE 'STANDARD_SP01',
           fieldnam(10) TYPE c.
    DATA:  gs_layout TYPE slis_layout_alv.
    DATA: ls_event TYPE slis_alv_event.
    CALL FUNCTION 'REUSE_ALV_EVENTS_GET'
      EXPORTING
        i_list_type = 0
      IMPORTING
        et_events   = fk_events.
    READ TABLE fk_events INTO ls_event WITH KEY name = slis_ev_user_command
    IF sy-subrc = 0.
      MOVE f_user_command TO ls_event-form.
      MODIFY fk_events FROM ls_event TRANSPORTING form WHERE name =
    ls_event-name.
    ENDIF.
    READ TABLE fk_events INTO ls_event WITH KEY name =
                              slis_ev_pf_status_set
    IF sy-subrc = 0.
      MOVE f_status TO ls_event-form.
      MODIFY fk_events FROM ls_event TRANSPORTING form WHERE name =
    ls_event-name.
    ENDIF.
    CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
    EXPORTING
       i_callback_program                 = 'ZWR_SECOND_TO_CREATION1'
    i_callback_pf_status_set          =  f_status
       i_callback_user_command           =  f_user_command
       it_fieldcat                        = gt_fieldcat[]
       it_events                         = fk_events[]
      TABLES
        t_outtab                          = gt_final[]
    EXCEPTIONS
       program_error                     = 1
       OTHERS                            = 2.
    FORM user_command USING r_comm TYPE sy-ucomm
                            rs_selfield TYPE slis_selfield.
      fieldnam = rs_selfield-fieldname.
      CASE r_comm.
        WHEN  'DELETE''.
          LOOP AT gt_final INTO gk_final.
    IF gk_final-del_sat = 'X'.
              DELETE gt_final WHERE vbeln = gk_final-vbeln.
            ENDIF.
            rs_selfield-refresh = 'X'.
    ENDLOOP.
        WHEN OTHERS.
          EXIT.
      ENDCASE.
    FORM standard_sp01 USING  extab TYPE slis_t_extab.
      SET PF-STATUS 'RAM' EXCLUDING extab.  " For PF-Status
    ENDFORM.                    "STANDARD_SP01
    i wud be very thankful if someone cud help me
    thanx
    ram

    Hi,
    i have a final internal table with first field as a check box. I have delete button on application tool-bar, with usercommand and pf status defined for it.
    Once the output is displayed  i should have the option of checking the line (check box) and delete then records from the list.
    problem here is once i check the box and click on delete button is not getting deleted. but instead if i check the box and double click on the line(ie f2 fuctionality) and then click on refresh, then the records are getting deleted.
    i have not provided and pf status for f2 functionality, by default its getting activated before the delete fuctionality is called. 
    i have attached my code below.
    DATA : fk_events   TYPE slis_t_event,
           f_user_command TYPE slis_formname VALUE 'USER_COMMAND',
           f_status TYPE slis_formname VALUE 'STANDARD_SP01',
           fieldnam(10) TYPE c.
    DATA:  gs_layout TYPE slis_layout_alv.
    DATA: ls_event TYPE slis_alv_event.
    CALL FUNCTION 'REUSE_ALV_EVENTS_GET'
      EXPORTING
        i_list_type = 0
      IMPORTING
        et_events   = fk_events.
    READ TABLE fk_events INTO ls_event WITH KEY name = slis_ev_user_command
    IF sy-subrc = 0.
      MOVE f_user_command TO ls_event-form.
      MODIFY fk_events FROM ls_event TRANSPORTING form WHERE name =
    ls_event-name.
    ENDIF.
    READ TABLE fk_events INTO ls_event WITH KEY name =
                              slis_ev_pf_status_set
    IF sy-subrc = 0.
      MOVE f_status TO ls_event-form.
      MODIFY fk_events FROM ls_event TRANSPORTING form WHERE name =
    ls_event-name.
    ENDIF.
    CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
    EXPORTING
       i_callback_program                 = 'ZWR_SECOND_TO_CREATION1'
    i_callback_pf_status_set          =  f_status
       i_callback_user_command           =  f_user_command
       it_fieldcat                        = gt_fieldcat[]
       it_events                         = fk_events[]
      TABLES
        t_outtab                          = gt_final[]
    EXCEPTIONS
       program_error                     = 1
       OTHERS                            = 2.
    FORM user_command USING r_comm TYPE sy-ucomm
                            rs_selfield TYPE slis_selfield.
      fieldnam = rs_selfield-fieldname.
      CASE r_comm.
        WHEN  'DELETE''.
          LOOP AT gt_final INTO gk_final.
    IF gk_final-del_sat = 'X'.
              DELETE gt_final WHERE vbeln = gk_final-vbeln.
            ENDIF.
            rs_selfield-refresh = 'X'.
    ENDLOOP.
        WHEN OTHERS.
          EXIT.
      ENDCASE.
    FORM standard_sp01 USING  extab TYPE slis_t_extab.
      SET PF-STATUS 'RAM' EXCLUDING extab.  " For PF-Status
    ENDFORM.                    "STANDARD_SP01
    i wud be very thankful if someone cud help me
    thanx
    ram

  • To display Title In ALV Grid Display on first line of table

    Hi SAP Experts,
             Here is one Issue..
    I have some check boxes on selection screens,
    When i have selected one,
    The related title should be display on the first line of Itab[]...
    and if once collect is used to suppress the data
    with the same itab can we print normal itab and how...
    Waiting for Your Reply.....
    Thanks In Advance

    Hi Krishna,
    I can't imagine what you want.
    In ALV grid object, you can change the title text for each column displayed. This is done via field catalog or, in SALV, column object methods.
    In ALV fullscreen, you can define a TOP-OF-PAGE area where you may have what ever you want independent from the grid table content. I think you can not use this because you have the grid in a container.
    You may define it as a docking or splitter container and place the grid in lower and the title in upper area. But this will need some experience with container controls and a certain level of coding abilities.
    Regards,
    Clemens

  • How to display logo in alv grid display

    Hi, i am using 'REUSE_ALV_COMMENTARY_WRITE' to display logo. but i couldn't get in the output.
    plain explain how use this functoin module.
    DATA  :  it_listheader   TYPE slis_t_listheader.
    CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'
        EXPORTING
          it_list_commentary = it_listheader
          i_logo             = 'LOGO'.

    hi
    i am doing month wise customer sale report.
    the output should like that
    month   customer1    customer2   customer3  customer 4  total
    jan       100                200           200              -                500
    feb                                            300                               300
    mar
    apr
    total   100                200              500                            800
    i want to do this dynamicaly.
    let me know how can i display customer as a header.

  • How to display different subtotal text for each group in alv report

    Hi,
    i need to display subtotal text as "totals of  Mat1"  for material numbers 1 to 10 as group1 and again i need to display subtotal text as " totals of Mat2" for material number 11 to 20.
    group 2.
    Please help me asap.

    You can create subtotals by columns.
    You would need extra column to group the materials( 1 to 10 GROUP1 20 to 30 GROUP2 by example)  and use this column for subtotals

  • Check box as output of ALV grid display

    Hello Experts,
    I have an internal table consiting of 3 fields which i need to display this  using the grid display.
    The requirement is to place a check box before the 1 and the 3rd line item.
    Thanks in advance.

    Hi
    data:   it_check TYPE STANDARD TABLE OF st_check,
           wa_check TYPE st_check.
    to get the pop up data:
    LOOP AT it_ekko INTO wa_ekko WHERE check = 'X'.
        READ TABLE it_eine INTO wa_eine WITH KEY ebeln = wa_ekko-ebeln.
        IF sy-subrc NE 0.
          MESSAGE i020(z50871msg) WITH text-015 wa_ekko-ebeln .
        ELSE.
          wa_popup-ebeln = wa_eine-ebeln.
          wa_popup-ekorg = wa_eine-ekorg.
          wa_popup-ekgrp = wa_eine-ekgrp.
          APPEND wa_popup TO it_popup.
        ENDIF.
      ENDLOOP.
    to dispay pop up;
    FORM display_popup .
      LOOP AT it_ekko INTO wa_ekko WHERE check EQ 'X'.
        wa_check-check = wa_ekko-check.
        APPEND wa_check TO it_check.
      ENDLOOP.
      IF it_check[] IS INITIAL.
        MESSAGE i020(z50871msg) WITH text-018.
      ENDIF.
      IF NOT it_popup[] IS INITIAL.
        CALL FUNCTION 'REUSE_ALV_POPUP_TO_SELECT'
          EXPORTING
            i_title              = text-003
            i_allow_no_selection = 'X'
            i_scroll_to_sel_line = 'X'
            i_tabname            = 'IT_POPUP'
            it_fieldcat          = it_fieldcat
            i_callback_program   = sy-repid
          TABLES
            t_outtab             = it_popup
          EXCEPTIONS
            program_error        = 1
            OTHERS               = 2.
        IF sy-subrc <> 0.
          MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
                  WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
        ENDIF.
      ENDIF.
      REFRESH it_check.
      REFRESH it_popup.
    ENDFORM.                    " DISPLAY_POPUP

  • Use "grid display" for background job of RM07DOCS / MB51

    Hello experts,
    When you execute program RM07DOCS with transaction MB51, it uses a "hierarchy display" for the output, a list of material documents. User can then use the menus for "Goto>Detail List" and the display changes to a "grid display".
    If we define a background job for program RM07DOCS with a variant, the program uses the "hierarchy display". Is it possible to use "grid display" instead?  do we need to call a different program?
    Thanks.
    Raul V

    Hi Raul,
    Copy standard program RM07DOCS to ZRM07DOCS
    Then add this code "PERFORM detail_list."
    before the code "CALL FUNCTION 'REUSE_ALV_HIERSEQ_LIST_DISPLAY' "
    This will solve your problem.
    Regards.

  • WRT54GS router setup page won't display most text

    So I bought a new Linksys WRT54GS v6 wireless router yesterday, and I was able to set it up to share my DSL line, but when I went to the router setup page (192.168.1.1), it wouldn't display most text. It displays text in the entry boxes, but there are no links or other text on the page. I took a screenshot which can be seen here: http://img87.imageshack.us/img87/3390/routersetuppagemc1.jpg
    Does anyone know what I can do to solve this issue?

    Hey Merugo. I was having the same problem with the router settings screen refusing to load for my WRT54G. Do you happen to have v.5 of the router? After digging around in the help files on the site, I found this for firmware recovery for the WRT54G v.5 and it fixed the problem I was having once it loaded the updated .bin. Blank screen be gone.
    http://linksys.custhelp.com/cgi-bin/linksys.cfg/php/enduser/std_adp.php?p_faqid=3176
    (The first time the router tried to load the new .bin it timed out. And the second time it installed correctly though it didn't display "Upgrade Success" like it's apparently supposed to.)
    Hope this can maybe help you since it fixed things for me.Message Edited by Res on 10-03-200606:44 PM

  • Subtotal text in ALV using OO ALV

    HI All,
    How to display subtotal text in ALV using OO ALV?
    My output of ALV should be as follows
    COL1    COL2   COL3
    ABC      900       M1
    PQR      100       M1
    M1 Subtotal 1000
    XYZ      2100    M2    
    M2 Subtotal 2100
    I could put the subtotal, but couldnu2019t add subtotal text.
    My code
      TRY.
          CALL METHOD cl_salv_table=>factory
            IMPORTING
              r_salv_table   = g_alv
            CHANGING
              t_table        = gt_report
        CATCH cx_salv_msg .
      ENDTRY.
    u2026u2026
    *Display the table.
      g_alv->display( ).

    Hi
    REPORT  z_alv_demo_total_text.
    Type declaration for final table to display the output
    TYPES: BEGIN OF ty_mara,
            srno TYPE char40, " Storing the total text
            matnr TYPE matnr, " Material
            ersda TYPE ersda, " Creation date
            ernam TYPE ernam, " Created by
            laeda TYPE laeda, " Last change date
            aenam TYPE aenam, " Last change by
            vpsta TYPE vpsta, " Maintenance status
            brgew TYPE brgew, " Gross weight
            ntgew TYPE ntgew, " Net weight
            gewei TYPE gewei, " Weight Unit
           END OF ty_mara.
    Type declaration for table storing temp. data
    TYPES: BEGIN OF ty_mara_tmp,
            matnr TYPE matnr, " Material
            ersda TYPE ersda, " Creation date
            ernam TYPE ernam, " Created by
            laeda TYPE laeda, " Last change date
            aenam TYPE aenam, " Last change by
            vpsta TYPE vpsta, " Maintenance status
            brgew TYPE brgew, " Gross weight
            ntgew TYPE ntgew, " Net weight
            gewei TYPE gewei, " Weight Unit
          END OF ty_mara_tmp.
    Internal table for storing final data
    DATA: i_mara TYPE STANDARD TABLE OF ty_mara INITIAL SIZE 0.
    Work area for final table
    DATA: w_mara TYPE ty_mara.
    Internal table for storing temp. data
    DATA: i_mara_tmp TYPE STANDARD TABLE OF ty_mara_tmp INITIAL SIZE 0.
    Work area for temp. table
    DATA: w_mara_tmp TYPE ty_mara_tmp.
    Object variable for ALV grid
    DATA: oref1 TYPE REF TO cl_gui_alv_grid.
    Field catalog table for ALV grid
    DATA: fieldcat TYPE  lvc_t_fcat.
    Workarea for field catalog table
    DATA: w_field TYPE lvc_s_fcat.
    Internal table for storing info. for ALV grid
    data: i_sort2 TYPE STANDARD TABLE OF lvc_s_sort INITIAL SIZE 0.
    Workarea for sort table
    DATA: wa_sort2      TYPE  lvc_s_sort.
    Workarea for ALV layout
    data: wa_layout     TYPE  lvc_s_layo.
    START-OF-SELECTION.
    Fetch data
    SELECT  matnr   " Material
            ersda   " Creation date
            ernam   " Created by
            laeda   " Last change date
            aenam   " Last change by
            vpsta   " Maintenance status
            brgew   " Gross weight
            ntgew   " Net weight
            gewei   " Weight Unit
      FROM mara
      INTO TABLE i_mara_tmp
      UP TO 100 ROWS.
      CHECK sy-subrc = 0.
    Populate final table
      LOOP AT i_mara_tmp INTO w_mara_tmp.
      Storing the Total text need to be displayed in
      ALV
        w_mara-srno = 'Total weight (Gross & Net)'.
        w_mara-matnr = w_mara_tmp-matnr.
        w_mara-ersda = w_mara_tmp-ersda.
        w_mara-ernam  = w_mara_tmp-ernam .
        w_mara-laeda = w_mara_tmp-laeda.
        w_mara-aenam = w_mara_tmp-aenam.
        w_mara-vpsta = w_mara_tmp-vpsta.
        w_mara-brgew = w_mara_tmp-brgew.
        w_mara-ntgew = w_mara_tmp-ntgew.
        w_mara-gewei = w_mara_tmp-gewei.
        APPEND w_mara TO i_mara.
      ENDLOOP.
    Calling the screen to display ALV
      CALL SCREEN 100.
    *&      Module  STATUS_0100  OUTPUT
          Display ALV report
    MODULE status_0100 OUTPUT.
      IF oref1 IS INITIAL.
      Create ALV grid object
      In this case we have not created any custom container in the screen,
      Instead of that dummy container name is passed
      ADVANTAGE: we can run this report in background without any problem
        CREATE OBJECT oref1
          EXPORTING
            i_parent          = cl_gui_custom_container=>screen0
          EXCEPTIONS
            error_cntl_create = 1
            error_cntl_init   = 2
            error_cntl_link   = 3
            error_dp_create   = 4
            OTHERS            = 5
        CHECK sy-subrc = 0.
      Preparing the field catalog
      ZDEMO: Defined in DDIC, it's structure is same as TYPE ty_mara
      defined in the program
        CALL FUNCTION 'LVC_FIELDCATALOG_MERGE'
          EXPORTING
            i_structure_name       = 'ZDEMO'
          CHANGING
            ct_fieldcat            = fieldcat
          EXCEPTIONS
            inconsistent_interface = 1
            program_error          = 2
            OTHERS                 = 3.
        IF sy-subrc = 0.
          LOOP AT fieldcat INTO w_field.
            IF w_field-fieldname = 'BRGEW' OR
              w_field-fieldname = 'NTGEW'.
            Summation for Gross & Net weight
              w_field-do_sum = 'X'.
              MODIFY fieldcat FROM w_field TRANSPORTING do_sum.
            ENDIF.
            IF w_field-fieldname = 'SRNO'.
            Hide this field so that it can display it's content i.e.
            Total text in Subtotal level
              w_field-tech = 'X'.
              w_field-no_out = 'X'.
              MODIFY fieldcat FROM w_field TRANSPORTING tech no_out.
            ENDIF.
            CLEAR w_field.
          ENDLOOP.
        ENDIF.
      Populate Sort table with SRNO field so that we can display the total
      text in it's subtotal level
        wa_sort2-spos = 1.
        wa_sort2-fieldname = 'SRNO'.
        wa_sort2-up = 'X'.
        wa_sort2-subtot = 'X'.
        APPEND wa_sort2 TO i_sort2.
      Hide the total line
        wa_layout-no_totline = 'X'.
      Display the ALV grid
        CALL METHOD oref1->set_table_for_first_display
          EXPORTING
            is_layout                     = wa_layout
          CHANGING
            it_outtab                     = i_mara[]
            it_fieldcatalog               = fieldcat
            it_sort                       = i_sort2
          EXCEPTIONS
            invalid_parameter_combination = 1
            program_error                 = 2
            too_many_lines                = 3
            OTHERS                        = 4.
        IF sy-subrc <> 0.
        ENDIF.
      Set the focus on the grid
        CALL METHOD cl_gui_alv_grid=>set_focus
          EXPORTING
            control           = oref1
          EXCEPTIONS
            cntl_error        = 1
            cntl_system_error = 2
            OTHERS            = 3.
        IF sy-subrc <> 0.
        ENDIF.
      ENDIF.
    ENDMODULE.                 " STATUS_0100  OUTPUT
    These will defintely help  in u displaying subtotal text check it
    thanks

  • Regarding Subtotal Text Printing in ALV

    Dear all,
    I want to print some text in subtotaling.But i am not getting it..I am doing like below.
    My FORM SUBTOTAL_TEXT  does not get hit al all.
    Plz let me know where I am going wrong
    *&      Form  GET_EVENTS
          text
    -->  p1        text
    <--  p2        text
    FORM GET_EVENTS .
      CONSTANTS : C_FORNAME_SUBTOTAL_TEXT TYPE SLIS_FORMNAME VALUE 'SUBTOTAL_TEXT'.
      DATA: L_S_EVENT TYPE SLIS_ALV_EVENT.
      CALL FUNCTION 'REUSE_ALV_EVENTS_GET'
        EXPORTING
          i_list_type     = 4
        IMPORTING
          et_events       = IT_EVENT
        EXCEPTIONS
          list_type_wrong = 0
          OTHERS          = 0.
    Subtotal
      READ TABLE IT_EVENT INTO L_S_EVENT WITH KEY NAME = SLIS_EV_SUBTOTAL_TEXT.
      IF sy-subrc = 0.
        MOVE C_FORNAME_SUBTOTAL_TEXT TO L_S_EVENT-FORM.
        MODIFY IT_EVENT FROM L_S_EVENT INDEX SY-TABIX..
      ENDIF.
    ENDFORM.                    " GET_EVENTS
    *&      Form  DATA_DISPLAY
          Text-ALV Grid Display through FM REUSE_ALV_GRID_DISPLAY
    FORM DATA_DISPLAY .
    CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
      EXPORTING
       I_INTERFACE_CHECK                 = ' '
       I_BYPASSING_BUFFER                = ' '
       I_BUFFER_ACTIVE                   = ' '
         I_CALLBACK_PROGRAM                = 'ZCOMPLIANCE_WEEK'
       I_CALLBACK_PF_STATUS_SET          = ' '
         I_CALLBACK_USER_COMMAND           = 'USER_COMMAND'
         I_CALLBACK_TOP_OF_PAGE            = 'TOP_OF_PAGE'
       I_CALLBACK_HTML_TOP_OF_PAGE       = ' '
       I_CALLBACK_HTML_END_OF_LIST       = ' '
       I_STRUCTURE_NAME                  =
       I_BACKGROUND_ID                   = ' '
       I_GRID_TITLE                      =
       I_GRID_SETTINGS                   =
        IS_LAYOUT                         = I_LAYOUT
         IT_FIELDCAT                       = FIELDCAT[]
       IT_EXCLUDING                      =
       IT_SPECIAL_GROUPS                 =
         IT_SORT                           = IT_SORTCAT
       IT_FILTER                         =
       IS_SEL_HIDE                       =
        I_DEFAULT                        = 'X'
       I_SAVE                            = ' '
       IS_VARIANT                        =
         IT_EVENTS                         = IT_EVENT
       IT_EVENT_EXIT                     =
       IS_PRINT                          =
       IS_REPREP_ID                      =
       I_SCREEN_START_COLUMN             = 0
       I_SCREEN_START_LINE               = 0
       I_SCREEN_END_COLUMN               = 0
       I_SCREEN_END_LINE                 = 0
       I_HTML_HEIGHT_TOP                 = 0
       I_HTML_HEIGHT_END                 = 0
       IT_ALV_GRAPHICS                   =
       IT_HYPERLINK                      =
       IT_ADD_FIELDCAT                   =
       IT_EXCEPT_QINFO                   =
       IR_SALV_FULLSCREEN_ADAPTER        =
    IMPORTING
       E_EXIT_CAUSED_BY_CALLER           =
       ES_EXIT_CAUSED_BY_USER            =
       TABLES
         T_OUTTAB                          = IT_DISPLAY.
    EXCEPTIONS
       PROGRAM_ERROR                     = 1
       OTHERS                            = 2
    IF SY-SUBRC <> 0.
    MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
            WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
    ENDIF.
    ENDFORM.                    " DATA_DISPLAY
    *&      Form  subtotal_text
          Build subtotal text
          P_total  Total
          p_subtot_text Subtotal text info
    FORM SUBTOTAL_TEXT CHANGING
                   P_TOTAL TYPE ANY
                   P_SUBTOT_TEXT TYPE SLIS_SUBTOT_TEXT.
    Material level sub total
        P_SUBTOT_TEXT-DISPLAY_TEXT_FOR_SUBTOTAL
        = 'Material level total'(009).
    ENDFORM.                    "SUBTOTAL_TEXT

    just check this sample code observe the comments
    REPORT ZTEST_ALV_TEXT .
    type-pools : slis.
    types : begin of itab_t,
    ebeln like ekpo-ebeln,
    lifnr like ekko-lifnr,
    ekorg like ekko-ekorg,
    ekgrp like ekko-ekgrp,
    werks like ekpo-werks,
    ebelp like ekpo-ebelp,
    matnr like ekpo-matnr,
    menge like ekpo-menge,
    netpr like ekpo-netpr,
    d, "Dummy field to fire the Subtotal text event
    end of itab_t.
    data: itab type table of itab_t.
    data: tab type itab_t.
    data : itab1 like eket occurs 0 with header line.
    data: t_fcat type slis_t_fieldcat_alv,
    it_sort type slis_t_sortinfo_alv,
    t_events type slis_t_event,
    listhead type slis_t_listheader,
    ls_layout type slis_layout_alv.
    start-of-selection.
    select a~ebeln
    a~lifnr
    a~ekorg
    a~ekgrp
    b~werks
    b~ebelp
    b~matnr
    b~menge
    b~netpr
    up to 100 rows
    into corresponding fields of table itab
    from ekko as a inner join ekpo as b
    on a~ebeln = b~ebeln.
    end-of-selection.
    perform fill_fcat using t_fcat.
    perform fill_event using t_events.
    perform fill_layout.
    perform display.
    form fill_fcat using p_t_fcat type slis_t_fieldcat_alv.
    data : lfcat type slis_fieldcat_alv,
    colpos type i value '0'.
    data : ls_sort type slis_sortinfo_alv.
    colpos = colpos + 1.
    lfcat-col_pos = colpos.
    lfcat-fieldname = 'EBELN'.
    lfcat-tabname = 'ITAB'.
    lfcat-ref_fieldname = 'EBELN'.
    lfcat-ref_tabname = 'EKKO'.
    lfcat-hotspot = 'X'.
    append lfcat to p_t_fcat.
    clear lfcat.
    colpos = colpos + 1.
    lfcat-col_pos = colpos.
    lfcat-fieldname = 'LIFNR'.
    lfcat-tabname = 'ITAB'.
    lfcat-ref_fieldname = 'LIFNR'.
    lfcat-ref_tabname = 'EKKO'.
    append lfcat to p_t_fcat.
    clear lfcat.
    colpos = colpos + 1.
    lfcat-col_pos = colpos.
    lfcat-fieldname = 'EKORG'.
    lfcat-tabname = 'ITAB'.
    lfcat-ref_fieldname = 'EKORG'.
    lfcat-ref_tabname = 'EKKO'.
    append lfcat to p_t_fcat.
    clear lfcat.
    colpos = colpos + 1.
    lfcat-col_pos = colpos.
    lfcat-fieldname = 'EKGRP'.
    lfcat-tabname = 'ITAB'.
    lfcat-ref_fieldname = 'EKGRP'.
    lfcat-ref_tabname = 'EKKO'.
    append lfcat to p_t_fcat.
    clear lfcat.
    colpos = colpos + 1.
    lfcat-col_pos = colpos.
    lfcat-fieldname = 'WERKS'.
    lfcat-tabname = 'ITAB'.
    lfcat-ref_fieldname = 'WERKS'.
    lfcat-ref_tabname = 'EKPO'.
    append lfcat to p_t_fcat.
    clear lfcat.
    colpos = colpos + 1.
    lfcat-col_pos = colpos.
    lfcat-fieldname = 'EBELP'.
    lfcat-tabname = 'ITAB'.
    lfcat-ref_fieldname = 'EBELP'.
    lfcat-ref_tabname = 'EKPO'.
    append lfcat to p_t_fcat.
    clear lfcat.
    colpos = colpos + 1.
    lfcat-col_pos = colpos.
    lfcat-fieldname = 'MATNR'.
    lfcat-tabname = 'ITAB'.
    lfcat-ref_fieldname = 'MATNR'.
    lfcat-ref_tabname = 'EKPO'.
    append lfcat to p_t_fcat.
    clear lfcat.
    colpos = colpos + 1.
    lfcat-col_pos = colpos.
    lfcat-fieldname = 'MENGE'.
    lfcat-tabname = 'ITAB'.
    lfcat-ref_fieldname = 'MENGE'.
    lfcat-ref_tabname = 'EKPO'.
    lfcat-do_sum = 'X'.
    append lfcat to p_t_fcat.
    clear lfcat.
    colpos = colpos + 1.
    lfcat-col_pos = colpos.
    lfcat-fieldname = 'NETPR'.
    lfcat-tabname = 'ITAB'.
    lfcat-ref_fieldname = 'NETPR'.
    lfcat-ref_tabname = 'EKPO'.
    lfcat-do_sum = 'X'.
    append lfcat to p_t_fcat.
    clear lfcat.
    colpos = colpos + 1.
    lfcat-col_pos = colpos.
    lfcat-fieldname = 'D'.
    lfcat-tabname = 'ITAB'.
    lfcat-ref_fieldname = 'EBELN'.
    lfcat-ref_tabname = 'EKKO'.
    lfcat-no_out = 'X'.
    append lfcat to p_t_fcat.
    clear lfcat.
    ls_sort-spos = 1.
    ls_sort-fieldname = 'EBELN'.
    ls_sort-tabname = 'ITAB'.
    ls_sort-up = 'X'.
    ls_sort-group = 'UL'.
    append ls_sort to it_sort.
    clear ls_sort.
    ls_sort-spos = 2.
    ls_sort-fieldname = 'D'.
    ls_sort-tabname = 'ITAB'.
    ls_sort-up = 'X'.
    ls_sort-group = 'UL'.
    ls_sort-subtot = 'X'.
    append ls_sort to it_sort.
    endform. " fill_fcat
    form fill_event using p_t_events type slis_t_event.
    data : ls_event type slis_alv_event.
    call function 'REUSE_ALV_EVENTS_GET'
    exporting
    i_list_type = 0
    importing
    et_events = p_t_events
    EXCEPTIONS
    LIST_TYPE_WRONG = 1
    OTHERS = 2
    if sy-subrc ne 0.
    MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
    WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
    endif.
    read table p_t_events with key name = slis_ev_top_of_page
    into ls_event.
    if sy-subrc = 0.
    move 'TOP_OF_PAGE' to ls_event-form.
    append ls_event to p_t_events.
    endif.
    read table p_t_events with key name = SLIS_EV_SUBTOTAL_TEXT
    into ls_event.
    if sy-subrc = 0.
    move 'SUBTOTAL' to ls_event-form.
    append ls_event to p_t_events.
    endif.
    endform. " FILL_EVENT
    FORM SUBTOTAL USING I_LISTHEAD STRUCTURE tab
    I_SUBTOTAL TYPE SLIS_SUBTOT_TEXT.
    *criteria type slis_fieldname,
    keyword like dd03p-reptext,
    criteria_text(255) type c,
    max_len like dd03p-outputlen,
    display_text_for_subtotal(255) type c,
    if I_SUBTOTAL-criteria = 'D'.
    I_SUBTOTAL-display_text_for_subtotal = 'Sub total'.
    endif.
    ENDFORM.
    form top_of_page.
    data : s_listhead type slis_listheader.
    clear s_listhead.
    s_listhead-typ = 'H'.
    s_listhead-info = 'SIMPLE REPORT'.
    append s_listhead to listhead.
    s_listhead-typ = 'S'.
    s_listhead-key = 'EBELN'.
    s_listhead-info = 'ALV'.
    append s_listhead to listhead.
    call function 'REUSE_ALV_COMMENTARY_WRITE'
    exporting
    it_list_commentary = listhead
    i_logo = 'ENJOYSAP_LOGO'
    I_END_OF_LIST_GRID =
    endform. "TOP_OF_PAGE
    form fill_layout .
    ls_layout-zebra = 'X'.
    ls_layout-detail_popup = 'X'.
    ls_layout-key_hotspot = 'X'.
    ls_layout-window_titlebar = 'Test Title'.
    ls_layout-totals_text = 'GRAND TOTAL'.
    ls_layout-subtotals_text = 'SUB'.
    endform. " fill_layout
    form display .
    call function 'REUSE_ALV_LIST_DISPLAY'
    exporting
    i_callback_program = sy-repid
    it_sort = it_sort[]
    it_events = t_events
    tables
    t_outtab = itab
    EXCEPTIONS
    PROGRAM_ERROR = 1
    OTHERS = 2
    if sy-subrc ne 0.
    MESSAGE ID SY-MSGI D TYPE SY-MSGTY NUMBER SY-MSGNO
    WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
    endif.
    endform. " display

Maybe you are looking for