Application Development and Automation Discussions
Join the discussions or start your own on all things application development, including tools and APIs, programming models, and keeping your skills sharp.
cancel
Showing results for 
Search instead for 
Did you mean: 
Read only

ALV list display.

Former Member
0 Likes
435

Dear all,

i displayed table using FM reuse_alv_list_display .

my requirment is display the count of the table at the bottom of list .

please give ur suggestions

Thanks& Regards,

RP

1 ACCEPTED SOLUTION
Read only

asik_shameem
Active Contributor
0 Likes
416

Hi

You can use the event END_OF_LIST.

In GT_EVENTS,

EVENTNAME = END_OF_LIST.

FORMNAME = 'ABC'.

FORM abc.

WRITE:/ 'Total no of records:', gv_total.

ENDFORM.

2 REPLIES 2
Read only

p291102
Active Contributor
0 Likes
416

Hi,

Following report will solve your problem.

REPORT  YMS_ALVLISTSUBTOTAL.

TYPE-POOLS: SLIS.

DATA: F_FLDCAT TYPE SLIS_FIELDCAT_ALV,
      T_FLDCAT TYPE SLIS_T_FIELDCAT_ALV,
      L_LAYOUT TYPE SLIS_LAYOUT_ALV,
      F_EVENT TYPE SLIS_ALV_EVENT,
      T_EVENT TYPE SLIS_T_EVENT.

DATA: BEGIN OF ITAB OCCURS 0,
      VBELN LIKE VBAP-VBELN,
      POSNR LIKE VBAP-POSNR,
      ZMENG LIKE VBAP-ZMENG,
      TEXT(35),
      END OF ITAB.

SELECT VBELN POSNR ZMENG FROM VBAP
       INTO TABLE ITAB UP TO 20 ROWS.

LOOP AT ITAB.
  ITAB-ZMENG = SY-TABIX.
  MODIFY ITAB INDEX SY-TABIX.
ENDLOOP.



F_FLDCAT-FIELDNAME = 'text'.
F_FLDCAT-COL_POS = 1.
F_FLDCAT-OUTPUTLEN = 15.
*f_fldcat-checkbox = 'X'.
*f_fldcat-edit = ''.
APPEND F_FLDCAT TO T_FLDCAT.
CLEAR F_FLDCAT.

F_FLDCAT-FIELDNAME = 'VBELN'.
F_FLDCAT-TABNAME = 'itab'.
F_FLDCAT-SELTEXT_L = 'VBELN'.
F_FLDCAT-COL_POS = 2.
F_FLDCAT-OUTPUTLEN = 30.
F_FLDCAT-JUST = 'C'.
F_FLDCAT-EDIT = 'X'.
APPEND F_FLDCAT TO T_FLDCAT.
CLEAR F_FLDCAT.

F_FLDCAT-FIELDNAME = 'POSNR'.
F_FLDCAT-TABNAME = 'itab'.
F_FLDCAT-SELTEXT_L = 'POSNR'.
F_FLDCAT-COL_POS = 3.
F_FLDCAT-EDIT = 'X'.
APPEND F_FLDCAT TO T_FLDCAT.
CLEAR F_FLDCAT.

F_FLDCAT-FIELDNAME = 'ZMENG'.
F_FLDCAT-TABNAME = 'itab'.
F_FLDCAT-SELTEXT_L = 'ZMENG'.
F_FLDCAT-COL_POS = 4.
F_FLDCAT-EDIT = 'X'.
F_FLDCAT-DO_SUM = 'X'.
APPEND F_FLDCAT TO T_FLDCAT.
CLEAR F_FLDCAT.

DATA: SORT TYPE SLIS_SORTINFO_ALV,
      IT_SORT TYPE SLIS_T_SORTINFO_ALV.

SORT-FIELDNAME = 'VBELN'.
SORT-SPOS = '1'.
SORT-GROUP = '*'.
SORT-UP = 'X'.
SORT-SUBTOT = 'X'.
*SORT-OBLIGATORY = 'UL'.


APPEND SORT TO IT_SORT.

L_LAYOUT-TOTALS_TEXT = 'total text'.
L_LAYOUT-SUBTOTALS_TEXT = 'subtotal text'.
*l_layout-totals_only = 'X'.
DATA: PRG TYPE SY-REPID.
PRG = SY-REPID.

CALL FUNCTION 'REUSE_ALV_LIST_DISPLAY'
 EXPORTING
*   I_INTERFACE_CHECK              = ' '
*   I_BYPASSING_BUFFER             =
*   I_BUFFER_ACTIVE                = ' '
   I_CALLBACK_PROGRAM             = SY-REPID
*   I_CALLBACK_PF_STATUS_SET       = ' '
*   I_CALLBACK_USER_COMMAND        = ' '
*   I_STRUCTURE_NAME               =
   IS_LAYOUT                      = L_LAYOUT
   IT_FIELDCAT                    = T_FLDCAT
*   IT_EXCLUDING                   =
*   IT_SPECIAL_GROUPS              =
   IT_SORT                        = IT_SORT[]
*   IT_FILTER                      =
*   IS_SEL_HIDE                    =
*   I_DEFAULT                      = 'X'
*   I_SAVE                         = ' '
*   IS_VARIANT                     =
   IT_EVENTS                      = T_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
* IMPORTING
*   E_EXIT_CAUSED_BY_CALLER        =
*   ES_EXIT_CAUSED_BY_USER         =
  TABLES
    T_OUTTAB                       = ITAB
* EXCEPTIONS
*   PROGRAM_ERROR                  = 1
*   OTHERS                         = 2
.
IF SY-SUBRC EQ 0.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
*         WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.

Thanks,

Sankar M

Read only

asik_shameem
Active Contributor
0 Likes
417

Hi

You can use the event END_OF_LIST.

In GT_EVENTS,

EVENTNAME = END_OF_LIST.

FORMNAME = 'ABC'.

FORM abc.

WRITE:/ 'Total no of records:', gv_total.

ENDFORM.