on 03-05-2013 12:45 PM
Hi All,
I am getting Sub total text, by using the event slis_ev_subtotal_text, but I am not getting Grand Total Text in ALV report.
I am using FM : Reuse_alv_grid_display.
i already searched in sdn but i did not find the solution.
Please advise me how to get the total text.
Thanks ,
Raja.
Hi Raja,
You just follow the below code,
TYPE-POOLS:SLIS.
DATA V1 TYPE EKKO-EBELN.
SELECT-OPTIONS:S_EBELN FOR V1.
DATA:V2 TYPE CHAR30 VALUE 'FS_FINAL-LIFNR',
V3 TYPE LIFNR.
TYPES:BEGIN OF TY_EKKO,
EBELN TYPE EBELN,
BUKRS TYPE BUKRS,
LIFNR TYPE LIFNR,
END OF TY_EKKO.
TYPES:BEGIN OF TY_EKPO,
EBELN TYPE EBELN,
EBELP TYPE EBELP,
MATNR TYPE MATNR,
NETPR TYPE BPREI,
END OF TY_EKPO.
TYPES:BEGIN OF TY_FINAL,
SEL TYPE CHAR1,
TOTAL TYPE CHAR20,
EBELN TYPE EBELN,
EBELN1 TYPE EBELN,
BUKRS TYPE BUKRS,
LIFNR TYPE LIFNR,
EBELP TYPE EBELP,
MATNR TYPE MATNR,
NETPR TYPE BPREI,
COLOR TYPE SLIS_T_SPECIALCOL_ALV,
END OF TY_FINAL.
TYPES:TT_EKKO TYPE STANDARD TABLE OF TY_EKKO,
TT_EKPO TYPE STANDARD TABLE OF TY_EKPO,
TT_FINAL TYPE STANDARD TABLE OF TY_FINAL.
DATA:IT_EKKO TYPE TT_EKKO,
IT_EKPO TYPE TT_EKPO,
IT_FINAL TYPE TT_FINAL.
DATA:FS_EKKO TYPE TY_EKKO,
FS_EKPO TYPE TY_EKPO,
FS_FINAL TYPE TY_FINAL.
DATA:IT_FCAT TYPE SLIS_T_FIELDCAT_ALV,
FS_FCAT LIKE LINE OF IT_FCAT.
DATA:IT_SORT TYPE SLIS_T_SORTINFO_ALV,
FS_SORT LIKE LINE OF IT_SORT.
DATA:SUB_TEXT TYPE SLIS_SUBTOT_TEXT.
DATA:IT_TOOLBAR TYPE SLIS_T_EXTAB,
FS_TOOLBAR LIKE LINE OF IT_TOOLBAR.
DATA FS_LAYOUT TYPE SLIS_LAYOUT_ALV.
DATA:IT_EVENT TYPE SLIS_T_EVENT,
FS_EVENT LIKE LINE OF IT_EVENT.
DATA FS_SCOL TYPE SLIS_SPECIALCOL_ALV.
FS_EVENT-NAME = 'SUBTOTAL_TEXT'.
FS_EVENT-FORM = 'ZSUBTOT'.
APPEND FS_EVENT TO IT_EVENT.
CLEAR FS_EVENT.
FS_LAYOUT-NO_TOTALLINE = 'X'.
FS_LAYOUT-SUBTOTALS_TEXT = 'Sub Total'.
FS_LAYOUT-BOX_FIELDNAME = 'SEL'.
PERFORM FILL_FCAT USING '0' 'TOTAL' '' SPACE 'X' SPACE.
PERFORM FILL_FCAT USING '1' 'EBELN' 'PURCHASE.DOC' SPACE 'X' SPACE.
PERFORM FILL_FCAT USING '1' 'EBELN1' 'PURCHASE.DOC' SPACE SPACE SPACE.
PERFORM FILL_FCAT USING '2' 'EBELP' 'ITEM' SPACE SPACE SPACE.
PERFORM FILL_FCAT USING '3' 'MATNR' 'MATERIAL NO' SPACE SPACE SPACE.
PERFORM FILL_FCAT USING '4' 'BUKRS' 'CCODE' SPACE SPACE SPACE.
PERFORM FILL_FCAT USING '5' 'LIFNR' 'VENDOR' SPACE SPACE 'X'.
PERFORM FILL_FCAT USING '6' 'NETPR' 'NETPRICE' 'X' SPACE SPACE.
SELECT EBELN
BUKRS
LIFNR
FROM EKKO
INTO TABLE IT_EKKO
WHERE EBELN IN S_EBELN.
IF IT_EKKO IS NOT INITIAL.
SELECT EBELN
EBELP
MATNR
NETPR
FROM EKPO
INTO TABLE IT_EKPO
FOR ALL ENTRIES IN IT_EKKO
WHERE EBELN = IT_EKKO-EBELN.
ENDIF.
LOOP AT IT_EKPO INTO FS_EKPO.
FS_FINAL-TOTAL = 'Grand Total'.
FS_FINAL-EBELN = FS_EKPO-EBELN.
FS_FINAL-EBELN1 = FS_EKPO-EBELN.
FS_FINAL-EBELP = FS_EKPO-EBELP.
FS_FINAL-MATNR = FS_EKPO-MATNR.
FS_FINAL-NETPR = FS_EKPO-NETPR.
READ TABLE IT_EKKO
INTO FS_EKKO
WITH KEY EBELN = FS_EKPO-EBELN.
FS_FINAL-BUKRS = FS_EKKO-BUKRS.
FS_FINAL-LIFNR = FS_EKKO-LIFNR.
APPEND FS_FINAL TO IT_FINAL.
CLEAR FS_FINAL.
ENDLOOP.
FS_SORT-SPOS = '00'.
FS_SORT-FIELDNAME = 'TOTAL'.
FS_SORT-UP = 'X'.
FS_SORT-SUBTOT = 'X'.
APPEND FS_SORT TO IT_SORT.
CLEAR FS_SORT.
FS_SORT-SPOS = '01'.
FS_SORT-FIELDNAME = 'EBELN'.
FS_SORT-UP = 'X'.
FS_SORT-SUBTOT = 'X'.
APPEND FS_SORT TO IT_SORT.
CLEAR FS_SORT.
FS_TOOLBAR-FCODE = '&ALL'.
APPEND FS_TOOLBAR TO IT_TOOLBAR.
FS_LAYOUT-COLTAB_FIELDNAME = 'COLOR'.
LOOP AT IT_FINAL INTO FS_FINAL.
IF FS_FINAL-NETPR LE 1500.
FS_SCOL-FIELDNAME = 'NETPR'.
FS_SCOL-COLOR-COL = 5.
FS_SCOL-COLOR-INV = 1.
FS_SCOL-COLOR-INT = 0.
MODIFY IT_FINAL FROM FS_FINAL TRANSPORTING COLOR.
ENDIF.
ENDLOOP.
CALL FUNCTION 'REUSE_ALV_FIELDCATALOG_MERGE'
EXPORTING
I_PROGRAM_NAME = SY-CPROG
I_INTERNAL_TABNAME = 'FS_FINAL'
I_INCLNAME = SY-CPROG
CHANGING
CT_FIELDCAT = IT_FCAT.
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
I_CALLBACK_PROGRAM = SY-CPROG
I_CALLBACK_PF_STATUS_SET = 'PF_STATUS_SET'
I_CALLBACK_USER_COMMAND = 'USER_COMMAND'
IS_LAYOUT = FS_LAYOUT
IT_FIELDCAT = IT_FCAT
* IT_EXCLUDING = IT_TOOLBAR
IT_SORT = IT_SORT
IT_EVENTS = IT_EVENT
TABLES
T_OUTTAB = IT_FINAL.
FORM FILL_FCAT USING COL_POS FIELDNAME SELTEXT_M DO_SUM NO_OUT EDIT.
FS_FCAT-COL_POS = COL_POS.
FS_FCAT-FIELDNAME = FIELDNAME.
FS_FCAT-SELTEXT_M = SELTEXT_M.
FS_FCAT-DO_SUM = DO_SUM.
FS_FCAT-NO_OUT = NO_OUT.
FS_FCAT-EDIT = EDIT.
APPEND FS_FCAT TO IT_FCAT.
CLEAR FS_FCAT.
ENDFORM. " FILL_FCAT
FORM ZSUBTOT USING I_LISTHEAD STRUCTURE FS_FINAL
I_SUBTOTAL TYPE SLIS_SUBTOT_TEXT.
READ TABLE IT_SORT INTO FS_SORT WITH KEY FIELDNAME = 'EBELN'.
IF SY-SUBRC = 0.
IF I_SUBTOTAL-CRITERIA = 'EBELN'.
I_SUBTOTAL-DISPLAY_TEXT_FOR_SUBTOTAL = 'Sub total'.
ENDIF.
ENDIF.
ENDFORM. "subtotal
FORM PF_STATUS_SET USING X TYPE SLIS_T_EXTAB.
SET PF-STATUS 'ALV'.
ENDFORM.
FORM USER_COMMAND USING A LIKE SY-UCOMM B TYPE SLIS_SELFIELD.
IF A = 'SAVE'.
MODIFY IT_FINAL FROM FS_FINAL INDEX B-TABINDEX.
ENDIF.
ENDFORM.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Thank u .
issue is resolved.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
User | Count |
---|---|
85 | |
10 | |
10 | |
10 | |
7 | |
6 | |
6 | |
5 | |
4 | |
4 |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.