‎2009 Mar 30 7:00 AM
Please use a more informative subject in future. This time I've changed it for you.
Hi,
i want to get the average value in a field using ALV GRID.can anybody help me on this.
Edited by: Matt on Mar 30, 2009 9:45 AM
‎2009 Mar 30 7:02 AM
‎2009 Mar 30 7:19 AM
‎2009 Mar 30 7:21 AM
‎2009 Mar 30 7:28 AM
‎2009 Mar 30 7:58 AM
I think you didnt mark your thread as question that is why you are not getting that option.
Below the question check the check box for mark as question then you can see that.
‎2009 Mar 30 7:02 AM
Hi ,
Could u be more precise with ur requirement ??
Regards,
Anuj
‎2009 Mar 30 7:09 AM
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. " F_DISPLAY_DATA
‎2009 Mar 30 7:13 AM
Hi,
Refer:-
*FIELD CATALOG
DATA : it_field TYPE slis_t_fieldcat_alv,
wa_field TYPE slis_fieldcat_alv.
START-OF-SELECTION.
PERFORM get_data. "<--get data into internal table
PERFORM field_catalog. "<--create field catalog
END-OF-SELECTION.
PERFORM alv_display. "<--call FM to display ALV
*&---------------------------------------------------------------------
*& Form FIELD_CATALOG
*&---------------------------------------------------------------------
*
FORM field_catalog .
"create field catalog for other fields
wa_field-fieldname = 'MENGE'.
wa_field-tabname = 'IT_FINAL'.
wa_field-edit = 'X'.
wa_field-do_sum = 'C'. "<--for average of the column
append wa_field to it_field.
clear wa_field.
"pass it_field in ALV FM
ENDFORM. " FIELD_CATALOG
Regards,
Tarun
‎2009 Mar 30 7:16 AM
Hi,
Fieldcatelog-do_sum = 'C'
use this statement with the field catalog of that field for which you want to calculate AVG
Thanks
Arun
‎2009 Mar 30 7:24 AM
Hi,
You can Calculate the values in your ABAP,put them into an internal table, and
populate the ALV grid from that.
Hope it will solve your problem.
with best regards,
Pulak
‎2009 Mar 30 8:46 AM
Please use a more informative subject in future. This time I've changed it for you.