Application Development Discussions
Join the discussions or start your own on all things application development, including tools and APIs, programming models, and keeping your skills sharp.
cancel
Showing results for 
Search instead for 
Did you mean: 

sum in alv report

Former Member
0 Kudos

dear all..

according to the input parameter my alv report column differs

for eg.

if i give input as

var = 1 to 9

9 columns will get displayed....

i need sum for both row wise and column wise.......

5 REPLIES 5

Former Member
0 Kudos

Hi

For columns you need to add only a particular number of entries in field catalog table (as many columns you want)

Good option is that don't change the logic for filling the fieldcatalig.

use

data: maxnb type sy-tabix.

maxnb = (no of columns you want to display).

DELETE ITAB_FIELDCATALOG FROM maxnb.

Regards

Aditya

Former Member
0 Kudos

Hi,

[https://forums.sdn.sap.com/click.jspa?searchID=19735757&messageID=6218082 ]

[https://forums.sdn.sap.com/click.jspa?searchID=19735757&messageID=6408874]

Former Member
0 Kudos

TYPES :

BEGIN OF ty_vbak,

vkorg TYPE vbak-vkorg, " Sales organization

kunnr TYPE vbak-kunnr, " Sold-to party

vbeln TYPE vbak-vbeln, " Sales document

netwr TYPE vbak-netwr, " Net Value of the Sales Order

waerk TYPE vbak-waerk, " Document currency

END OF ty_vbak.

DATA:

vbak TYPE vbak,

gt_vbak TYPE TABLE OF ty_vbak.

SELECT-OPTIONS :

s_vkorg FOR vbak-vkorg, " Sales organization

s_kunnr FOR vbak-kunnr, " Sold-to party

s_vbeln FOR vbak-vbeln. " Sales document

SELECTION-SCREEN :

SKIP, BEGIN OF LINE,COMMENT 5(27) v_1 FOR FIELD p_max.

PARAMETERS p_max(2) TYPE n DEFAULT '20' OBLIGATORY.

SELECTION-SCREEN END OF LINE.

----


INITIALIZATION.

v_1 = 'Maximum of records to read'.

----


START-OF-SELECTION.

PERFORM f_read_data.

PERFORM f_display_data.

----


  • Form f_read_data

----


FORM f_read_data.

SELECT vkorg kunnr vbeln netwr waerk

UP TO p_max ROWS

INTO TABLE gt_vbak

FROM vbak

WHERE kunnr IN s_kunnr

AND vbeln IN s_vbeln

AND vkorg IN s_vkorg.

ENDFORM. " F_READ_DATA

----


  • Form f_display_data

----


FORM f_display_data.

TYPE-POOLS: slis. " ALV Global types

DEFINE m_fieldcat.

add 1 to ls_fieldcat-col_pos.

ls_fieldcat-fieldname = &1.

ls_fieldcat-ref_tabname = 'VBAK'.

ls_fieldcat-do_sum = &2.

ls_fieldcat-cfieldname = &3.

append ls_fieldcat to lt_fieldcat.

END-OF-DEFINITION.

DEFINE m_sort.

add 1 to ls_sort-spos.

ls_sort-fieldname = &1.

ls_sort-up = 'X'.

ls_sort-subtot = &2.

append ls_sort to lt_sort.

END-OF-DEFINITION.

DATA:

ls_fieldcat TYPE slis_fieldcat_alv,

lt_fieldcat TYPE slis_t_fieldcat_alv,

lt_sort TYPE slis_t_sortinfo_alv,

ls_sort TYPE slis_sortinfo_alv,

ls_layout TYPE slis_layout_alv.

m_fieldcat 'VKORG' '' ''.

m_fieldcat 'KUNNR' '' ''.

m_fieldcat 'VBELN' '' ''.

m_fieldcat 'NETWR' 'X' 'WAERK'.

m_fieldcat 'WAERK' '' ''.

m_sort 'VKORG' 'X'. " Sort by vkorg and subtotal

m_sort 'KUNNR' 'X'. " Sort by kunnr and subtotal

m_sort 'VBELN' ''. " Sort by vbeln

ls_layout-cell_merge = 'X'.

CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'

EXPORTING

is_layout = ls_layout

it_fieldcat = lt_fieldcat

it_sort = lt_sort

TABLES

t_outtab = gt_vbak.

ENDFORM.

Former Member
0 Kudos

Dear Prasanna,

Go through this link.

Regards,

Flavya

0 Kudos

Hi Prasanna,

For Column Total, you don't need to write any code. Just use DO_SUM field in field catalog as below,

FIELDCATALOG-DO_SUM = 'X'.

But, for Row wise total, you need to write your own code summing all the values horizontally in the dynamic table.

For example, if you have 9 columns, add 1 more column for showing row wise total and display the row wise sum there.

If you don't get it, just send me your sample code. I will let you know how to do it.

Regards,

Shashidhar