<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: ALV-GRID TOTAL in Application Development and Automation Discussions</title>
    <link>https://community.sap.com/t5/application-development-and-automation-discussions/alv-grid-total/m-p/4100440#M980493</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hey,&lt;/P&gt;&lt;P&gt;U can try out &lt;STRONG&gt;"SORTING THE VENDORS AND DO THE SUM in the NETWR"...&lt;/STRONG&gt; try it out....see u sort the customers...rit?...keep it as usual and little mentoned above...&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;hope dis help u out...&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Mon, 07 Jul 2008 03:06:22 GMT</pubDate>
    <dc:creator>Former Member</dc:creator>
    <dc:date>2008-07-07T03:06:22Z</dc:date>
    <item>
      <title>ALV-GRID TOTAL</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/alv-grid-total/m-p/4100439#M980492</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Experts,&lt;/P&gt;&lt;P&gt;i have issue were in i need to show sum of the amount. like example...&lt;/P&gt;&lt;P&gt;for Custmer 100 there are vendor number 10,20,30,40,50. so for all this vendor numbers.. &lt;/P&gt;&lt;P&gt;vendor-----  amount&lt;/P&gt;&lt;P&gt;10 -&lt;/P&gt;&lt;HR originaltext="--------" /&gt;&lt;P&gt;   100&lt;/P&gt;&lt;P&gt;20----&lt;/P&gt;&lt;HR originaltext="-----" /&gt;&lt;P&gt;200&lt;/P&gt;&lt;P&gt;30----&lt;/P&gt;&lt;HR originaltext="----" /&gt;&lt;P&gt;300&lt;/P&gt;&lt;P&gt;40----&lt;/P&gt;&lt;HR originaltext="---" /&gt;&lt;P&gt;400&lt;/P&gt;&lt;P&gt;50-------500&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;so in the output i want it to be..&lt;/P&gt;&lt;P&gt;customer--&lt;DEL&gt;&lt;/DEL&gt;&lt;/P&gt;&lt;HR originaltext="---" /&gt;vendornumber--&lt;P&gt;&lt;/P&gt;&lt;HR originaltext="---" /&gt;&lt;P&gt; amount&lt;/P&gt;&lt;P&gt;   1000--&lt;DEL&gt;&lt;/DEL&gt;&lt;/P&gt;&lt;HR originaltext="----------" /&gt;10--&lt;P&gt;&lt;/P&gt;&lt;HR originaltext="------------" /&gt;&lt;P&gt;1500&lt;/P&gt;&lt;P&gt; -&lt;/P&gt;&lt;HR originaltext="-----------------------" /&gt;&lt;P&gt;20---&lt;/P&gt;&lt;P&gt; -&lt;/P&gt;&lt;HR originaltext="-----------------------" /&gt;&lt;P&gt;30---&lt;/P&gt;&lt;P&gt; -&lt;/P&gt;&lt;HR originaltext="-----------------------" /&gt;&lt;P&gt;40---&lt;/P&gt;&lt;P&gt; -&lt;/P&gt;&lt;HR originaltext="-----------------------" /&gt;&lt;P&gt;50---&lt;/P&gt;&lt;P&gt;.hope u experts have undestood. so how can i add the it and show it in the output....&lt;/P&gt;&lt;P&gt;am  forwarding my code also..&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Corrects answers will be fully rewarded..&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;PRE&gt;&lt;CODE&gt;REPORT  zrfi007 NO STANDARD PAGE HEADING LINE-SIZE 255 MESSAGE-ID z01.
TYPE-POOLS: slis, abap.
*----------------------------------------------------------------------*
* TYPES Declaration
*----------------------------------------------------------------------*

TYPES: BEGIN OF ty_lfa1,
      lifnr TYPE lfa1-lifnr,
      name1 TYPE lfa1-name1,
      END OF ty_lfa1.

TYPES:  BEGIN OF ty_bsik,
         bukrs  TYPE    bsik-bukrs,
         lifnr  TYPE    bsik-lifnr,
         belnr  TYPE    bsik-belnr,
         bldat  TYPE    bsik-bldat,
         waers  TYPE    bsik-waers,
         dmbtr  TYPE    bsik-dmbtr,
         wrbtr  TYPE    bsik-wrbtr,
          zfbdt TYPE    bsik-zfbdt,
         zbd1t  TYPE    bsik-zbd1t,
        zbd2t   TYPE    bsik-zbd2t,
        zbd3t   TYPE    bsik-zbd3t,
       END OF ty_bsik.
