Application Development 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: 

ALV report subtotal and total

Former Member
0 Kudos

Hi to all

Please tell me how to calculate subtotal and total on a particular field in ALV grid report.

Thanks & regards

Anubhav

5 REPLIES 5

Former Member
0 Kudos

Hi,

For total.

While building the fieldcatalog you have use do_sum = 'X' for the column which you need the summation.

For subtotal use below code :

data :gt_sort TYPE slis_t_sortinfo_alv,

DATA: ls_sort TYPE slis_sortinfo_alv.

CLEAR ls_sort.

ls_sort-fieldname = 'Fieldname'.

ls_sort-up = 'X'.

ls_sort-subtot = 'X'.

APPEND ls_sort TO gt_sort.

And pass gt_sort to grid display export parameter I_sort.

Thanks,

Sriram Ponna.

Former Member
0 Kudos

Hi

Try with this sample coding

*&---------------------------------------------------------------------*
*& Report  ZALVTOTAL                                                   *
*&                                                                     *
*&---------------------------------------------------------------------*
*&                                                                     *
*&                                                                     *
*&---------------------------------------------------------------------*

REPORT  ZALVTOTAL                               .

TYPES :
  BEGIN OF ty_vbak,
    vkorg TYPE vbak-vkorg,             " Sales organization
    kunnr TYPE vbak-kunnr,             " Sold-to party
    vbeln TYPE vbak-vbeln,             " Sales document
    netwr TYPE vbak-netwr,             " Net Value of the Sales Order
    waerk TYPE vbak-waerk,             " Document currency
  END OF ty_vbak.

DATA:
  vbak    TYPE vbak,
  gt_vbak TYPE TABLE OF ty_vbak.

SELECT-OPTIONS :
  s_vkorg FOR vbak-vkorg,              " Sales organization
  s_kunnr FOR vbak-kunnr,              " Sold-to party
  s_vbeln FOR vbak-vbeln.              " Sales document

SELECTION-SCREEN :
  SKIP, BEGIN OF LINE,COMMENT 5(27) v_1 FOR FIELD p_max.
PARAMETERS p_max(2) TYPE n DEFAULT '20' OBLIGATORY.
SELECTION-SCREEN END OF LINE.

*---------------------------------------------------------------------*
INITIALIZATION.

  v_1 = 'Maximum of records to read'.

*---------------------------------------------------------------------*
START-OF-SELECTION.

  PERFORM f_read_data.

  PERFORM f_display_data.

*---------------------------------------------------------------------*
*      Form  f_read_data
*---------------------------------------------------------------------*
FORM f_read_data.

  SELECT vkorg kunnr vbeln netwr waerk
      UP TO p_max ROWS
    INTO TABLE gt_vbak
    FROM vbak
   WHERE kunnr IN s_kunnr
     AND vbeln IN s_vbeln
     AND vkorg IN s_vkorg.

ENDFORM.                               " F_READ_DATA
*---------------------------------------------------------------------*
*      Form  f_display_data
*---------------------------------------------------------------------*
FORM f_display_data.

  TYPE-POOLS: slis.                    " ALV Global types

  DEFINE m_fieldcat.
    add 1 to ls_fieldcat-col_pos.
    ls_fieldcat-fieldname   = &1.
    ls_fieldcat-ref_tabname = 'VBAK'.
    ls_fieldcat-do_sum      = &2.
    ls_fieldcat-cfieldname  = &3.
    append ls_fieldcat to lt_fieldcat.
  END-OF-DEFINITION.

  DEFINE m_sort.
    add 1 to ls_sort-spos.
    ls_sort-fieldname = &1.
    ls_sort-up        = 'X'.
    ls_sort-subtot    = &2.
    append ls_sort to lt_sort.
  END-OF-DEFINITION.

  DATA:
    ls_fieldcat TYPE slis_fieldcat_alv,
    lt_fieldcat TYPE slis_t_fieldcat_alv,
    lt_sort     TYPE slis_t_sortinfo_alv,
    ls_sort     TYPE slis_sortinfo_alv,
    ls_layout   TYPE slis_layout_alv.

  m_fieldcat 'VKORG' ''  ''.
  m_fieldcat 'KUNNR' ''  ''.
  m_fieldcat 'VBELN' ''  ''.
  m_fieldcat 'NETWR' 'X' 'WAERK'.
  m_fieldcat 'WAERK' ''  ''.

  m_sort 'VKORG' 'X'.                  " Sort by vkorg and subtotal
  m_sort 'KUNNR' 'X'.                  " Sort by kunnr and subtotal
  m_sort 'VBELN' ''.                   " Sort by vbeln

  ls_layout-cell_merge = 'X'.

  CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
       EXPORTING
            is_layout   = ls_layout
            it_fieldcat = lt_fieldcat
            it_sort     = lt_sort
       TABLES
            t_outtab    = gt_vbak.

