07-03-2006 3:38 PM
hai SDNs,
how to add sub total icon in ALV output list.
i have used reuse_alv_grid_display. so i am unable to add sub total button. i am able to add total button(grand)
could any pls help me out.
waiting for reply
thanking you,
thanks
Rama krishna S
07-03-2006 4:10 PM
sample code is:::
TYPE-POOLS : SLIS.
************************************************************************
T A B L E S
************************************************************************
TABLES : EKKO. " Purchasing Document Header
************************************************************************
D A T A - D E C L A R A T I O N
************************************************************************
TYPES: BEGIN OF X_EKKO ,
EBELN LIKE EKKO-EBELN,
END OF X_EKKO.
TYPES: BEGIN OF X_EKPO ,
EBELN LIKE EKPO-EBELN,
EBELP LIKE EKPO-EBELP,
MATNR LIKE EKPO-MATNR,
MENGE LIKE EKPO-MENGE,
END OF X_EKPO.
TYPES: BEGIN OF X_EKET,
EBELN LIKE EKPO-EBELN,
EBELP LIKE EKPO-EBELP,
CHARG LIKE EKET-CHARG,
END OF X_EKET.
TYPES: BEGIN OF X_FINAL ,
EBELN LIKE EKPO-EBELN,
MATNR LIKE EKPO-MATNR,
CHARG LIKE EKET-CHARG,
EBELP LIKE EKPO-EBELP,
MENGE LIKE EKPO-MENGE,
END OF X_FINAL.
DATA: IT_EKKO TYPE STANDARD TABLE OF X_EKKO WITH HEADER LINE.
DATA: IT_EKPO TYPE STANDARD TABLE OF X_EKPO WITH HEADER LINE.
DATA: IT_EKET TYPE STANDARD TABLE OF X_EKET WITH HEADER LINE.
DATA: IT_FINAL TYPE STANDARD TABLE OF X_FINAL WITH HEADER LINE.
***ALV Field catalog
DATA : IT_FIELDCAT TYPE SLIS_T_FIELDCAT_ALV WITH HEADER LINE.
***ALV Events
DATA : IT_EVENT TYPE SLIS_ALV_EVENT.
DATA : IT_EVENT1 TYPE SLIS_T_EVENT.
DATA : GT_SORT TYPE SLIS_T_SORTINFO_ALV,
GT_SORT1 TYPE SLIS_SORTINFO_ALV,
IT_LAYOUT TYPE SLIS_LAYOUT_ALV.
***ALV TOP-OF-PAGE
DATA : IT_HEADER1 TYPE SLIS_T_LISTHEADER WITH HEADER LINE .
DATA : IT_HEADER TYPE SLIS_LISTHEADER.
DATA : V_REPID LIKE SY-REPID.
************************************************************************
S E L E C T I O N - S C R E E N
************************************************************************
SELECTION-SCREEN BEGIN OF BLOCK B1 .
SELECT-OPTIONS : S_EBELN FOR EKKO-EBELN.
SELECTION-SCREEN END OF BLOCK B1.
************************************************************************
S T A R T - O F - S E L E C T I O N
************************************************************************
START-OF-SELECTION.
PERFORM GETDATA.
PERFORM FIELDCATALOG USING IT_FIELDCAT[].
PERFORM SUB_SORT.
PERFORM SUB_LAYOUT.
************************************************************************
END - O F - S E L E C T I O N
************************************************************************
END-OF-SELECTION.
IF NOT IT_FINAL[] IS INITIAL.
PERFORM DISPDATA.
ELSE.
MESSAGE I000(Z1).
ENDIF.
&----
*& Form GETDATA
&----
PERFORM TO GET DATA FROM EKPO TABLE
----
FORM GETDATA .
SELECT EBELN
INTO TABLE IT_EKKO
FROM EKKO
WHERE EBELN IN S_EBELN.
IF SY-SUBRC = 0.
SORT IT_EKKO BY EBELN.
ENDIF.
IF NOT IT_EKKO[] IS INITIAL.
SELECT EBELN
EBELP
MATNR
MENGE
INTO TABLE IT_EKPO
FROM EKPO
FOR ALL ENTRIES IN IT_EKKO
WHERE EBELN = IT_EKKO-EBELN.
IF SY-SUBRC = 0.
SELECT EBELN
EBELP
CHARG
INTO TABLE IT_EKET
FROM EKET
FOR ALL ENTRIES IN IT_EKPO
WHERE EBELN = IT_EKPO-EBELN AND
EBELP = IT_EKPO-EBELP.
ENDIF.
ENDIF.
LOOP AT IT_EKPO.
IT_FINAL-EBELN = IT_EKPO-EBELN.
IT_FINAL-EBELP = IT_EKPO-EBELP.
IT_FINAL-MATNR = IT_EKPO-MATNR.
IT_FINAL-MENGE = IT_EKPO-MENGE.
READ TABLE IT_EKET WITH KEY EBELN = IT_EKPO-EBELN
EBELP = IT_EKPO-EBELP.
IF SY-SUBRC = 0.
IT_FINAL-CHARG = IT_EKET-CHARG.
CLEAR IT_EKET.
ENDIF.
APPEND IT_FINAL.
CLEAR IT_FINAL.
ENDLOOP.
ENDFORM. " GETDATA
&----
*& Form DISPDATA
&----
PERFORM TO DISPLAY DATA
----
FORM DISPDATA .
V_REPID = SY-REPID.
ENDFORM. " DISPDATA
&----
*& Form FIELDCATALOG
&----
PEROFRM TO POPULATE FIELD CATALOG
----
FORM FIELDCATALOG USING P_IT_FIELDCAT TYPE SLIS_T_FIELDCAT_ALV.
DATA : T_FIELD_CAT TYPE SLIS_FIELDCAT_ALV.
DATA : V_CNT TYPE I.
V_CNT = V_CNT + 1.
T_FIELD_CAT-COL_POS = V_CNT.
T_FIELD_CAT-FIELDNAME = 'EBELN'.
T_FIELD_CAT-OUTPUTLEN = 18.
T_FIELD_CAT-SELTEXT_L = 'PO DOC NUMBER'.
APPEND T_FIELD_CAT TO IT_FIELDCAT.
CLEAR T_FIELD_CAT.
V_CNT = V_CNT + 1.
T_FIELD_CAT-COL_POS = V_CNT.
T_FIELD_CAT-FIELDNAME = 'MATNR'.
T_FIELD_CAT-OUTPUTLEN = 18.
T_FIELD_CAT-SELTEXT_L = 'MATERIAL NUMBER'.
APPEND T_FIELD_CAT TO IT_FIELDCAT.
CLEAR T_FIELD_CAT.
V_CNT = V_CNT + 1.
T_FIELD_CAT-COL_POS = V_CNT.
T_FIELD_CAT-FIELDNAME = 'CHARG'.
T_FIELD_CAT-OUTPUTLEN = 10.
T_FIELD_CAT-SELTEXT_L = 'BATCH'.
APPEND T_FIELD_CAT TO IT_FIELDCAT.
CLEAR T_FIELD_CAT.
V_CNT = V_CNT + 1.
T_FIELD_CAT-COL_POS = V_CNT.
T_FIELD_CAT-FIELDNAME = 'EBELP'.
T_FIELD_CAT-OUTPUTLEN = 14.
T_FIELD_CAT-SELTEXT_L = 'LINE ITEM NO'.
APPEND T_FIELD_CAT TO IT_FIELDCAT.
CLEAR T_FIELD_CAT.
V_CNT = V_CNT + 1.
T_FIELD_CAT-COL_POS = V_CNT.
T_FIELD_CAT-FIELDNAME = 'MENGE'.
T_FIELD_CAT-DO_SUM = 'X'.
T_FIELD_CAT-OUTPUTLEN = 18.
T_FIELD_CAT-SELTEXT_L = 'PO QUANTITY'.
APPEND T_FIELD_CAT TO IT_FIELDCAT.
CLEAR T_FIELD_CAT.
ENDFORM. " FIELDCATALOG
&----
*& Form SUB_SORT
&----
PERFORM TO SORT
----
FORM SUB_SORT .
DATA L_CNT TYPE I.
L_CNT = L_CNT + 1.
GT_SORT1-FIELDNAME = 'EBELN'.
GT_SORT1-SPOS = L_CNT.
GT_SORT1-UP = 'X'.
GT_SORT1-SUBTOT = 'X'.
APPEND GT_SORT1 TO GT_SORT.
CLEAR GT_SORT1.
L_CNT = L_CNT + 1.
GT_SORT1-FIELDNAME = 'MATNR'.
GT_SORT1-SPOS = L_CNT.
GT_SORT1-UP = 'X'.
GT_SORT1-SUBTOT = 'X'.
APPEND GT_SORT1 TO GT_SORT.
CLEAR GT_SORT1.
L_CNT = L_CNT + 1.
GT_SORT1-FIELDNAME = 'CHARG'.
GT_SORT1-SPOS = L_CNT.
GT_SORT1-UP = 'X'.
GT_SORT1-SUBTOT = 'X'.
APPEND GT_SORT1 TO GT_SORT.
CLEAR GT_SORT1.
ENDFORM. " SUB_SORT
&----
*& Form SUB_LAYOUT
&----
text
----
FORM SUB_LAYOUT .
IT_LAYOUT-NO_TOTALLINE = ''.
IT_LAYOUT-SUBTOTALS_TEXT = 'SUB TOTAL'.
IT_LAYOUT-TOTALS_TEXT = 'GRAND TOTAL'.
ENDFORM. " SUB_LAYOUT
07-03-2006 4:14 PM
If you have enabled subtotalling using te SORT table , then the SUBTOTAL button will appear on the toolbar.
Regards,
Ravi
Note :Please mark the helpful answers
07-03-2006 5:55 PM
Hi,
SAP puts subtotal button automatically, you just have to press the button total first.
Best Regards,
Maria João Rocha
07-03-2006 5:58 PM
HI,
Check this out
<b> How do I add subtotals</b> ...
http://www.sapfans.com/forums/viewtopic.php?t=20386
http://www.sapfans.com/forums/viewtopic.php?t=85191
http://www.sapfans.com/forums/viewtopic.php?t=88401
http://www.sapfans.com/forums/viewtopic.php?t=17335
Regards,
Santosh