TYPES: BEGIN OF ty_lfb1,
       lifnr TYPE lfb1-lifnr,
       bukrs TYPE lfb1-bukrs,
       END OF ty_lfb1.
TYPES: BEGIN OF ty_final,
         bukrs  TYPE    bsik-bukrs,
         lifnr  TYPE    bsik-lifnr,
         belnr  TYPE    bsik-belnr,
         bldat  TYPE    bsik-bldat,
         days   TYPE    sy-datum,
         waers  TYPE    bsik-waers,
         dmbtr  TYPE    bsik-dmbtr,
*         waers  type    bsik-waers,
         wrbtr  TYPE    bsik-wrbtr,
         zfbdt  TYPE    bsik-zfbdt,
         zbd1t  TYPE    bsik-zbd1t,
         zbd2t  TYPE    bsik-zbd2t,
         zbd3t  TYPE    bsik-zbd3t,
         name1  TYPE    lfa1-name1,
         current  TYPE    bsik-dmbtr,
        d30     TYPE    bsik-dmbtr,
        d60     TYPE    bsik-dmbtr,
        d90     TYPE    bsik-dmbtr,
        d120    TYPE    bsik-dmbtr,
        d180    TYPE    bsik-dmbtr,
        d240    TYPE    bsik-dmbtr,
        d360    TYPE    bsik-dmbtr,
        da365   TYPE    bsik-dmbtr,

*        ct_date TYPE  sy-datum,
*         date   TYPE datum,
*         days  TYPE char8,
       END OF ty_final.
*----------------------------------------------------------------------*
* Data Declaration.
*----------------------------------------------------------------------*

DATA: gt_lfa1 TYPE STANDARD TABLE OF ty_lfa1,
      wa_lfa1 TYPE ty_lfa1.

DATA: gt_final TYPE STANDARD TABLE OF ty_final,
      wa_final TYPE ty_final.

DATA: gt_bsik TYPE STANDARD TABLE OF ty_bsik,
      wa_bsik TYPE ty_bsik.
DATA: gt_lfb1 TYPE STANDARD TABLE OF ty_lfb1,
      wa_lfb1 TYPE ty_lfb1.
DATA:   days        TYPE sy-datum.

*----------------------------------------------------------------------*
* ALV Components
*----------------------------------------------------------------------*
**** ALV Internal Table
DATA : i_layout     TYPE slis_layout_alv OCCURS 0 WITH HEADER LINE,
       i_events     TYPE slis_t_event,
       i_fieldcat   TYPE slis_t_fieldcat_alv,
       i_print      TYPE slis_print_alv,
       i_list_top   TYPE slis_t_listheader,
       i_list_end   TYPE slis_t_listheader,
       i_sort       TYPE slis_t_sortinfo_alv.

DATA:  wa_fieldcat  LIKE LINE OF i_fieldcat.
*----------------------------------------------------------------------*
* ALV Variable.
*----------------------------------------------------------------------*

DATA: v_top        TYPE slis_formname VALUE 'TOP_OF_PAGE',
      v_eop        TYPE slis_formname VALUE 'END_OF_PAGE',
      v_eol        TYPE slis_formname VALUE 'END_OF_LIST',
      v_tol        TYPE slis_formname VALUE 'TOP_OF_LIST'.

**** ALV Variants
DATA: i_variant      LIKE disvariant.

*----------------------------------------------------------------------*
* Selection screen
*----------------------------------------------------------------------*

DATA: v_bukrs TYPE bukrs,
      v_lifnr TYPE kunnr,
      pa_bldat TYPE bldat.


SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME TITLE text-001.

SELECT-OPTIONS: s_bukrs FOR v_bukrs NO INTERVALS NO-EXTENSION OBLIGATORY,
                s_lifnr FOR v_lifnr.
*                bldat FOR v_bldat no-extension.
PARAMETERS: p_bldat TYPE  bsik-bldat.

SELECTION-SCREEN END OF BLOCK b1.

SELECTION-SCREEN SKIP 2.

SELECTION-SCREEN BEGIN OF BLOCK b2 WITH FRAME TITLE text-002.
PARAMETERS: p_detail RADIOBUTTON GROUP r1 DEFAULT 'X',
            p_sumry RADIOBUTTON GROUP r1.