ENDFORM.                               " F_DISPLAY_DATA

Regards

Pavan

Former Member
0 Kudos

hi,

try this

TABLES vbak.

TYPE-POOLS slis.

  • Data Declaration

TYPES : BEGIN OF t_vbak,

vbeln TYPE vbak-vbeln,

erdat TYPE vbak-erdat,

ernam TYPE vbak-ernam,

audat TYPE vbak-audat,

vbtyp TYPE vbak-vbtyp,

netwr TYPE vbak-netwr,

vkorg TYPE vbak-vkorg,

vkgrp TYPE vbak-vkgrp,

line_color(4) TYPE c,

END OF t_vbak.

DATA : it_vbak TYPE STANDARD TABLE OF t_vbak INITIAL SIZE 0,

wa_vbak TYPE t_vbak.

  • ALV Data Declaration

DATA : fldcat TYPE slis_t_fieldcat_alv WITH HEADER LINE,

gd_layout TYPE slis_layout_alv,

gd_repid TYPE sy-repid,

i_events TYPE slis_t_event,

it_sortinfo TYPE slis_t_sortinfo_alv WITH HEADER LINE,

w_events LIKE LINE OF i_events.

DATA : i_comment TYPE slis_t_listheader,

wa_comment TYPE slis_listheader.

START-OF-SELECTION.

PERFORM data_retrieval.

PERFORM bld_fldcat.

PERFORM it_sortinfo.

PERFORM bld_layout.

PERFORM display_alv_report.

  • Build Field Catalog for ALV Report

FORM bld_fldcat.

fldcat-fieldname = 'VBELN'.

fldcat-seltext_m = 'Sales Document'.

fldcat-col_pos = 0.

*FLDCAT-EMPHASIZE = 'C411'.

fldcat-outputlen = 20.

fldcat-key = 'X'.

APPEND fldcat TO fldcat.

CLEAR fldcat.

fldcat-fieldname = 'ERDAT'.

fldcat-seltext_l = 'Record Date created'.

fldcat-col_pos = 1.

fldcat-key = 'X'.

APPEND fldcat TO fldcat.

CLEAR fldcat.

fldcat-fieldname = 'ERNAM'.

fldcat-seltext_l = 'Cteated Object Person Name'.

APPEND fldcat TO fldcat.

CLEAR fldcat.

fldcat-fieldname = 'AUDAT'.

fldcat-seltext_m = 'Document Date'.

fldcat-col_pos = 3.

fldcat-emphasize = 'C110'.

APPEND fldcat TO fldcat.

CLEAR fldcat.

fldcat-fieldname = 'VBTYP'.

fldcat-seltext_l = 'SD Document category'.

fldcat-col_pos = 4.

APPEND fldcat TO fldcat.

CLEAR fldcat.

fldcat-fieldname = 'NETWR'.

fldcat-seltext_l = 'Net Value of the SO in Document Currency'.

fldcat-col_pos = 5.

fldcat-outputlen = 60.

fldcat-do_sum = 'X'.

fldcat-datatype = 'CURR'.

APPEND fldcat TO fldcat.

CLEAR fldcat.

fldcat-fieldname = 'VKORG'.

fldcat-seltext_l = 'Sales Organization'.

fldcat-col_pos = 6.

APPEND fldcat TO fldcat.

CLEAR fldcat.

fldcat-fieldname = 'VKGRP'.

fldcat-seltext_m = 'Sales Group'.

fldcat-col_pos = 7.

fldcat-emphasize = 'C801'.

APPEND fldcat TO fldcat.

CLEAR fldcat.

ENDFORM. "BLD_FLDCAT

  • Build Layout for ALV Grid Report

FORM bld_layout.

gd_layout-no_input = 'X'.

gd_layout-colwidth_optimize = 'X'.

gd_layout-info_fieldname = 'LINE_COLOR'.

ENDFORM. "BLD_LAYOUT

  • Display report using ALV grid

FORM display_alv_report.

DATA t_event TYPE slis_t_event.

