Skip to Content
author's profile photo Former Member
Former Member

Event

Hi Guru's,

Please check below program,

It is calculating total values for amount field but it is not calculating for number field. both i gave it in event itself (at end of name).

Please help me in solving this problem.

TYPES:BEGIN OF itab,

num TYPE i,

name(10) TYPE c,

amt type i,

END OF itab.

DATA : wa_itab TYPE itab,

it_itab TYPE STANDARD TABLE OF itab.

DATA : v_lines TYPE i.

wa_itab-num = 1.

wa_itab-name = 'nag'.

wa_itab-amt = 1000.

append wa_itab TO it_itab.

wa_itab-num = 1.

wa_itab-name = 'nag'.

wa_itab-amt = 2000.

append wa_itab TO it_itab.

wa_itab-num = 1.

wa_itab-name = 'nag'.

wa_itab-amt = 1500.

append wa_itab TO it_itab.

wa_itab-num = 2.

wa_itab-name = 'sri'.

wa_itab-amt = 500.

append wa_itab tO it_itab.

wa_itab-num = 2.

wa_itab-name = 'sri'.

wa_itab-amt = 600.

append wa_itab TO it_itab.

wa_itab-num = 2.

wa_itab-name = 'sri'.

wa_itab-amt = 700.

append wa_itab TO it_itab.

wa_itab-num = 3.

wa_itab-name = 'ganesh'.

wa_itab-amt = 1200.

append wa_itab TO it_itab.

wa_itab-num = 3.

wa_itab-name = 'ganesh'.

wa_itab-amt = 1300.

append wa_itab TO it_itab.

wa_itab-num = 3.

wa_itab-name = 'ganesh'.

wa_itab-amt = 1400.

append wa_itab TO it_itab.

wa_itab-num = 4.

wa_itab-name = 'suresh'.

wa_itab-amt = 900.

append wa_itab TO it_itab.

wa_itab-num = 4.

wa_itab-name = 'suresh'.

wa_itab-amt = 300.

append wa_itab TO it_itab.

sort it_itab by name.

LOOP AT it_itab INTO wa_itab.

at first.

write :/ 'details of sales order:'.

uline.

endat.

at new num.

write :/ 'serial num:', wa_itab-num.

uline.

endat.

WRITE :/ wa_itab-num , wa_itab-name , wa_itab-amt.

at end of name.

uline.

sum.

write :/ 'total amount:',wa_itab-amt.

write :/ 'serial num:', wa_itab-num.

uline.

endat.

*

at last.

sum.

uline.

write:/ 'grand total:',wa_itab-amt.

endat.

ENDLOOP.

Thanks & Regards

Priyalatha

Add a comment
10|10000 characters needed characters exceeded

Assigned Tags

Related questions