SELECTION-SCREEN END OF BLOCK b2.
*----------------------------------------------------------------------*
*  Top-Of-Page Declaration Header
*----------------------------------------------------------------------*

*****
DATA: lwa_list_top LIKE LINE OF i_list_top.

DATA: lv_header(70),
      lv_text(50),
      lv_text1(60),
      lv_text2(50),
      lv_text3(50) ,
      lv_text4(50),
      lv_date TYPE char10,
      lv_time TYPE char10.

DATA: lv_butxt LIKE t001-butxt,
      lv_butxt1 LIKE lfa1-name1,
      lv_butxt2 LIKE lfb1-lifnr.

INITIALIZATION.


*TOP-OF-PAGE.
*----------------------------------------------------------------------*
* Validations for Selection screen
*----------------------------------------------------------------------*

AT SELECTION-SCREEN ON s_bukrs.
  IF NOT s_bukrs[] IS INITIAL.
    SELECT SINGLE bukrs FROM lfb1
     INTO s_bukrs
    WHERE bukrs IN s_bukrs.
  ENDIF.
  IF sy-subrc NE 0.
    MESSAGE e003.

  ENDIF.

AT SELECTION-SCREEN ON s_lifnr.
  IF NOT s_lifnr[] IS INITIAL.
    SELECT SINGLE lifnr FROM lfa1
    INTO s_lifnr
    WHERE lifnr IN s_lifnr.
    IF sy-subrc NE 0.
      MESSAGE e005.
    ENDIF.
  ENDIF.

AT SELECTION-SCREEN ON p_bldat.
  IF NOT p_bldat IS INITIAL.
    SELECT SINGLE bldat FROM bsid
    INTO p_bldat
    WHERE bldat = p_bldat.
    IF sy-subrc NE 0 .
      MESSAGE e004.
    ENDIF.
  ENDIF.
*----------------------------------------------------------------------*
* Selection For Top-of-page.
*----------------------------------------------------------------------*

** Get company code description
  SELECT SINGLE butxt
    FROM t001 INTO lv_butxt
    WHERE bukrs IN s_bukrs.

*  SELECT SINGLE lifnr  FROM lfb1
*  INTO  lv_butxt2  WHERE bukrs IN s_bukrs.
*
*  SELECT SINGLE name1 FROM lfa1
*   INTO lv_butxt1 WHERE lifnr = lv_butxt2.


START-OF-SELECTION.

  PERFORM data_retrival.

  PERFORM f_layout_init.
  PERFORM f_eventtab_build.
  i_variant-report = sy-repid.
  PERFORM f_print_control.
*  PERFORM f_build_header_list.
*  perform f_build_header_list1.
*    PERFORM f_build_fieldcat.
  IF p_detail = 'X'.
    PERFORM f_build_sort.
    PERFORM fill_fieldcat.
    PERFORM f_build_header_list.

  ELSE.
    PERFORM f_build_sort1.
    PERFORM fill_fieldcat_sum.
    PERFORM f_build_header_list1.

  ENDIF.

  PERFORM f_list_display TABLES gt_final[].

END-OF-SELECTION.


*&amp;amp;---------------------------------------------------------------------*
*&amp;amp;      Form  data_retrival
*&amp;amp;---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*  --&amp;gt;  p1        text
*  &amp;lt;--  p2        text
*----------------------------------------------------------------------*
FORM data_retrival .

  SELECT   bukrs
           lifnr
           belnr
           bldat
           waers
           dmbtr
           wrbtr
           zfbdt
           zbd1t
           zbd2t
           zbd3t
           FROM bsik INTO TABLE gt_bsik
           WHERE bukrs IN s_bukrs
           AND   lifnr IN s_lifnr.

  SELECT lifnr
         name1
         FROM lfa1 INTO TABLE gt_lfa1
         FOR ALL ENTRIES IN gt_bsik
         WHERE lifnr = gt_bsik-lifnr.



  LOOP AT gt_bsik INTO wa_bsik.
    READ TABLE gt_lfa1 INTO wa_lfa1 WITH KEY lifnr = wa_bsik-lifnr.
    MOVE-CORRESPONDING wa_bsik TO wa_final.
    MOVE-CORRESPONDING wa_lfa1 TO wa_final.

    DATA: days TYPE char2,
          c4 TYPE char2.

    DATA: days1 TYPE sy-datum.
    DATA:duedate TYPE rfpos-faedt.

    CALL FUNCTION 'NET_DUE_DATE_GET'
      EXPORTING
        i_zfbdt       = wa_final-zfbdt
        i_zbd1t       = wa_final-zbd1t
        i_zbd2t       = wa_final-zbd2t
        i_zbd3t       = wa_final-zbd3t
        i_shkzg       = ' '
        i_rebzg       = ' '
