08-09-2007 7:40 AM
Hi,,
I am working on ALV.
My requirement is to add the some of the fields of ALV display
data.Help me to add the fields.
Sample code will be appreciated.
Thanx..
Rahul Jain.
08-09-2007 8:43 AM
Hi Rahul,,
I hope you need to total the individual fields of alv..
If so ..this code may help you
OR
you can visit the site for sample code for alv...
-
>http://www.geocities.com/mpioud
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.
Plz reward points if answer is helpful.......
Regards,
Mandeep.
08-09-2007 7:42 AM
Hi Rahul
what exactly u want , u want after displaying alv report?
Regards,
kiran.M
08-09-2007 7:47 AM
Set the DO_SUM parameter in the field catalog of the field you want to sum/add to 'X'. The sum will be displayed automatically.
Please mark points if the solution was useful.
Regards,
Manoj
08-09-2007 7:49 AM
save alv layout variant...
or use do_sum parameter of the field cateloge
Message was edited by:
eric
08-09-2007 7:50 AM
08-09-2007 7:59 AM
To sum the field (programmatically)
<b>FIELDCAT</b>
fill if not already filled via REUSE_ALV_FIELDCATALOG_MERGE the <b>DO_SUM</b> flag (and clear the <b>NO_SUM</b> flag that you think are not-pertinent)
This will insure posting of a total general
<b>SORT</b>
fill the <b>SUBTOT</b> field iif you want subtotals for control level changes
<b>LAYOUT</b>
Clear all flags like <b>NO_TOTALLINE</b>, <b>NO_SUBTOTALS</b>. If only total are of interest set the flag <b>TOTALS_ONLY</b> on
If you want to totalize fields of type NUMC and not only QUAN and CURRn set the flag <b>NUMC_SUM</b> on (or update FIELDCAT as stated above)
Regards
08-09-2007 7:51 AM
Hi Rahul,
Could you please be more clear on what you want so we can assist you in achieving the same.
Best Regards,
Ram.
08-09-2007 7:58 AM
Hi,
Use the do_sum option in the ALV catalgoue for the field you want to sum.
DATA:
lw_fieldcattab TYPE slis_fieldcat_alv.
lw_fieldcattab-fieldname = 'YOUR FIELDNAME'.
lw_fieldcattab-do_sum = 'X'.
APPEND lw_fieldcattab TO ct_fieldcattab.
Pass the field catalogue in the ALV FM.
You can also do the sum in the ALV output also.
Regards,
Yogesh
08-09-2007 8:01 AM
Hi Check this part .........
data: fieldcatalog1 type slis_fieldcat_alv.
fieldcatalog1-seltext_s = 'materialno'.
fieldcatalog1-col_pos = 1.
fieldcatalog1-FIELDNAME = 'MATNR'.
fieldcatalog1-TABNAME = 'ITAB'.
fieldcatalog1-outputlen = 20.
fieldcatalog1-do_sum = 'X'. 'this is for doing sum
fieldcatalog1-key = 'X'. "this field is not scroolable
"and hideble
fieldcatalog1-hotspot = 'X'.
fieldcatalog1-emphasize = 'X'.
fieldcatalog1-REF_TABNAME = 'makt'.
append fieldcatalog1 to fieldcatalog.
clear fieldcatalog1.
08-09-2007 8:43 AM
Hi Rahul,,
I hope you need to total the individual fields of alv..
If so ..this code may help you
OR
you can visit the site for sample code for alv...
-
>http://www.geocities.com/mpioud
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.
Plz reward points if answer is helpful.......
Regards,
Mandeep.