3 Answers

  • Best Answer
    Posted on Dec 03, 2007 at 08:04 AM

    Hi,

    just change the position of num in itab as follow

    TYPES:BEGIN OF itab,

    <b>name(10) TYPE c,

    num TYPE i,

    amt type i,</b>

    END OF itab.

    it will work.

    Add a comment
    10|10000 characters needed characters exceeded

  • author's profile photo Former Member
    Former Member
    Posted on Dec 03, 2007 at 07:17 AM

    Hi,

    It won't sum the number field. The smount field is summing as the number is changing. The number is a unique field, it won't sum up.

    Ex:

    1 Ram 1000

    1 Ram 2000

    2 tej 1000

    Number 1 is unique to Ram only .(1+1 = 2 is wrong ). Eventhough any one of 1's and 2's be there, a unique entry will be there are all similar records.

    like

    1 Ram 3000.

    2 Tej 1000.

    Regards,

    Vani

    Add a comment
    10|10000 characters needed characters exceeded

    • Former Member

      Hi vani,

      Please see the code once again,it is adding amount field when name gets changes,

      so

      at end of name. "plz check this.

      uline.

      sum.

      write :/ 'total amount:',wa_itab-amt."its adding the values for this field

      write :/ 'serial num:', wa_itab-num. "it shd work for this field also.

      uline.

      endat.

      Thanks & regards

      Priyalatha

  • author's profile photo Former Member
    Former Member
    Posted on Dec 03, 2007 at 07:12 AM

    Hi

    check with tis code

    &----


    *& Report ZALV_SUM

    *&

    &----


    *&

    *&

    &----


    REPORT ZNNR_ALV_SUM.

    TABLES: ekko.

    type-pools: slis. "ALV Declarations

    *Data Declaration

    *----


    TYPES: BEGIN OF t_vbap,

    vbeln TYPE vbap-vbeln,

    matnr TYPE vbap-matnr,

    netwr TYPE vbap-netwr,

    waerk TYPE vbap-waerk,

    END OF t_vbap.

    DATA: it_vbap TYPE STANDARD TABLE OF t_vbap INITIAL SIZE 0,

    wa_vbap TYPE t_vbap.

    *ALV data declarations

    data: fieldcatalog type slis_t_fieldcat_alv with header line,

    gd_tab_group type slis_t_sp_group_alv,

    gd_layout type slis_layout_alv,

    gd_repid like sy-repid.

    ************************************************************************

    *Start-of-selection.

    START-OF-SELECTION.

    perform data_retrieval.

    perform build_fieldcatalog.

    perform build_layout.

    perform display_alv_report.

    &----


    *& Form BUILD_FIELDCATALOG

    &----


    • Build Fieldcatalog for ALV Report

    ----


    form build_fieldcatalog.

    fieldcatalog-fieldname = 'VBELN'.

    fieldcatalog-seltext_m = 'Sales Order'.

    fieldcatalog-col_pos = 0.

    fieldcatalog-outputlen = 10.

    fieldcatalog-emphasize = 'X'.

    fieldcatalog-key = 'X'.

    append fieldcatalog to fieldcatalog.

    clear fieldcatalog.

    fieldcatalog-fieldname = 'MATNR'.

    fieldcatalog-seltext_m = 'Material Number'.

    fieldcatalog-col_pos = 4.

    append fieldcatalog to fieldcatalog.

    clear fieldcatalog.

    fieldcatalog-fieldname = 'NETWR'.

    fieldcatalog-seltext_m = 'Net Price'.

    fieldcatalog-col_pos = 7.

    fieldcatalog-outputlen = 15.

    fieldcatalog-do_sum = 'X'. "Display column total

    fieldcatalog-cfieldname = 'WAERK'.

    append fieldcatalog to fieldcatalog.

    clear fieldcatalog.

    fieldcatalog-fieldname = 'WAERK'.

    fieldcatalog-seltext_m = 'Price Curr'.

    fieldcatalog-col_pos = 8.

    append fieldcatalog to fieldcatalog.

    clear fieldcatalog.

    endform. " BUILD_FIELDCATALOG

    &----


    *& Form BUILD_LAYOUT

    &----


    • Build layout for ALV grid report

    ----


    form build_layout.

    gd_layout-no_input = 'X'.

    gd_layout-colwidth_optimize = 'X'.

    gd_layout-totals_text = 'Totals'(201).

    • gd_layout-totals_only = 'X'.

    • gd_layout-f2code = 'DISP'. "Sets fcode for when double

    • "click(press f2)

    • gd_layout-zebra = 'X'.

    • gd_layout-group_change_edit = 'X'.

    • gd_layout-header_text = 'helllllo'.

    endform. " BUILD_LAYOUT

    &----


    *& Form DISPLAY_ALV_REPORT

    &----


    • Display report using ALV grid

    ----


    form display_alv_report.

    gd_repid = sy-repid.

    call function 'REUSE_ALV_GRID_DISPLAY'

    exporting

    i_callback_program = gd_repid

    • i_callback_top_of_page = 'TOP-OF-PAGE' "see FORM

    • i_callback_user_command = 'USER_COMMAND'

    • i_grid_title = outtext

    is_layout = gd_layout

    it_fieldcat = fieldcatalog[]

    • it_special_groups = gd_tabgroup

    • IT_EVENTS = GT_XEVENTS

    i_save = 'X'

    • is_variant = z_template

    tables

    t_outtab = it_vbap

    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_ALV_REPORT

    &----


    *& Form DATA_RETRIEVAL

    &----


    • Retrieve data form EKPO table and populate itab it_ekko

    ----


    form data_retrieval.

    select vbeln matnr netwr waerk

    up to 50 rows

    from vbap

    into table it_vbap.

    endform. " DATA_RETRIEVAL

    Reward if usefull

    Add a comment
    10|10000 characters needed characters exceeded

Before answering

You should only submit an answer when you are proposing a solution to the poster's problem. If you want the poster to clarify the question or provide more information, please leave a comment instead, requesting additional details. When answering, please include specifics, such as step-by-step instructions, context for the solution, and links to useful resources. Also, please make sure that you answer complies with our Rules of Engagement.
You must be Logged in to submit an answer.

Up to 10 attachments (including images) can be used with a maximum of 1.0 MB each and 10.5 MB total.