*   I_KOART       = 'D'
     IMPORTING
       e_faedt       = duedate.
    CALL FUNCTION 'DAYS_BETWEEN_TWO_DATES'
      EXPORTING
        i_datum_bis                   = duedate
        i_datum_von                   = wa_final-bldat
*   I_KZ_EXCL_VON                 = '0'
*   I_KZ_INCL_BIS                 = '0'
*   I_KZ_ULT_BIS                  = ' '
*   I_KZ_ULT_VON                  = ' '
*   I_STGMETH                     = '0'
*   I_SZBMETH                     = '1'
     IMPORTING
       e_tage                        = days
     EXCEPTIONS
       days_method_not_defined       = 1
       OTHERS                        = 2
              .
    IF sy-subrc &amp;lt;&amp;gt; 0.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
*         WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
    ENDIF.

    wa_final-days = duedate.

    DATA : wf_char TYPE char10.

    wf_char = days.

    IF wf_char+0(1) EQ '*' .
      SKIP.

    ELSE.

      IF days EQ 0.
        wa_final-current = wa_bsik-wrbtr.
      ELSEIF days LE 30 AND days GT 0.
        wa_final-d30 = wa_bsik-wrbtr.
      ELSEIF days LE 60 AND days GT 30 .
        wa_final-d60 = wa_bsik-wrbtr.
      ELSEIF days LE 90 AND days GT 60.
        wa_final-d90 = wa_bsik-wrbtr.
      ELSEIF days LE 120 AND days GT 90.
        wa_final-d120 = wa_bsik-wrbtr.
      ELSEIF days LE 180 AND days GT 120.
        wa_final-d180 = wa_bsik-wrbtr.
      ELSEIF days LE 240 AND days GT 180.
        wa_final-d240 = wa_bsik-wrbtr.
      ELSEIF days LE 360 AND days GT 240.
        wa_final-d360 = wa_bsik-wrbtr.
      ELSEIF days GT 365 .
        wa_final-da365 = wa_bsik-wrbtr.
      ENDIF.
    ENDIF.
    APPEND wa_final TO gt_final.
    CLEAR: wa_final,
           days,
           duedate,days1.
  ENDLOOP.
ENDFORM.                    " data_retrival

*&amp;amp;---------------------------------------------------------------------*
*&amp;amp;      Form  fill_fieldcat
*&amp;amp;---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
FORM fill_fieldcat.
  PERFORM  fill_fields USING: 'Vendor Number' 'LIFNR',
                              'Vendor Name' 'NAME1',
                              'Document Number' 'BELNR',
                              'Document Date' 'BLDAT',
                              'Due Date' 'DAYS',
                              'Total In Document Currency' 'WRBTR',
                              'Currency' 'WAERS',
                              'Total In Reporting Currency' 'DMBTR',
                              'Current' 'CURRENT',
                              '1-30 days' 'D30',
                              '31-60 days' 'D60',
                              '61-90 days' 'D90',
                              '91-120 days' 'D120',
                              '121-180 days' 'D180',
                              '181-240 days' 'D240',
                              '241-360 days'  'D360',
*                              '181-365 days' 'D365',
                              'Above 365 days' 'DA365'.
  .
ENDFORM.                    "fill_fieldcat

*&amp;amp;---------------------------------------------------------------------*
*&amp;amp;      Form  fill_fieldcat_sum
*&amp;amp;---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
FORM fill_fieldcat_sum.
  PERFORM  fill_fields USING: 'Vendor Number' 'LIFNR',
                              'Vendor Name' 'NAME1',
                              'Total In Reporting Currency' 'DMBTR',
                              'Current' 'CURRENT',
                              '1-30 days' 'D30',
                              '31-60 days' 'D60',
                              '61-90 days' 'D90',
                              '91-120 days' 'D120',
                              '121-180 days' 'D180',
                              '181-240 days' 'D240',
                              '241-360 days'  'D360',
                              'Above 365 days' 'DA365'.