CALL FUNCTION 'REUSE_ALV_EVENTS_GET'

EXPORTING

i_list_type = 0

IMPORTING

et_events = t_event.

IF sy-subrc <> 0.

  • MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO

  • WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.

ENDIF.

gd_repid = sy-repid.

  • PERFORM z_alv_grid_display TABLES it_vbak..

CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'

EXPORTING

i_callback_program = gd_repid

is_layout = gd_layout

it_events = i_events

it_fieldcat = fldcat[]

it_sort = it_sortinfo[]

i_save = 'X'

TABLES

t_outtab = it_vbak

EXCEPTIONS

program_error = 1

OTHERS = 2.

IF sy-subrc <> 0.

EXIT.

  • MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO

  • WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.

ENDIF.

ENDFORM. "DISPLAY_ALV_REPORT

  • Retrieve data from VBAK table and populate itab IT_VBAK

FORM data_retrieval.

DATA ld_color(1) TYPE c.

SELECT vbeln erdat ernam audat vbtyp netwr vkorg

UP TO 100 ROWS

FROM vbak

INTO TABLE it_vbak.

  • LOOP AT it_vbak INTO wa_vbak.

  • ld_color = ld_color + 1.

  • IF ld_color = 8.

  • ld_color = 1.

  • ENDIF.

  • CONCATENATE 'C' ld_color '10' INTO wa_vbak-line_color.

  • MODIFY it_vbak FROM wa_vbak.

  • ENDLOOP.

ENDFORM. "DATA_RETRIEVAL

&----


*& Form CALL_EVENTS

&----


  • text

----


&----


*& Form it_sortinfo

&----


  • text

----


  • --> p1 text

  • <-- p2 text

----


FORM it_sortinfo .

it_sortinfo-fieldname = 'ERNAM'.

it_sortinfo-tabname = 'IT_VBAK'.

it_sortinfo-subtot = 'X'.

it_sortinfo-obligatory = 'X'.

it_sortinfo-up = 'X'.

it_sortinfo-spos = '1'.

it_sortinfo-expa = 'X'.

APPEND it_sortinfo.

ENDFORM. " it_sortinfo

Former Member
0 Kudos

Hi ,

while building fieldcatlog you mention do_sum = 'X' .

for that particular field to get total .

eg:WA_FIELDCAT-FIELDNAME ='CATSHOURS' . WA_FIELDCAT-TABNAME ='CATSDB' .

WA_FIELDCAT-SELTEXT_L = 'HOURS'.

WA_FIELDCAT-do_sum = 'X' .

former_member1052991
Active Participant
0 Kudos

hi anupav,

just try this simple pgm,

-


REPORT ZGALV_SORT.

TYPE-POOLS : SLIS.

TYPES : BEGIN OF TYP_EMP,

ZEID TYPE ZGEMP_DETAIL1-ZEID,

ZENAM TYPE ZGEMP_DETAIL1-ZENAM,

ZESAL TYPE ZGEMP_DETAIL1-ZESAL,

ZEADD TYPE ZGEMP_DETAIL1-ZEADD,

END OF TYP_EMP.

DATA : IT_EMP TYPE STANDARD TABLE OF ZGEMP_DETAIL1,

IT_FIELDCAT TYPE SLIS_T_FIELDCAT_ALV,

GT_LAYOUT TYPE SLIS_LAYOUT_ALV,

GT_SORT TYPE SLIS_T_SORTINFO_ALV,

GW_SORT TYPE SLIS_SORTINFO_ALV,

VL_LAYOUT TYPE DISVARIANT.

SELECT ZEID

ZENAM

ZESAL

ZEADD

FROM ZGEMP_DETAIL1

INTO CORRESPONDING FIELDS OF TABLE IT_EMP.

FORM DISPLAY.

CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'

EXPORTING

  • I_INTERFACE_CHECK = ' '

  • I_BYPASSING_BUFFER = ' '

  • I_BUFFER_ACTIVE = ' '

  • I_CALLBACK_PROGRAM = ' '

  • I_CALLBACK_PF_STATUS_SET = ' '

  • I_CALLBACK_USER_COMMAND = ' '

  • I_CALLBACK_TOP_OF_PAGE = ' '

  • I_CALLBACK_HTML_TOP_OF_PAGE = ' '

  • I_CALLBACK_HTML_END_OF_LIST = ' '

