2008 Apr 16 10:46 AM
How to display a name(row header) for the subtotal row in ALV grid?
How to display a name(row header) for the subtotal row in ALV grid?
2008 Apr 16 10:53 AM
Hi Krithiga, Please check the link. It is clearly explained. [http://www.saptechnical.com/Tutorials/ALV/Subtotals/text.htm|http://www.saptechnical.com/Tutorials/ALV/Subtotals/text.htm] Regards, Venkat.O
2008 Apr 16 10:53 AM
Hi,
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
2008 Apr 16 10:54 AM
2008 Apr 16 10:58 AM
DATA: LAYOUT TYPE SLIS_LAYOUT_ALV,
PERFORM BUILD_LAYOUT USING LAYOUT.
FORM BUILD_LAYOUT USING P_LAYOUT TYPE SLIS_LAYOUT_ALV.
P_LAYOUT-ZEBRA = 'X'.
P_LAYOUT-COLWIDTH_OPTIMIZE = 'X'.
P_LAYOUT-NUMC_SUM = 'X'.
P_LAYOUT-TOTALS_TEXT = 'Total'.
P_LAYOUT-SUBTOTALS_TEXT = 'Total'.
ENDFORM. " BUILD_LAYOUT