ENDFORM.                    "fill_fieldcat_sum

*&amp;amp;---------------------------------------------------------------------*
*&amp;amp;      Form  fill_fields
*&amp;amp;---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*      --&amp;gt;&amp;amp;01        text
*      --&amp;gt;&amp;amp;02        text
*----------------------------------------------------------------------*
FORM fill_fields USING &amp;amp;01 &amp;amp;02 .
  wa_fieldcat-tabname = 'T_OUTPUT'.  "t_output_provgr
  wa_fieldcat-fieldname = &amp;amp;02.
  wa_fieldcat-seltext_m = &amp;amp;01.
*  wa_fieldcat-ref_fieldname = fieldname.
*  wa_fieldcat-ref_tabname = 'SFLIGHT'.
*  w_fieldcat-do_sum = &amp;amp;03.
  APPEND wa_fieldcat TO i_fieldcat.
  CLEAR wa_fieldcat.
ENDFORM.                    "fill_fields



*&amp;amp;---------------------------------------------------------------------*
*&amp;amp;      Form  f_layout_init
*&amp;amp;---------------------------------------------------------------------*
*       Set the layout
*----------------------------------------------------------------------*
FORM f_layout_init.
*  P_layout-min_linesize       = 170.
*  p_layout-max_linesize       = 170.
*  P_layout-no_colhead         = abap_true.
*  p_layout-detail_popup       = abap_true.
  i_layout-colwidth_optimize  = abap_true.
  i_layout-zebra              = abap_true.
*  i_layout-subtotals_text     = 'SubTotal'.
*  i_layout-totals_text        = 'Total'.

ENDFORM.                    " f_layout_init
*&amp;amp;---------------------------------------------------------------------*
*&amp;amp;      Form  f_eventtab_build
*&amp;amp;---------------------------------------------------------------------*
*       Set the events
*----------------------------------------------------------------------*
FORM f_eventtab_build.
  DATA: ls_event TYPE slis_alv_event.

  CALL FUNCTION 'REUSE_ALV_EVENTS_GET'
    EXPORTING
      i_list_type = 0
    IMPORTING
      et_events   = i_events.

  READ TABLE i_events WITH KEY name = slis_ev_top_of_page
                           INTO ls_event.
  IF sy-subrc = 0.
    MOVE v_top TO: ls_event-form,
                   ls_event-name.
    APPEND ls_event TO i_events.
  ENDIF.

  READ TABLE i_events WITH KEY name = slis_ev_end_of_page
                           INTO ls_event.
  IF sy-subrc = 0.
    MOVE v_eop TO: ls_event-form,
                   ls_event-name.
    APPEND ls_event TO i_events.
  ENDIF.

  READ TABLE i_events WITH KEY name = slis_ev_end_of_list
                           INTO ls_event.
  IF sy-subrc = 0.
    MOVE v_eol TO: ls_event-form,
                   ls_event-name.
    APPEND ls_event TO i_events.
  ENDIF.

  READ TABLE i_events WITH KEY name = slis_ev_top_of_list
                           INTO ls_event.
  IF sy-subrc = 0.
    MOVE v_tol TO: ls_event-form,
                   ls_event-name.
    APPEND ls_event TO i_events.
  ENDIF.
ENDFORM.                    " f_eventtab_build

*&amp;amp;---------------------------------------------------------------------*
*&amp;amp;      Form  f_print_control
*&amp;amp;---------------------------------------------------------------------*
*       Set the print control
*----------------------------------------------------------------------*
FORM f_print_control .
*  i_print-no_print_listinfos     = abap_true.
*  i_print-no_print_selinfos      = abap_true.
*  i_print-reserve_lines          = 2.
*  i_print-no_change_print_params = abap_true.
ENDFORM.                    " f_print_control

*&amp;amp;---------------------------------------------------------------------*
*&amp;amp;      Form  f_build_header_list
*&amp;amp;---------------------------------------------------------------------*
*       Build the header list (top of page)
*----------------------------------------------------------------------*
FORM f_build_header_list .
  lv_header = 'Vendor Open Item Analysis By Balance Of Overdue Items'(h01).
  lv_text   = 'Company Name:'(s01).
  lv_text1   = 'Open Item As Key Date:'(s02).
  lv_text2   = 'Company Code:'(s03).
  lv_text3   =  'Vendor Number:'(s04).
  lv_text4   =  'Vendor Name:'(s05).