I_STRUCTURE_NAME = 'ZGEMP_DETAIL1'

  • I_BACKGROUND_ID = ' '

  • I_GRID_TITLE =

  • I_GRID_SETTINGS =

IS_LAYOUT = GT_LAYOUT

  • IT_FIELDCAT = IT_FIELDCAT

  • IT_EXCLUDING =

  • IT_SPECIAL_GROUPS =

IT_SORT = GT_SORT

  • IT_FILTER =

  • IS_SEL_HIDE =

I_DEFAULT = 'X'

I_SAVE = 'A '

IS_VARIANT = VL_LAYOUT

  • IT_EVENTS =

  • 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_EMP

  • 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 : IT_FIELDCAT TYPE SLIS_T_FIELDCAT_ALV.

START-OF-SELECTION.

VL_LAYOUT-REPORT = SY-REPID.

PERFORM GETSORT.

PERFORM GETLAYOUT.

*PERFORM GETFIELDCAT.

PERFORM DISPLAY.

&----


*& Form GETSORT

&----


  • text

----


  • --> p1 text

  • <-- p2 text

----


FORM GETSORT .

CLEAR GT_SORT.

GW_SORT-FIELDNAME = 'ZEID'.

GW_SORT-SPOS = '1'.

*GW_SORT-TABNAME = '2'.

GW_SORT-UP = 'X'.

*GW_SORT-SUBTOT = 'X'.

APPEND GW_SORT TO GT_SORT.

CLEAR GT_SORT.

GW_SORT-FIELDNAME = 'ZESAL'.

*GW_SORT-SPOS = '1'.

*GW_SORT-TABNAME = '1'.

*GW_SORT-UP = 'X'.

GW_SORT-SUBTOT = 'X'.

APPEND GW_SORT TO GT_SORT.

ENDFORM. " GETSORT

&----


*& Form GETLAYOUT

&----


  • text

----


  • --> p1 text

  • <-- p2 text

----


FORM GETLAYOUT .

GT_LAYOUT-NO_INPUT = 'X'.

GT_LAYOUT-ZEBRA = 'X'.

GT_LAYOUT-NO_HLINE = 'X'.

GT_LAYOUT-WINDOW_TITLEBAR = 'ALV GRID DISPLAY'.

ENDFORM. " GETLAYOUT

&----


*& Form GETFIELDCAT

&----


  • text

----


  • --> p1 text

  • <-- p2 text

----


FORM GETFIELDCAT .

data: v_fieldcat type slis_fieldcat_alv.

data: pos type i value 1.

define field_cat.

clear v_fieldcat.

v_fieldcat-col_pos = pos.

v_fieldcat-fieldname = &1.

v_fieldcat-ref_fieldname = &2.

v_fieldcat-ref_tabname = &3.

v_fieldcat-key = &4.

append v_fieldcat to it_fieldcat.

pos = pos + 1.

end-of-definition.

FIELD_CAT: 'ZEID' 'ZEID' 'ZGEMP_DETAILS' 'X',

'ZENAME' 'ZENAME' 'ZGEMP_DETAILS' 'X',

'ZESAL' 'ZESAL' 'ZGEMP_DETAIL1' 'X',

'ZEADD' 'ZEADD' 'ZGEMP_DETAIL1' SPACE .

ENDFORM. " GETFIELDCATREPORT ZGALV_SORT.

TYPE-POOLS : SLIS.

TYPES : BEGIN OF TYP_EMP,

ZEID TYPE ZGEMP_DETAIL1-ZEID,

ZENAM TYPE ZGEMP_DETAIL1-ZENAM,

ZESAL TYPE ZGEMP_DETAIL1-ZESAL,

ZEADD TYPE ZGEMP_DETAIL1-ZEADD,

END OF TYP_EMP.

DATA : IT_EMP TYPE STANDARD TABLE OF ZGEMP_DETAIL1,

IT_FIELDCAT TYPE SLIS_T_FIELDCAT_ALV,

GT_LAYOUT TYPE SLIS_LAYOUT_ALV,

GT_SORT TYPE SLIS_T_SORTINFO_ALV,

GW_SORT TYPE SLIS_SORTINFO_ALV,

VL_LAYOUT TYPE DISVARIANT.

SELECT ZEID

ZENAM

ZESAL

ZEADD

FROM ZGEMP_DETAIL1

INTO CORRESPONDING FIELDS OF TABLE IT_EMP.

FORM DISPLAY.

CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'

