Display Subtotals on ALV Report W/O changing Layout

Hi ,
I need to display subtotals of quantity fields in my output of report ,with corresponding production order by using ALV container,Layout default seetings won't work here because user has to do many operations such as sorting filtering etc ,after displaying the report

Check these threads out
http://www.sap-basis-abap.com/sapalv.htm
http://help.sap.com/saphelp_nw04/helpdata/en/ee/b99d37e188a049e10000009b38f8cf/content.htm
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
DATA SORTING AND SUBTOTAL
DATA: GS_SORT TYPE SLIS_SORTINFO_ALV.
CLEAR GS_SORT.
GS_SORT-FIELDNAME = 'FIELD1'.
GS_SORT-SPOS = 1.
GS_SORT-UP = 'X'.
GS_SORT-SUBTOT = 'X'.
APPEND GS_SORT TO GT_SORT.
CLEAR GS_SORT.
GS_SORT-FIELDNAME = 'FIELD2'.
GS_SORT-SPOS = 2.
GS_SORT-UP = 'X'.
*GS_SORT-SUBTOT = 'X'.
APPEND GS_SORT TO GT_SORT.
Regards

Similar Messages

  • Displaying logo in alv report

    hi,
    what are the minimum requirements to display logo in alv report at the top of the page.
    i searched forums but did n't get the required answer.

    Hi
    This code is to display logo in the report through alv grid
    *& Report  ZALVDEMO                                                    *
    REPORT  ZALVDEMO.
    TABLES : J_1IEXCHDR, " header table
    J_1IEXCDTL, " item table
    J_1IPART2, " Excise Part II details
    LFA1, " vendor master table
    J_1IMOVEND, " vendor excise details table
    MSEG, " Document Segment: Material
    MKPF, " Header: Material Document
    DD07T, " domain text table
    T001W. " Plant and Branch Details
    DATA : BEGIN OF IT_CHDR OCCURS 100,
    DOCNO LIKE J_1IEXCHDR-DOCNO,
    DOCYR LIKE J_1IEXCHDR-DOCYR,
    EXNUM LIKE J_1IEXCHDR-EXNUM,
    EXDAT LIKE J_1IEXCHDR-EXDAT,
    WERKS LIKE J_1IEXCHDR-WERKS,
    EXBED LIKE J_1IEXCHDR-EXBED,
    EXCCD LIKE J_1IEXCHDR-EXCCD,
    ECS LIKE J_1IEXCHDR-ECS,
    END OF IT_CHDR.
    DATA : BEGIN OF IT_CDTL OCCURS 100,
    DOCYR LIKE J_1IEXCDTL-DOCYR,
    DOCNO LIKE J_1IEXCDTL-DOCNO,
    EXNUM LIKE J_1IEXCDTL-EXNUM,
    EXDAT LIKE J_1IEXCDTL-EXDAT,
    LIFNR LIKE J_1IEXCDTL-LIFNR,
    MATNR LIKE J_1IEXCDTL-MATNR,
    MAKTX LIKE J_1IEXCDTL-MAKTX,
    CHAPID LIKE J_1IEXCDTL-CHAPID,
    EXBAS LIKE J_1IEXCDTL-EXBAS,
    EXBED LIKE J_1IEXCDTL-EXBED,
    ECS LIKE J_1IEXCDTL-ECS,
    MENGE LIKE J_1IEXCDTL-MENGE,
    MEINS LIKE J_1IEXCDTL-MEINS,
    RDOC2 LIKE J_1IEXCDTL-RDOC2,
    END OF IT_CDTL.
    DATA TEXT(10).
    DATA : BEGIN OF IT_OUT OCCURS 0,
    SERIALNO LIKE J_1IPART2-SERIALNO,
    TEXT1 LIKE TEXT,
    EXNUM LIKE J_1IEXCDTL-EXNUM,
    EXDAT LIKE J_1IEXCDTL-EXDAT,
    NAME LIKE LFA1-NAME1,
    DDTEXT LIKE DD07T-DDTEXT,
    EXCCD LIKE J_1IEXCHDR-EXCCD,
    BUDAT LIKE MKPF-BUDAT,
    EXBAS LIKE IT_CDTL-EXBAS,
    EXBED LIKE IT_CDTL-EXBED,
    ECS LIKE IT_CDTL-ECS,
    MATNR LIKE IT_CDTL-MATNR,
    MAKTX LIKE IT_CDTL-MAKTX,
    CHAPID LIKE IT_CDTL-CHAPID,
    MENGE LIKE IT_CDTL-MENGE,
    MEINS LIKE IT_CDTL-MEINS,
    DEL_IND(1),
    END OF IT_OUT.
    DATA IT_PART2 LIKE J_1IPART2 OCCURS 0 WITH HEADER LINE.
    DATA S_NO(4) .
    DATA DB_CNT LIKE SY-TABIX.
    DATA EBELN_T LIKE MSEG-EBELN .
    TYPE-POOLS : SLIS.
    DATA : AFIELD TYPE SLIS_FIELDCAT_ALV.
    DATA : LIST_HEADER TYPE SLIS_T_LISTHEADER,
    FIELDCAT TYPE SLIS_T_FIELDCAT_ALV,
    LS_FTCAT TYPE LVC_S_FCAT,
    SORTCAT TYPE SLIS_T_SORTINFO_ALV,
    SORTCAT_LN LIKE LINE OF SORTCAT,
    G_REPID LIKE SY-REPID,
    G_BACK_GROUND(70), "like bapibds01-objkey,
    GS_VARIANT LIKE DISVARIANT,
    G_SAVE ,
    GT_EVENTS TYPE SLIS_T_EVENT,
    ALV_EVENT TYPE SLIS_ALV_EVENT,
    EVENTCAT TYPE SLIS_T_EVENT,
    EVENTCAT_LN LIKE LINE OF EVENTCAT,
    LAYOUT_IN TYPE SLIS_LAYOUT_ALV,
    LAYOUT_IN1 TYPE SLIS_LAYOUT_ALV.
    CONSTANTS : GC_FORMNAME_TOP_OF_PAGE TYPE SLIS_FORMNAME VALUE
    'TOP_OF_PAGE',
    GC_FORMNAME_USER_COMMAND TYPE SLIS_FORMNAME VALUE
    'USER_COMMAND',
    GC_FORMNAME_BEFORE_OUTPUT TYPE SLIS_FORMNAME VALUE
    'BEFORE_OUTPUT'.
    ALV_EVENT TYPE SLIS_ALV_EVENT,
    DATA EX_NO LIKE IT_CHDR-EXNUM VALUE 0.
    DATA REGTYP_1 LIKE J_1IPART2-REGTYP.
    SELECTION-SCREEN BEGIN OF BLOCK B WITH FRAME.
    PARAMETERS WERKS TYPE J_1IEXCHDR-WERKS.
    SELECT-OPTIONS : BUDAT FOR J_1IEXCHDR-EXDAT.
    PARAMETERS : R1 RADIOBUTTON GROUP GRP DEFAULT 'X',
    R2 RADIOBUTTON GROUP GRP.
    SELECTION-SCREEN END OF BLOCK B.
    INITIALIZATION.
    G_REPID = SY-REPID.
    G_SAVE = 'A'.
    PERFORM BUILD_EVENT USING GT_EVENTS[].
    PERFORM ALV_EVENT_INIT.
    AT SELECTION-SCREEN.
    REFRESH LIST_HEADER.
    PERFORM TOP_OF_PAGE_LIST_HEADER USING LIST_HEADER.
    START-OF-SELECTION.
    PERFORM ALV_EVENT_INIT.
    G_REPID = SY-REPID.
    G_BACK_GROUND = ' ' .
    IF R1 = 'X'.
    CLEAR R2. CLEAR : REGTYP_1.
    REGTYP_1 = 'A'.
    set titlebar 'BALAJI' with DB_CNT.
    ELSEIF R2 = 'X'.
    CLEAR R1.CLEAR : REGTYP_1.
    REGTYP_1 = 'C'.
    set titlebar 'BALAJI1' with DB_CNT.
    ENDIF.
    SELECT * FROM J_1IPART2
    INTO CORRESPONDING FIELDS OF TABLE IT_PART2
    WHERE REGTYP = REGTYP_1 AND
    TRNTYP = 'GRPO' AND
    BUDAT IN BUDAT.
    DOCYR = IT_CDTL-DOCYR AND
    DOCNO = IT_CDTL-DOCNO.
    LOOP AT IT_PART2.
    SELECT SINGLE * FROM J_1IEXCHDR
    INTO CORRESPONDING FIELDS OF IT_CHDR
    WHERE TRNTYP = 'GRPO' AND
    DOCYR = IT_PART2-DOCYR AND
    DOCNO = IT_PART2-DOCNO AND
    WERKS = WERKS AND
    exdat IN BUDAT.
    ORDER BY EXDAT.
    IF SY-SUBRC = 0.
    APPEND IT_CHDR.
    ELSE.
    CONTINUE.
    ENDIF.
    IF SY-SUBRC <> 0.
    MESSAGE E084.
    ENDIF.
    ENDLOOP.
    LOOP AT IT_CHDR.
    SELECT * FROM J_1IEXCDTL
    INTO CORRESPONDING FIELDS OF IT_CDTL
    FOR ALL ENTRIES IN IT_CHDR
    WHERE
    TRNTYP = 'GRPO' AND
    DOCNO = IT_CHDR-DOCNO AND
    DOCYR = IT_CHDR-DOCYR AND
    EXNUM = IT_CHDR-EXNUM AND
    EXDAT = IT_CHDR-EXDAT AND
    WERKS = IT_CHDR-WERKS.
    IF SY-SUBRC = 0.
    APPEND IT_CDTL.
    ELSE.
    CONTINUE.
    ENDIF.
    ENDSELECT.
    ENDLOOP.
    LOOP AT IT_CDTL.
    CLEAR TEXT.
    DB_CNT = DB_CNT + 1.
    READ TABLE IT_CHDR WITH KEY EXNUM = IT_CDTL-EXNUM.
    READ TABLE IT_PART2 WITH KEY DOCNO = IT_CDTL-DOCNO .
    IT_OUT-SERIALNO = IT_PART2-SERIALNO.
    SELECT SINGLE NAME1 FROM LFA1
    INTO IT_OUT-NAME
    WHERE LIFNR = IT_CDTL-LIFNR.
    SELECT SINGLE * FROM LFA1
    WHERE LIFNR = IT_CDTL-LIFNR.
    IF LFA1-LAND1 EQ 'IN'.
    TEXT = 'INVOICE'.
    IT_OUT-TEXT1 = TEXT.
    ELSE.
    TEXT = 'BOE'.
    IT_OUT-TEXT1 = TEXT.
    ENDIF.
    SELECT SINGLE * FROM J_1IMOVEND
    WHERE LIFNR = IT_CDTL-LIFNR.
    SELECT SINGLE * FROM DD07T
    INTO IT_OUT-DDTEXT
    WHERE DOMNAME = 'J_1IVTYP' AND
    DDLANGUAGE = 'EN' AND
    DOMVALUE_L = J_1IMOVEND-J_1IVTYP.
    IF DD07T-DDTEXT = 'First Stage Dealer of indigenous excisable goods'
    OR
    DD07T-DDTEXT = 'Second Stage Dealer of indigenous excisablegoods'.
    DD07T-DDTEXT = 'Dealer'.
    ENDIF.
    IT_OUT-DDTEXT = DD07T-DDTEXT.
    ELSEIF DD07T-DDTEXT = 'Second Stage Dealer of indigenous excisable
    *goods'.
    DD07T-DDTEXT =
    CLEAR EBELN_T.
    SELECT SINGLE LFBNR FROM MSEG
    INTO EBELN_T
    WHERE MBLNR = IT_CDTL-RDOC2 .
    SELECT SINGLE * FROM MSEG
    WHERE BWART = '106' AND
    LFBNR = EBELN_T ."and
    ebeln = ebeln_t.
    IF SY-SUBRC = 0.
    IT_OUT-DEL_IND = 'X'.
    ELSE.
    IT_OUT-DEL_IND = ' '.
    ENDIF.
    SELECT SINGLE BUDAT FROM MKPF
    INTO IT_OUT-BUDAT
    WHERE MBLNR = EBELN_T ."MSEG-LFBNR.
    IT_OUT-EXNUM = IT_CDTL-EXNUM.
    IT_OUT-EXDAT = IT_CDTL-EXDAT.
    IT_OUT-EXCCD = IT_CHDR-EXCCD.
    IT_OUT-EXBAS = IT_CDTL-EXBAS.
    IT_OUT-EXBED = IT_CDTL-EXBED.
    IT_OUT-ECS = IT_CDTL-ECS.
    IT_OUT-MATNR = IT_CDTL-MATNR.
    IT_OUT-MAKTX = IT_CDTL-MAKTX.
    IT_OUT-CHAPID = IT_CDTL-CHAPID.
    IT_OUT-MENGE = IT_CDTL-MENGE.
    IT_OUT-MEINS = IT_CDTL-MEINS.
    APPEND IT_OUT.
    EX_NO = IT_CDTL-EXNUM.
    ENDLOOP.
    Title Portion
    IF REGTYP_1 = 'A'.
    SET TITLEBAR 'BALAJI' WITH DB_CNT.
    ELSEIF REGTYP_1 = 'C'.
    SET TITLEBAR 'BALAJI1' WITH DB_CNT.
    ENDIF.
    AFIELD-COL_POS = 1.
    AFIELD-FIELDNAME = 'SERIALNO'.
    AFIELD-SELTEXT_L = 'INPUTS'.
    AFIELD-JUST = 'L'.
    APPEND AFIELD TO FIELDCAT.
    AFIELD-COL_POS = 2.
    AFIELD-FIELDNAME = 'TEXT1'.
    AFIELD-SELTEXT_L = 'TYPE OF DOC'.
    AFIELD-JUST = 'L'.
    AFIELD-DECIMALS_OUT = '0'.
    AFIELD-NO_ZERO = 'X'.
    APPEND AFIELD TO FIELDCAT.
    AFIELD-COL_POS = 3.
    AFIELD-FIELDNAME = 'EXNUM'.
    AFIELD-SELTEXT_L = 'DOC.NO'.
    AFIELD-JUST = 'L'.
    APPEND AFIELD TO FIELDCAT.
    AFIELD-COL_POS = 4.
    AFIELD-FIELDNAME = 'EXDAT'.
    AFIELD-SELTEXT_L = 'DOC.DATE'.
    AFIELD-JUST = 'C'.
    APPEND AFIELD TO FIELDCAT.
    AFIELD-COL_POS = 5.
    AFIELD-FIELDNAME = 'NAME'.
    AFIELD-SELTEXT_L = 'NAME OF THE SUPPLIER'.
    AFIELD-NO_ZERO = 'X'.
    AFIELD-JUST = 'L'.
    APPEND AFIELD TO FIELDCAT.
    AFIELD-COL_POS = 6.
    AFIELD-FIELDNAME = 'DDTEXT'.
    AFIELD-SELTEXT_L = 'TYPE-OF-SUPPLIER'.
    AFIELD-JUST = 'L'.
    APPEND AFIELD TO FIELDCAT.
    AFIELD-COL_POS = 7.
    AFIELD-FIELDNAME = 'EXCCD'.
    AFIELD-SELTEXT_L = 'ECC OF THE SUPPLIER'.
    AFIELD-NO_ZERO = 'X'.
    AFIELD-JUST = 'L'.
    APPEND AFIELD TO FIELDCAT.
    AFIELD-COL_POS = 8.
    AFIELD-FIELDNAME = 'BUDAT'.
    AFIELD-SELTEXT_L = 'INPUT RECV DATE'.
    AFIELD-JUST = 'C'.
    APPEND AFIELD TO FIELDCAT.
    AFIELD-COL_POS = 9.
    AFIELD-FIELDNAME = 'EXBAS'.
    AFIELD-SELTEXT_L = 'ASSESSABLE-VALUE'.
    AFIELD-DO_SUM = 'X'.
    AFIELD-JUST = 'R'.
    AFIELD-DECIMALS_OUT = '2'.
    APPEND AFIELD TO FIELDCAT.
    AFIELD-COL_POS = 10.
    AFIELD-FIELDNAME = 'EXBED'.
    AFIELD-SELTEXT_L = 'DET OF CREDIT TAKEN CENVAT'.
    AFIELD-JUST = 'R'.
    APPEND AFIELD TO FIELDCAT.
    AFIELD-COL_POS = 11.
    AFIELD-FIELDNAME = 'ECS'.
    AFIELD-SELTEXT_L = 'DET OF CREDIT TAKEN E-CESS'.
    AFIELD-JUST = 'R'.
    APPEND AFIELD TO FIELDCAT.
    AFIELD-COL_POS = 12.
    AFIELD-FIELDNAME = 'MATNR'.
    AFIELD-SELTEXT_L = 'MATERIAL-CODE'.
    AFIELD-JUST = 'L'.
    APPEND AFIELD TO FIELDCAT.
    AFIELD-COL_POS = 13.
    AFIELD-FIELDNAME = 'MAKTX'.
    AFIELD-SELTEXT_L = 'DESCRIPTION'.
    AFIELD-JUST = 'L'.
    APPEND AFIELD TO FIELDCAT.
    AFIELD-COL_POS = 14.
    AFIELD-FIELDNAME = 'CHAPID'.
    AFIELD-SELTEXT_L = 'TARIFF-ID'.
    AFIELD-JUST = 'L'.
    APPEND AFIELD TO FIELDCAT.
    AFIELD-COL_POS = 15.
    AFIELD-FIELDNAME = 'MENGE'.
    AFIELD-SELTEXT_L = 'QUANTITY'.
    AFIELD-JUST = 'R'.
    AFIELD-DO_SUM = ' '.
    APPEND AFIELD TO FIELDCAT.
    AFIELD-COL_POS = 16.
    AFIELD-FIELDNAME = 'MEINS'.
    AFIELD-SELTEXT_L = 'UOM'.
    AFIELD-JUST = 'C'.
    APPEND AFIELD TO FIELDCAT.
    AFIELD-COL_POS = 17.
    AFIELD-FIELDNAME = 'DEL_IND'.
    AFIELD-SELTEXT_L = 'Deleted'.
    AFIELD-JUST = 'C'.
    APPEND AFIELD TO FIELDCAT.
    * LAYOUT FOR ZEBRA CATLOG
    LAYOUT_IN-COLWIDTH_OPTIMIZE = 'X'.
    LAYOUT_IN-ZEBRA = 'X'.
    LAYOUT_IN-GET_SELINFOS = 'X'.
    LAYOUT_IN-CONFIRMATION_PROMPT = 'X'.
    LAYOUT_IN-DETAIL_POPUP = 'X' .
    SORTCAT-decimals = '0'.
    CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
    EXPORTING
    I_CALLBACK_PROGRAM = G_REPID
    I_CALLBACK_USER_COMMAND = 'USER_COMMAND'
    I_SAVE = G_SAVE
    IS_VARIANT = GS_VARIANT
    IT_FIELDCAT = FIELDCAT
    IT_SORT = SORTCAT
    IS_LAYOUT = LAYOUT_IN
    IT_EVENTS = EVENTCAT
    I_BACKGROUND_ID = g_back_ground
    TABLES
    T_OUTTAB = IT_OUT.
    *& Form TOP_OF_PAGE_LIST_HEADER
    text
    -->LIST_HEADERtext
    FORM TOP_OF_PAGE_LIST_HEADER USING LIST_HEADER TYPE SLIS_T_LISTHEADER.
    DATA : HLINE TYPE SLIS_LISTHEADER,
    TEXT(60) TYPE C.
    CLEAR : HLINE,TEXT.
    HLINE-TYP = 'H'.
    WRITE 'ROOTS INDUSTRIES LTD' TO TEXT.
    HLINE-INFO = TEXT.
    APPEND HLINE TO LIST_HEADER.
    SELECT SINGLE * FROM T001W WHERE WERKS = WERKS.
    CLEAR : HLINE,TEXT.
    HLINE-TYP = 'H'.
    WRITE 'PLANT :' TO TEXT.
    WRITE WERKS TO TEXT+8.
    HLINE-INFO = TEXT.
    APPEND HLINE TO LIST_HEADER.
    CLEAR : HLINE,TEXT.
    HLINE-TYP = 'H'.
    WRITE T001W-NAME1 TO TEXT.
    HLINE-INFO = TEXT.
    APPEND HLINE TO LIST_HEADER.
    CLEAR : HLINE,TEXT.
    HLINE-TYP = 'H'.
    WRITE T001W-STRAS TO TEXT.
    HLINE-INFO = TEXT.
    APPEND HLINE TO LIST_HEADER.
    CLEAR : HLINE,TEXT.
    HLINE-TYP = 'H'.
    WRITE T001W-ORT01 TO TEXT.
    HLINE-INFO = TEXT.
    APPEND HLINE TO LIST_HEADER.
    CLEAR : HLINE,TEXT.
    HLINE-TYP = 'H'.
    WRITE 'DATE :' TO TEXT.
    WRITE BUDAT-LOW TO TEXT+7.
    IF BUDAT-HIGH NE ''.
    WRITE 'TO' TO TEXT+18.
    WRITE BUDAT-HIGH TO TEXT+22.
    ENDIF.
    HLINE-INFO = TEXT.
    APPEND HLINE TO LIST_HEADER.
    ENDFORM. "TOP_OF_PAGE_LIST_HEADER
    *& Form ALV_EVENT_INIT
    text
    FORM ALV_EVENT_INIT .
    CLEAR ALV_EVENT.
    ALV_EVENT-NAME = SLIS_EV_TOP_OF_PAGE.
    ALV_EVENT-FORM = 'ALV_TOP_OF_PAGE'.
    APPEND ALV_EVENT TO EVENTCAT.
    CLEAR ALV_EVENT.
    ALV_EVENT-NAME = SLIS_EV_TOP_OF_LIST.
    ALV_EVENT-FORM = 'ALV_TOP_OF_LIST'.
    APPEND ALV_EVENT TO EVENTCAT.
    CLEAR ALV_EVENT.
    ALV_EVENT-NAME = SLIS_EV_END_OF_LIST.
    ALV_EVENT-FORM = 'ALV_END_OF_LIST'.
    APPEND ALV_EVENT TO GT_EVENTS.
    CLEAR ALV_EVENT.
    ALV_EVENT-NAME = SLIS_EV_END_OF_PAGE.
    ALV_EVENT-FORM = 'ALV_END_OF_PAGE'.
    APPEND ALV_EVENT TO GT_EVENTS.
    ENDFORM. "ALV_EVENT_INIT
    *& Form ALV_TOP_OF_PAGE
    text
    FORM ALV_TOP_OF_PAGE.
    CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'
    EXPORTING
    IT_LIST_COMMENTARY = LIST_HEADER
    I_LOGO = 'ENJOYSAP_LOGO'.
    ENDFORM. "ALV_TOP_OF_PAGE
    *& Form BUILD_EVENT
    text
    -->P_GT_EVENTS[] text
    FORM BUILD_EVENT USING P_EVENTS TYPE SLIS_T_EVENT.
    CALL FUNCTION 'REUSE_ALV_EVENTS_GET'
    EXPORTING
    I_LIST_TYPE = 0
    IMPORTING
    ET_EVENTS = P_EVENTS
    EXCEPTIONS
    LIST_TYPE_WRONG = 1
    OTHERS = 2.
    READ TABLE P_EVENTS WITH KEY NAME = SLIS_EV_USER_COMMAND INTO
    ALV_EVENT.
    IF SY-SUBRC = 0.
    MOVE GC_FORMNAME_USER_COMMAND TO ALV_EVENT-FORM.
    APPEND ALV_EVENT TO P_EVENTS.
    ENDIF.
    READ TABLE P_EVENTS WITH KEY NAME = SLIS_EV_BEFORE_LINE_OUTPUT INTO
    ALV_EVENT.
    IF SY-SUBRC = 0.
    MOVE GC_FORMNAME_BEFORE_OUTPUT TO ALV_EVENT-FORM.
    APPEND ALV_EVENT TO P_EVENTS.
    ENDIF.
    ENDFORM. " BUILD_EVENT
    this wud help u

  • Hi  please send code for displaying index in alv report

    hi
    thanx in advance.
    code please for displaying index in alv report.
    thanx
    rocky

    add one more field to ur internal table
    index type i .
    before u display ALV
    loop at itab.
      itab-index = sy-tabix.
      modify itab index sy-tabix.
    endloop.
    Message was edited by:
            chandrasekhar jagarlamudi

  • Subtotals in ALV report for ALPHA-NUMERIC field

    Hi Experts,
    I have problem while subtotalling values in ALV report.
    I have 8 fields in my fieldcatalog. Now, I have to do the subtotal based on 3rd field having name 'ABC'. This field is having type CHAR & having lenght 3.
    Now I wanted to do subtotalling for field 7 & 8 as 'NETWR' & 'MENGE' based on 3rd field.
    How we can do the subtotal?

    Hi,
    Refer this code
    *&      Form  sub_display_data
          text
    FORM sub_display_data .
    *--To sort the output through material number
      DATA : lwa_sort TYPE slis_sortinfo_alv.
      DATA : lit_sort TYPE slis_t_sortinfo_alv.
    *--Pass the values to the table
      lwa_sort-fieldname = 'PERNR'.             "Field name in o/p inttable
      lwa_sort-tabname   = 'it_final2'.         "Output Internal table
      lwa_sort-spos      = '1'.                 "Sort  sequence
      lwa_sort-up        = 'X'.                 "Sort in ascending order
      lwa_sort-down      = ' '.                 "Sort in descending order
      lwa_sort-subtot    = 'X'.                 "Subtotal
      APPEND lwa_sort TO lit_sort.
    *--Pass the values to the table
      lwa_sort-fieldname = 'WORKDATE'.          "Field name in o/p inttable
      lwa_sort-tabname   = 'it_final2'.         "Output Internal table
      lwa_sort-spos      = '2'.                 "Sort  sequence
      lwa_sort-up        = 'X'.                 "Sort in ascending order
      lwa_sort-down      = ' '.                 "Sort in descending order
      lwa_sort-subtot    = ' '.                 "Subtotal
      APPEND lwa_sort TO lit_sort.
    *--Pass the values to the table
      lwa_sort-fieldname = 'WEKLY'.             "Field name in o/p inttable
      lwa_sort-tabname   = 'it_final2'.         "Output Internal table
      lwa_sort-spos      = '3'.                 "Sort  sequence
      lwa_sort-up        = 'X'.                 "Sort in ascending order
      lwa_sort-down      = ' '.                 "Sort in descending order
      lwa_sort-subtot    = ' '.                 "Subtotal
      APPEND lwa_sort TO lit_sort.
      wa_layout-colwidth_optimize = 'X'.
      IF NOT it_final2[] IS INITIAL.
    *--Call the function module to display the ALV report
        CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
          EXPORTING
            is_layout          = wa_layout
            i_callback_program = v_repid
            it_fieldcat        = it_fieldcat1[]
            i_default          = c_chk
            i_save             = c_save
            it_sort            = lit_sort
          TABLES
            t_outtab           = it_final2
          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.
      ELSE.
    *--Message No data found
        MESSAGE i888 WITH text-017.
        LEAVE LIST-PROCESSING.
      ENDIF.
    ENDFORM.                    " sub_display_data
    Regards,
    Prashant

  • How to display icon in alv report output

    hi,
    my ewquirement in in alv report in one column to diaplay the icon(tickmark) based on some codition.
    how to achieve it??
    condition is
    Affected (Locked on Current ECM) u2013 can use symbols    for affected and   for changing u2013
    u2022     Lock AEOI u2013 CCLCK for AE01-OBJKT (Material) lock.
    Condition:
      If AEOI u2013 CCLCK is activated then display symbols  (tickmark)  in line of their AE01-OBJKT (Material). else display
    (x mark)

    Hi,
    In field catalog of grid set
    Ex--
    when 'Field'.
      lwa_fcat-icon      = c_true.
    based on your condition
    set the desired icon in table.
    Ex.... lwa_table-field = icon_tick.

  • Display icon in alv report ?

    Hi All,
    I am using class 'cl_gui_alv_grid' to generate an alv report. I want to display status icons like red, yellow and green in one of the coulmns. Please let me know how to achieve the same.
    Regards,
    Navneeth K.

    Try to follow the below code.
    Add
             icon       TYPE  icon-id,             "Status
    to your output table
    Constants
    CONSTANTS: c_green  TYPE icon-id VALUE '@08@',
               c_yellow TYPE icon-id VALUE '@09@',
               c_red    TYPE icon-id VALUE '@0A@'.
    Put your condition in which you want to display which color.
        IF CONDITION.
          MOVE c_yellow TO wa_out-icon.
          MODIFY it_out
                       from wa_out.
       ENDIF.
    Add it in your catalog
    FORM populate_fieldcat USING p_table TYPE c.
    **status
      CLEAR wa_fieldcat.
      wa_fieldcat-tabname     = p_table.
      wa_fieldcat-fieldname   = 'ICON'.
      wa_fieldcat-seltext_l   = text-010.
      wa_fieldcat-outputlen   = 15.
      wa_fieldcat-icon        = 'X'.
      APPEND wa_fieldcat TO i_fieldcat.
        CALL METHOD g_grid->set_table_for_first_display
          EXPORTING
          I_BUFFER_ACTIVE               =
          I_BYPASSING_BUFFER            =
          I_CONSISTENCY_CHECK           =
            i_structure_name              = 'MARA'
          IS_VARIANT                    =
          I_SAVE                        =
          I_DEFAULT                     = 'X'
            is_layout                      =  gs_layout
          IS_PRINT                      =
          IT_SPECIAL_GROUPS             =
          IT_TOOLBAR_EXCLUDING          =
          IT_HYPERLINK                  =
          IT_ALV_GRAPHICS               =
          IT_EXCEPT_QINFO               =
          CHANGING
            it_outtab                     = it_out[]
          IT_FIELDCATALOG               = T_FIELDCAT
          IT_SORT                       =
          IT_FILTER                     =
          EXCEPTIONS
            invalid_parameter_combination = 1
            program_error                 = 2
            too_many_lines                = 3
            OTHERS                        = 4.

  • ME2L : still to be delivered is not displayed correctly in ALV report

    Dear All,
    The still to be delivered and still to be invoiced quantity is not being displayed correctly in ME2L report. In BEST format the report displayes the correct values. In the ALV form the quantity is same as the ordered quantity.
    can anyone he

    If the selection is the same for BEST layout and ALV layout then the results should equal.
    if a field in ALV display has a different value than in the old list display, then it pretty much looks like a bug, and bugs can only be erased by program changes from SAP via OSS notes.
    Check SAPNet for notes, open a message yourself to SAP if you dont find any.

  • Displaying an ALV report using a saved layout.

    Dear friends
    In ALV report there are 2 standard buttons.
    One says "select Layout CTRLF9" and another one says "Save Layout CTRLF10".
    Using this I can select the layout and save it using some variable.
    Now I want to create a field in the main screen so that when
    I enter this saved name  and run  the ALV report, it should show
    report using the layout I entered selected (which was saved earlier).
    Where will this variable get saved and how can i access this and make it
    display using this layout.
    Any feed back will be greatly appreciated.
    Thanks
    Ram

    Hi Ram,
    Try this code..
    BR
    Rakesh
    **// INITIALIZATION.
    initialization.
      perform initialize_variables.
    **// AT SELECTION-SCREEN.
    at selection-screen.
      if p_vari is initial.
        variant_init.
      endif.
      perform check_email.
    at selection-screen on value-request for p_vari.
      alv_f4_for_variant.                                       "#EC
    at selection-screen on p_vari.
      alv_pai_of_selection_screen.
                                  M A C R O S                            *
    define variant_init.
      clear: disvariant,
             vartext.
      if v_pgm is initial.
        disvariant-report     = sy-cprog.
      else.
        disvariant-report     = v_pgm.
      endif.
    end-of-definition.
    define alv_f4_for_variant.
      variant_init.
      call function 'REUSE_ALV_VARIANT_F4'
           exporting
                is_variant = disvariant
                i_save     = xsave
           importing
                e_exit     = i_exit
                es_variant = disvariant
           exceptions
                not_found  = 2.
      if sy-subrc = 2.
        message id sy-msgid type 'S'      number sy-msgno
                with sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
      elseif i_exit = space.
        p_vari  = disvariant-variant.
        vartext = disvariant-text.
        refresh i_dynpread.
        i_dynpread-fieldname  = 'VARTEXT'.
        i_dynpread-fieldvalue = disvariant-text.
        append i_dynpread.
        call function 'DYNP_VALUES_UPDATE'
             exporting
                  dyname     = v_pgm
                  dynumb     = '1000'
             tables
                  dynpfields = i_dynpread.
        if sy-subrc <> 0.
          message id sy-msgid type sy-msgty number sy-msgno
                  with sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
        endif.
      else.
        variant_init.
      endif.
    end-of-definition.
    define alv_pai_of_selection_screen.
      if not p_vari is initial.
        move p_vari to disvariant-variant.
        call function 'REUSE_ALV_VARIANT_EXISTENCE'
             exporting
                  i_save     = xsave
             changing
                  cs_variant = disvariant.
        vartext = disvariant-text.
      else.
        variant_init.
      endif.
    end-of-definition.

  • '@' not getting displayed in the ALV report

    Hello,
    I am facing  a strange issue in the ALV report display. A string starting with '@' is not getting displayed and says "default icon " on the report. and this is varying from system to system for the same user.
    can anyone please help me in resolving the issue.
    Thanks in advance.
    Thanks and Regards,
    Santhosh Guptha N.

    @ is a default value as per ALV internal process. This is used in icons .
    I think this is causing the confusion.
    Check in the fieldcat if there is any adjsutment to be made to handle this.
    Br,
    Vijay

  • Display Icons in ALV report

    Hi all Good Morning.
    In ALV report am inserted my own icons. But the problem is at output screen am getting only those icons which i created, remaining are not displaying in standard tool bar .
    Please tell me how to solve this. I want to display all default icons with my own created icons in standard tool bar .
    Regards,
    Prajwal K.
    Edited by: prajwal k on Jan 24, 2008 4:39 AM

    Hi Prajwal, this code will solve ur problem.
    go to SE41.
    Give SAPLKKBL as program name and STANDARD_FULLSCREEN as status....
    now click on Copy Status and in that give ur program and status name into To.....
    now in REUSE_ALV_GRID_DISPLAY
    FORM display_list.
    g_f_repid = sy-repid.
    CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
    EXPORTING
    i_callback_program = g_f_repid
    i_callback_user_command = 'USER_COMMAND'
    i_callback_pf_status_set = 'SET_STAT'
    it_fieldcat = g_t_fieldcat[]
    it_events = g_t_events[]
    TABLES
    t_outtab = g_t_itab
    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. " display_list
    FORM set_stat USING rt_extab TYPE slis_t_extab.
    SET PF-STATUS 'ZSTAT' EXCLUDING rt_extab.
    ENDFORM. "set_stat
    here my status name is ZSTAT which i gave in SE41...
    and in user_command form...
    FORM user_command USING u_comm LIKE sy-ucomm selfield TYPE slis_selfield.
    CASE u_comm.
    WHEN 'DET'.
    ........ur logic.........
    ENDCASE.
    ENDFORM. "user_command
    kindly reward if found helpful.
    cheers,
    Hema.

  • Regarding Selection Screen field making display field  in ALV report

    Hi All,
               In ALV Report,  at runtime how can i make the field as Display Field in selection screen .
    Thks & Regds
    Shailesh

    hii,
    Go to se38 and give the below progra name execute.... check the source code it is very easy to understand.
    1.demo_dynpro_modify_simple
    2.demo_dynpro_modify_screen
    if tou are using grid,u can refer to foll link
    sequencing / choosing fields in report screen at runtime,
    Display the Columns in the grid at run time
    rgrds,
    Shweta

  • Data Displaying issue in ALV report

    Hi,
      I have made a ALV report,  the presetn display layout is as below
    it is displaying the material shortage reprot against issued production order
    ORDER NO.     Order Qty.     MATERIAL     TOTAL QTY     SHORTAGE QTY
    3000000     100     610     100     5
    3000000     100     101     200     43
    3000000     100     8795     400     400
    3000000     100     456     100     67
    3000001     50     548     50     33
    3000004     62     710     62     3
    3000005     15     7895     15     15
    3000020     11     456     22     10
    now the user requirement is the report should come as per below formate
    AT EACH NEW ORDER NUMBER :
    ****************first display main order no. and order qty.
    ORDER NO.     Order Qty
    3000000     100
    ************************then below this display the indiviual material and qty.
    MATERIAL     TOTAL QTY          SHORTAGE QTY
         610            100                     5
       101              200     43
    8795     400     400
    456     100     67
    *******again at new order******
    ORDER NO.       Order Qty
      3000001         50
    **********then below display the items
    MATERIAL     TOTAL QTY          SHORTAGE QTY
      548           50                 33
    how to do this is there any output layout with this i can get this formate in LAV report
    regards,
      zafar

    Hi Zafar,
    You can populate your internal table as per the requirement.
    at new order only.
    itab-Order = 3000000 .
    itab-Order quantity = 100.
    append itab
    for all materials for that order
    itab-MATERIAL       =   610 .
    itab-TOTAL QTY  = 100 .
    itab-SHORTAGE QTY = 5.
    append itab.
    Cheers,
    Suhail

  • Subtotals in ALV Report

    Hello,
      I am developing a report using ALV FM, i have field catalog(vbeln posnr matnr netpr). i know how to set subtotals using layout settings once after program execution.but i want subtotals to set before execution( i mean that, in coding itself). does any one worked on this before..?if so. plz send some sample code..
    thanks in advance..
    leoiz.

    Hai Komal Rani ,
    As u said that i worked on subtotals in my report but that doesn't give any result to me.As we know that before going to work on subtots we must sum at least one column,then only we can do subtots, similarly i did using do_sum attribute in fieldcatalog table on netprice column.
    then i passed
       s_sort_info-fieldname = 'VBELN'.
       s_sort_info-subtot = 'X'.
       append s_sort_info to t_sort_info.
    then i passed t_sort_info to
        IT_SORT                           = t_sort_info in
    REUSE_ALV_GRID_DISPLAY fm.
    but that doesn't give any result...
    if i did mistake, can u explain once again..?
    leoiz.

  • How to validate data in editable ALV report after making changes

    Hi Folks,
    My requirement is to display data in ALV format with quantity field is editable. Once we get the data in display mode only quantity field is enabled right. I am going to make changes to that quantity field and updating that modifed value to the database table. Before updating databse table i want to validate the data for perticluar field which I edidted(Quantity).
    Can you guide me on this.
    Currently I am using FM: GET_GLOBALS_FROM_SLVC_FULLSCR and calling the method CHECK_CHANGED_DATA.
    I want to validate the quantity data.
    If I entered negative value like -100 instead of 100. It should validate and show some popup screen or message.
    Pls guide me on this or give some code to do that.
    Thanks&Regards,
    Surendra

    Hey Surendra,
    Check if this helps: Link:[Click here|Edit Field in Oops Alv;
    There are many posts available for this requirement. Please look SDN/web for same.
    Regards,
    Santosh

  • Re: Display format in ALV report

    Hi Expert,
    I have develop an alv report with some like lifnr,name1,dmbtr,budat,zterm, But my requiremnt is output should come in
    the below format like
    vendor number   vendor name   payment tern     jan          feb                mar            april       ...................... upto december.
                                                                               no  value   no  value     no value    no value ..................
    Abouce is my report format below jan i have two fields  no and value for  i have written code output is comming in alv but it
    is not commig in the above format
    My code is
    TYPE-POOLS: SLIS.
    TABLES: LFA1,BSAK,BSIK.
    TYPES: BEGIN OF TY_LFA1,
           LIFNR TYPE LFA1-LIFNR,   "VENDOR NUMBER
           NAME1 TYPE LFA1-NAME1,   "VENDOR NAME
           END OF TY_LFA1.
    TYPES: BEGIN OF TY_BSIK,
           LIFNR TYPE BSIK-LIFNR,    "VENDOR NUMBER
           DMBTR TYPE BSIK-DMBTR,    "AMOUNT IN  LOCAL CURRENCY
          WMWST TYPE BSIK-WMWST,    "TAX AMOUNT IN DOCUMENT CURRENCY
           BUDAT TYPE BSIK-BUDAT,    "POSTING DATE
           ZTERM TYPE BSIK-ZTERM,    "TERM OF PAYMENT
           END OF TY_BSIK.
    TYPES: BEGIN OF TY_OUTPUT,
            LIFNR TYPE LFA1-LIFNR,
            NAME1 TYPE LFA1-NAME1,
            DMBTR TYPE BSIK-DMBTR,
            BUDAT TYPE BSIK-BUDAT,
            ZTERM TYPE BSIK-ZTERM,
            NEW TYPE SY-DATUM,
            END OF TY_OUTPUT.
    SELECT T1~LIFNR
           T1~NAME1
           T2~DMBTR
           T2~BUDAT
           T2~ZTERM
              INTO TABLE GT_OUTPUT FROM LFA1 AS T1 INNER JOIN BSIK AS T2
               ON T1LIFNR = T2LIFNR
               WHERE T1~LIFNR IN S_LIFNR
               AND T2~BUDAT IN S_BUDAT
               AND ZTERM NE ' '.
    and then i have use alv function module REUSE_ALV_GRID_DISPLAY..........................
    How to display the report in the above format
    can any one throw some light in this..............
    Regards,
    Addu

    Dear Koolspy,
    You are correct i have check in the table BSIK their is one field called SHKZG for credit and debt please can you let me know how to wrtie this in my code my main logic is below.
    SELECT T1~LIFNR
           T1~NAME1
           T2~DMBTR
           T2~BUDAT
           T2~ZTERM
            INTO TABLE GT_OUTPUT FROM LFA1 AS T1 INNER JOIN BSIK AS T2
               ON T1LIFNR = T2LIFNR
               WHERE T1~LIFNR IN S_LIFNR
               AND T2~BUDAT IN S_BUDAT
               AND ZTERM NE ' '.
       LOOP AT GT_OUTPUT INTO WT_OUTPUT.
       WT_FINAL-LIFNR = WT_OUTPUT-LIFNR.
       WT_FINAL-NAME1 = WT_OUTPUT-NAME1.
       WT_FINAL-DMBTR = WT_OUTPUT-DMBTR.           "Amount
       WT_FINAL-NEW   = WT_OUTPUT-BUDAT+4(2).      "posting date
       WT_FINAL-ZTERM = WT_OUTPUT-ZTERM.
        APPEND WT_FINAL TO IT_FINAL.
        CLEAR WT_FINAL.
        ENDLOOP.
    LOOP AT IT_FINAL INTO WT_FINAL.
    COLLECT WT_FINAL INTO GT_OUTPUT5.
    ENDLOOP.
    LOOP AT GT_OUTPUT5 INTO WT_OUTPUT5.
      WT_OUTPUT2-LIFNR = WT_OUTPUT5-LIFNR.
      WT_OUTPUT2-NAME1 = WT_OUTPUT5-NAME1.
    WT_OUTPUT2-DMBTR = WT_OUTPUT5-DMBTR.
    WT_OUTPUT2-NEW   = WT_OUTPUT5-NEW.
      WT_OUTPUT2-ZTERM = WT_OUTPUT5-ZTERM.
      IF WT_OUTPUT5-NEW = '01'.                                "2
      MOVE WT_OUTPUT5-DMBTR TO WT_OUTPUT2-JAN.
                     "2
      ELSEIF WT_OUTPUT5-NEW = '02'.
        MOVE WT_OUTPUT5-DMBTR TO WT_OUTPUT2-FEB.
        ELSEIF WT_OUTPUT5-NEW = '03'.
         MOVE WT_OUTPUT5-DMBTR TO WT_OUTPUT2-MAR.
          ELSEIF WT_OUTPUT5-NEW = '04'.
            MOVE WT_OUTPUT5-DMBTR TO WT_OUTPUT2-APR.
          ELSEIF WT_OUTPUT5-NEW = '05'.
             MOVE WT_OUTPUT5-DMBTR TO WT_OUTPUT2-MAY.
          ELSEIF WT_OUTPUT5-NEW = '06'.
             MOVE WT_OUTPUT5-DMBTR TO WT_OUTPUT2-JUN.
          ELSEIF WT_OUTPUT5-NEW = '07'.
             MOVE WT_OUTPUT5-DMBTR TO WT_OUTPUT2-JUL.
           ELSEIF WT_OUTPUT5-NEW = '08'.
             MOVE WT_OUTPUT5-DMBTR TO WT_OUTPUT2-AUG.                  "5
             ELSEIF WT_OUTPUT5-NEW = '09'.                             "
               MOVE WT_OUTPUT5-DMBTR TO WT_OUTPUT2-SEP.
                ELSEIF WT_OUTPUT5-NEW = '10'.
                  MOVE WT_OUTPUT5-DMBTR TO WT_OUTPUT2-OCT.
                ELSEIF WT_OUTPUT5-NEW = '11'.
                  MOVE WT_OUTPUT5-DMBTR TO WT_OUTPUT2-NOV.
                  ELSEIF WT_OUTPUT5-NEW = '12'.
                    MOVE WT_OUTPUT5-DMBTR TO WT_OUTPUT2-DEC.
                 MODIFY GT_OUTPUT2 FROM  WT_OUTPUT2.
        ENDIF.
    APPEND WT_OUTPUT2 TO GT_OUTPUT2.
    collect WT_OUTPUT2 inTO GT_OUTPUT2.
    COLLECT WT_FINAL INTO GT_OUTPUT5.
    clear : wt_output2.
      ENDLOOP.
    Please let me know where to insert that SHKZG field.
    Regards,
    Am

Maybe you are looking for

  • External Hard Drive Grayed Out?

    External hard drive (Lacie) will not mount on finder. It shows up in Disc Utility, but the name is grayed out and when I click on "mount" nothing happens. Is there any hope of getting that data back? Thanks!

  • Table of Contents Deactivated in HTML Formatted Emails - How to Fix?

    Problem Details: I produce a newsletter with an embedded table of contents.  In iOS7, users were able navigate via the table of contents and traverse to the corresponding articles.  This functionality has been lost upon the installation of iOS8.  My

  • Handling Multiple Records in a file adapter

    Hi All, My source file message : <Source_MT>     <Records>....<b>0-Unbound</b>              <Country>THAILAND</country>     </Records>    <Records>....<b>0-Unbound</b>              <Country>ANGOLA</country>     </Records> </Source_MT> Target Message:

  • Lumia 520 worthy without music

    hai nokia i m really disappointed with absence of equalizer in lumia 520 as even few bugs s40 phones sounds great in front of this so called smart phone, why people should switch to lumia ? Which even not deserve to play smarter music.........

  • A strange undeletable file

    Hello everyone! For 2 week i have got a very strange file that showed up in my trash. The file has the icon of a normal Alias-file. But the fider shows zero KB in the trash. If I am going to view the file-Information it disappeares. The trash lookes