* Header
  CLEAR lwa_list_top.
  lwa_list_top-typ  = 'H'.
  lwa_list_top-info = lv_header.
  APPEND lwa_list_top TO i_list_top.


* Run date Display
  lwa_list_top-typ  = 'S'.                " Item
  WRITE: sy-datum  TO lv_date MM/DD/YYYY.
  lwa_list_top-key = 'Date :'(025).
  lwa_list_top-info = lv_date.
  APPEND lwa_list_top TO i_list_top.
  CLEAR: lwa_list_top,
         lv_date.

* Run time Display
  lwa_list_top-typ  = 'S'.                " Item
  WRITE: sy-uzeit  TO lv_time USING EDIT MASK '__:__:__'.
  lwa_list_top-key  = 'Time :'(026).
  lwa_list_top-info =  lv_time.
  APPEND lwa_list_top TO i_list_top.
  CLEAR: lwa_list_top,
         lv_time.
  CLEAR lwa_list_top.
* Company Name
  lwa_list_top-typ  = 'S'.
  lwa_list_top-key  = lv_text.
  lwa_list_top-info = lv_butxt.
  APPEND lwa_list_top TO i_list_top.
  CLEAR lwa_list_top.
*Open Item As Key Date
  lwa_list_top-typ  = 'S'.
  lwa_list_top-key  = lv_text1.
  lwa_list_top-info = p_bldat.
  APPEND lwa_list_top TO i_list_top.
  CLEAR lwa_list_top.
* Company Code
  lwa_list_top-typ  = 'S'.
  lwa_list_top-key  = lv_text2.
  lwa_list_top-info = s_bukrs-low.
  APPEND lwa_list_top TO i_list_top.
  CLEAR lwa_list_top.
** Vendor Number
*  lwa_list_top-typ  = 'S'.
*  lwa_list_top-key  = lv_text3.
*  lwa_list_top-info = lv_butxt2.
*  APPEND lwa_list_top TO i_list_top.
*  CLEAR lwa_list_top.
**Vendor Name
*  lwa_list_top-typ  = 'S'.
*  lwa_list_top-key  = lv_text4.
*  lwa_list_top-info = lv_butxt1.
*  APPEND lwa_list_top TO i_list_top.
ENDFORM.                    " f_build_header_list
*&amp;amp;---------------------------------------------------------------------*
*&amp;amp;      Form  f_build_header_list1
*&amp;amp;---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*  --&amp;gt;  p1        text
*  &amp;lt;--  p2        text
*----------------------------------------------------------------------*
FORM f_build_header_list1 .
  lv_header = 'Vendor Open Item Analysis By Balance Of Overdue Items'(h01).
  lv_text   = 'Company Name:'(s01).
  lv_text1   = 'Open Item As Key Date:'(s02).
  lv_text2   = 'Company Code:'(s03).
  lv_text3   =  'Vendor Number:'(s04).
  lv_text4   =  'Vendor Name:'(s05).


  lwa_list_top-typ  = 'H'.
  lwa_list_top-info = lv_header.
  APPEND lwa_list_top TO i_list_top.


* Run date Display
  lwa_list_top-typ  = 'S'.                " Item
  WRITE: sy-datum  TO lv_date MM/DD/YYYY.
  lwa_list_top-key = 'Date :'(025).
  lwa_list_top-info = lv_date.
  APPEND lwa_list_top TO i_list_top.
  CLEAR: lwa_list_top,
         lv_date.

* Run time Display
  lwa_list_top-typ  = 'S'.                " Item
  WRITE: sy-uzeit  TO lv_time USING EDIT MASK '__:__:__'.
  lwa_list_top-key  = 'Time :'(026).
  lwa_list_top-info =  lv_time.
  APPEND lwa_list_top TO i_list_top.
  CLEAR: lwa_list_top,
         lv_time.
  CLEAR lwa_list_top.
* Company Name

  lwa_list_top-typ  = 'S'.
  lwa_list_top-key  = lv_text.
  lwa_list_top-info = lv_butxt.
  APPEND lwa_list_top TO i_list_top.
  CLEAR lwa_list_top.