EXPORTING

  • I_INTERFACE_CHECK = ' '

  • I_BYPASSING_BUFFER = ' '

  • I_BUFFER_ACTIVE = ' '

  • I_CALLBACK_PROGRAM = ' '

  • I_CALLBACK_PF_STATUS_SET = ' '

  • I_CALLBACK_USER_COMMAND = ' '

  • I_CALLBACK_TOP_OF_PAGE = ' '

  • I_CALLBACK_HTML_TOP_OF_PAGE = ' '

  • I_CALLBACK_HTML_END_OF_LIST = ' '

I_STRUCTURE_NAME = 'ZGEMP_DETAIL1'

  • I_BACKGROUND_ID = ' '

  • I_GRID_TITLE =

  • I_GRID_SETTINGS =

IS_LAYOUT = GT_LAYOUT

  • IT_FIELDCAT = IT_FIELDCAT

  • IT_EXCLUDING =

  • IT_SPECIAL_GROUPS =

IT_SORT = GT_SORT

  • IT_FILTER =

  • IS_SEL_HIDE =

I_DEFAULT = 'X'

I_SAVE = 'A '

IS_VARIANT = VL_LAYOUT

  • IT_EVENTS =

  • 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_EMP

  • 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 : IT_FIELDCAT TYPE SLIS_T_FIELDCAT_ALV.

START-OF-SELECTION.

VL_LAYOUT-REPORT = SY-REPID.

PERFORM GETSORT.

PERFORM GETLAYOUT.

*PERFORM GETFIELDCAT.

PERFORM DISPLAY.

&----


*& Form GETSORT

&----


  • text

----


  • --> p1 text

  • <-- p2 text

----


FORM GETSORT .

CLEAR GT_SORT.

GW_SORT-FIELDNAME = 'ZEID'.

GW_SORT-SPOS = '1'.

*GW_SORT-TABNAME = '2'.

GW_SORT-UP = 'X'.

*GW_SORT-SUBTOT = 'X'.

APPEND GW_SORT TO GT_SORT.

CLEAR GT_SORT.

GW_SORT-FIELDNAME = 'ZESAL'.

*GW_SORT-SPOS = '1'.

*GW_SORT-TABNAME = '1'.

*GW_SORT-UP = 'X'.

GW_SORT-SUBTOT = 'X'.

APPEND GW_SORT TO GT_SORT.

ENDFORM. " GETSORT

&----


*& Form GETLAYOUT

&----


  • text

----


  • --> p1 text

  • <-- p2 text

----


FORM GETLAYOUT .

GT_LAYOUT-NO_INPUT = 'X'.

GT_LAYOUT-ZEBRA = 'X'.

GT_LAYOUT-NO_HLINE = 'X'.

GT_LAYOUT-WINDOW_TITLEBAR = 'ALV GRID DISPLAY'.

ENDFORM. " GETLAYOUT

&----


*& Form GETFIELDCAT

&----


  • text

----


  • --> p1 text

  • <-- p2 text

----


FORM GETFIELDCAT .

data: v_fieldcat type slis_fieldcat_alv.

data: pos type i value 1.

define field_cat.

clear v_fieldcat.

v_fieldcat-col_pos = pos.

v_fieldcat-fieldname = &1.

v_fieldcat-ref_fieldname = &2.

v_fieldcat-ref_tabname = &3.

v_fieldcat-key = &4.

append v_fieldcat to it_fieldcat.

pos = pos + 1.

end-of-definition.

FIELD_CAT: 'ZEID' 'ZEID' 'ZGEMP_DETAILS' 'X',

'ZENAME' 'ZENAME' 'ZGEMP_DETAILS' 'X',

'ZESAL' 'ZESAL' 'ZGEMP_DETAIL1' 'X',

'ZEADD' 'ZEADD' 'ZGEMP_DETAIL1' SPACE .

ENDFORM. " GETFIELDCATREPORT ZGALV_SORT.

TYPE-POOLS : SLIS.

TYPES : BEGIN OF TYP_EMP,

ZEID TYPE ZGEMP_DETAIL1-ZEID,

ZENAM TYPE ZGEMP_DETAIL1-ZENAM,

ZESAL TYPE ZGEMP_DETAIL1-ZESAL,

ZEADD TYPE ZGEMP_DETAIL1-ZEADD,

END OF TYP_EMP.

DATA : IT_EMP TYPE STANDARD TABLE OF ZGEMP_DETAIL1,

IT_FIELDCAT TYPE SLIS_T_FIELDCAT_ALV,