*Open Item As Key Date
  lwa_list_top-typ  = 'S'.
  lwa_list_top-key  = lv_text1.
  lwa_list_top-info = p_bldat.
  APPEND lwa_list_top TO i_list_top.
  CLEAR lwa_list_top.


ENDFORM.                    " f_build_header_list1
*&amp;amp;---------------------------------------------------------------------*
*&amp;amp;      Form  f_build_sort
*&amp;amp;---------------------------------------------------------------------*
*       Set the sorting sequence
*----------------------------------------------------------------------*
FORM f_build_sort .

  DATA: l_sort TYPE slis_sortinfo_alv.
  l_sort-spos      =  '1'.
  l_sort-fieldname = 'LIFNR'.
  l_sort-up        = abap_true.
  l_sort-group     = '*'.
*  l_sort-subtot    = 'X'.
  APPEND l_sort TO i_sort.
*  l_sort-spos      =  '2'.
*  l_sort-fieldname = 'NAME1'.
*  l_sort-up        = abap_true.
*  l_sort-group     = '*'.
**  l_sort-subtot    = 'X'.
*  APPEND l_sort TO i_sort.

*  l_sort-spos      =  '2'.
*  l_sort-fieldname = 'LIFNR'.
*  l_sort-up        = abap_true.
*  l_sort-subtot    = abap_true.
*  APPEND l_sort TO i_sort.

*  l_sort-spos      =  '1'.
*  l_sort-fieldname = 'VBELN'.
*  l_sort-up        = abap_true.
*  l_sort-subtot    = abap_true.
*  APPEND l_sort TO i_sort.

*  l_sort-spos      =  '2'.
*  l_sort-fieldname = 'POSNR'.
*  l_sort-up        = abap_true.
*  l_sort-subtot    = abap_true.
*  APPEND l_sort TO i_sort.

ENDFORM.                    " f_build_sort


*&amp;amp;---------------------------------------------------------------------*
*&amp;amp;      Form  f_list_display
*&amp;amp;---------------------------------------------------------------------*
*       Display the ALV list report
*----------------------------------------------------------------------*
*      --&amp;gt;PT_DATA    Internal table containing the data
*----------------------------------------------------------------------*
FORM f_list_display TABLES pt_data.
  CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
    EXPORTING
      i_callback_program = i_variant-report
      is_layout          = i_layout
      it_fieldcat        = i_fieldcat[]
      it_sort            = i_sort
      i_default          = 'X'
      i_save             = 'A'
      is_variant         = i_variant
      it_events          = i_events[]
      is_print           = i_print
    TABLES
      t_outtab           = pt_data.
ENDFORM.                    "f_list_display

*&amp;amp;---------------------------------------------------------------------*
*&amp;amp;      Form  TOP_OF_PAGE
*&amp;amp;---------------------------------------------------------------------*
*       TOP_OF_PAGE Event
*----------------------------------------------------------------------*
FORM top_of_page.                                           "#EC CALLED

  CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'
    EXPORTING
*      i_logo             = 'ZLOGO_BAB'
      it_list_commentary = i_list_top
      i_alv_form         = 'X'.

*  PERFORM f_print_header USING SPACE SPACE SPACE.

ENDFORM.                    "TOP_OF_PAGE
*&amp;amp;---------------------------------------------------------------------*
*&amp;amp;      Form  END_OF_PAGE
*&amp;amp;---------------------------------------------------------------------*
*       END_OF_PAGE Event
*----------------------------------------------------------------------*
FORM end_of_page.                                           "#EC CALLED
*  DATA: l_pos(3) TYPE n VALUE 0,
*        l_foot(30) VALUE '*** END OF PAGE ***'.
*  l_pos = ( sy-linsz / 2 ) - ( STRLEN( l_foot ) / 2 ).
*  ULINE.
*  WRITE: /, AT l_pos l_foot.
ENDFORM.                    "END_OF_PAGE

*&amp;amp;---------------------------------------------------------------------*
*&amp;amp;      Form  END_OF_LIST
*&amp;amp;---------------------------------------------------------------------*
*       END_OF_LIST Event
*----------------------------------------------------------------------*
FORM end_of_list.                                           "#EC CALLED
*  DATA: l_pos(3) TYPE n VALUE 0,
*        l_foot(30) VALUE '*** END OF REPORT ***'.
*  l_pos = ( sy-linsz / 2 ) - ( STRLEN( l_foot ) / 2 ).
*  ULINE.
*  WRITE: /, AT l_pos l_foot.
ENDFORM.                    "END_OF_LIST

*&amp;amp;---------------------------------------------------------------------*
*&amp;amp;      Form  f_print_header
*&amp;amp;---------------------------------------------------------------------*
*       Print the header (Top-Of-Page)
*----------------------------------------------------------------------*
*      --&amp;gt;P_P_TITLE1  Title text 1
*      --&amp;gt;P_P_TITLE2  Title text 2
*      --&amp;gt;P_P_TITLE3  Title text 3
*----------------------------------------------------------------------*
FORM f_print_header  USING    p_title1 LIKE sy-title
                              p_title2 LIKE sy-title
                              p_title3 LIKE sy-title.

  DATA: l_post1 TYPE i,
        l_post2 TYPE i,
        l_post3 TYPE i,
        l_posin TYPE i.

  l_post1 = ( sy-linsz / 2 ) - ( STRLEN( p_title1 ) / 2 ).
  l_post2 = ( sy-linsz / 2 ) - ( STRLEN( p_title2 ) / 2 ).
  l_post3 = ( sy-linsz / 2 ) - ( STRLEN( p_title3 ) / 2 ).

  l_posin = sy-linsz - 17.

  WRITE:  / 'Report  :', sy-cprog.
  WRITE AT  l_post1 p_title1.
  WRITE AT  l_posin 'Date :'.
  WRITE     sy-datum.

  WRITE:  / 'Cli/Sys :', sy-mandt, '/', sy-sysid.
  WRITE AT  l_post2 p_title2.
  WRITE AT: l_posin 'Time :'.
  WRITE     sy-uzeit.

  WRITE:  / 'UserID  :', sy-uname.
  WRITE AT  l_post3 p_title3.
  WRITE AT  l_posin 'Page :'.
  WRITE     sy-pagno NO-ZERO.

ENDFORM.                    " f_print_header
*&amp;amp;---------------------------------------------------------------------*
*&amp;amp;      Form  f_build_sort1
*&amp;amp;---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*  --&amp;gt;  p1        text
*  &amp;lt;--  p2        text
*----------------------------------------------------------------------*
form f_build_sort1 .
DATA: l_sort TYPE slis_sortinfo_alv.
  l_sort-spos      =  '1'.
  l_sort-fieldname = 'LIFNR'.
  l_sort-up        = abap_true.
  l_sort-group     = '*'.
*  l_sort-subtot    = 'X'.
  APPEND l_sort TO i_sort.
l_sort-spos      =  '2'.
  l_sort-fieldname = 'NAME1'.
  l_sort-up        = abap_true.
  l_sort-group     = '*'.
*  l_sort-subtot    = 'X'.
  APPEND l_sort TO i_sort.
*  l_sort-spos      =  '3'.
*  l_sort-fieldname = 'DMBTR'.
*  l_sort-up        = abap_true.
*  l_sort-group     = '*'.
*  l_sort-subtot    = 'X'.
*  APPEND l_sort TO i_sort.

endform.                    " f_build_sort1&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;Regards&lt;/P&gt;&lt;P&gt;Sunita.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 07 Jul 2008 02:51:23 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/alv-grid-total/m-p/4100439#M980492</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2008-07-07T02:51:23Z</dc:date>
    </item>
    <item>
      <title>Re: ALV-GRID TOTAL</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/alv-grid-total/m-p/4100440#M980493</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hey,&lt;/P&gt;&lt;P&gt;U can try out &lt;STRONG&gt;"SORTING THE VENDORS AND DO THE SUM in the NETWR"...&lt;/STRONG&gt; try it out....see u sort the customers...rit?...keep it as usual and little mentoned above...&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;hope dis help u out...&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 07 Jul 2008 03:06:22 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/alv-grid-total/m-p/4100440#M980493</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2008-07-07T03:06:22Z</dc:date>
    </item>
    <item>
      <title>Re: ALV-GRID TOTAL</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/alv-grid-total/m-p/4100441#M980494</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;thnx&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 10 Jul 2008 02:08:27 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/alv-grid-total/m-p/4100441#M980494</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2008-07-10T02:08:27Z</dc:date>
    </item>
  </channel>
</rss>