GT_LAYOUT TYPE SLIS_LAYOUT_ALV,

GT_SORT TYPE SLIS_T_SORTINFO_ALV,

GW_SORT TYPE SLIS_SORTINFO_ALV,

VL_LAYOUT TYPE DISVARIANT.

SELECT ZEID

ZENAM

ZESAL

ZEADD

FROM ZGEMP_DETAIL1

INTO CORRESPONDING FIELDS OF TABLE IT_EMP.

FORM DISPLAY.

CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'

EXPORTING

  • I_INTERFACE_CHECK = ' '

  • I_BYPASSING_BUFFER = ' '

  • I_BUFFER_ACTIVE = ' '

  • I_CALLBACK_PROGRAM = ' '

  • I_CALLBACK_PF_STATUS_SET = ' '

  • I_CALLBACK_USER_COMMAND = ' '

  • I_CALLBACK_TOP_OF_PAGE = ' '

  • I_CALLBACK_HTML_TOP_OF_PAGE = ' '

  • I_CALLBACK_HTML_END_OF_LIST = ' '

I_STRUCTURE_NAME = 'ZGEMP_DETAIL1'

  • I_BACKGROUND_ID = ' '

  • I_GRID_TITLE =

  • I_GRID_SETTINGS =

IS_LAYOUT = GT_LAYOUT

  • IT_FIELDCAT = IT_FIELDCAT

  • IT_EXCLUDING =

  • IT_SPECIAL_GROUPS =

IT_SORT = GT_SORT

  • IT_FILTER =

  • IS_SEL_HIDE =

I_DEFAULT = 'X'

I_SAVE = 'A '

IS_VARIANT = VL_LAYOUT

  • IT_EVENTS =

  • 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_EMP

  • 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 : IT_FIELDCAT TYPE SLIS_T_FIELDCAT_ALV.

START-OF-SELECTION.

VL_LAYOUT-REPORT = SY-REPID.

PERFORM GETSORT.

PERFORM GETLAYOUT.

*PERFORM GETFIELDCAT.

PERFORM DISPLAY.

&----


*& Form GETSORT

&----


  • text

----


  • --> p1 text

  • <-- p2 text

----


FORM GETSORT .

CLEAR GT_SORT.

GW_SORT-FIELDNAME = 'ZEID'.

GW_SORT-SPOS = '1'.

*GW_SORT-TABNAME = '2'.

GW_SORT-UP = 'X'.

*GW_SORT-SUBTOT = 'X'.

APPEND GW_SORT TO GT_SORT.

CLEAR GT_SORT.

GW_SORT-FIELDNAME = 'ZESAL'.

*GW_SORT-SPOS = '1'.

*GW_SORT-TABNAME = '1'.

*GW_SORT-UP = 'X'.

GW_SORT-SUBTOT = 'X'.

APPEND GW_SORT TO GT_SORT.

ENDFORM. " GETSORT

&----


*& Form GETLAYOUT

&----


  • text

----


  • --> p1 text

  • <-- p2 text

----


FORM GETLAYOUT .

GT_LAYOUT-NO_INPUT = 'X'.

GT_LAYOUT-ZEBRA = 'X'.

GT_LAYOUT-NO_HLINE = 'X'.

GT_LAYOUT-WINDOW_TITLEBAR = 'ALV GRID DISPLAY'.

ENDFORM. " GETLAYOUT

&----


*& Form GETFIELDCAT

&----


  • text

----


  • --> p1 text

  • <-- p2 text

----


FORM GETFIELDCAT .

data: v_fieldcat type slis_fieldcat_alv.

data: pos type i value 1.

define field_cat.

clear v_fieldcat.

v_fieldcat-col_pos = pos.

v_fieldcat-fieldname = &1.

v_fieldcat-ref_fieldname = &2.

v_fieldcat-ref_tabname = &3.

v_fieldcat-key = &4.

append v_fieldcat to it_fieldcat.

pos = pos + 1.

end-of-definition.

FIELD_CAT: 'ZEID' 'ZEID' 'ZGEMP_DETAILS' 'X',

'ZENAME' 'ZENAME' 'ZGEMP_DETAILS' 'X',

'ZESAL' 'ZESAL' 'ZGEMP_DETAIL1' 'X',

'ZEADD' 'ZEADD' 'ZGEMP_DETAIL1' SPACE .

ENDFORM. " GETFIELDCAT

-


hope u can get now....

Rgds,

guna.