10-08-2007 6:47 AM
Hi All,
I am generating the Report in ALV, but i am getting dump when i am using do_sum for some fields in Report.
Also when i click on the Total icon on the toolbar of report then also i am getting the dump.
If i comment the do_sum in report then i am not getting the Dump.
So pls help me out.
Regards,
Dhruv Shah
10-08-2007 6:49 AM
http://www.sap-img.com/abap/test-alv-display-with-header-footer.htm
http://sap4.com/codigo-101.html
The problem is that your sum value is exceeding the maximum possible value allowed for that data type.
Declare your field with more length.
eg: if your quantity field is declared as
qty(5) type p decimals 2.
then declare it as qty(6) type p decimals 2.
Please give me reward point If it is useful
Thanks
Murali Poli
10-08-2007 6:50 AM
Can you tell whats the dump??
It depends on the field on which u r doing the sum. If it is of floating type or packed type, and if the sum overflows, then also there will be the dump..
If the sum performed is a non-numeric field, then also u will get the dump..
So, let us kow the dump message..
10-08-2007 7:21 AM
along with do sum in fieldcatalog u have to use sort table in initialization... from slis .....
check this sample code
report z_new1.
*REPORT y_demo_alv NO STANDARD PAGE HEADING.
ALV related data declaration
type-pools: slis.
DB-Table
tables sflight.
Includes
include <icon>.
include <symbol>.
*
constants:
c_formname_top_of_page type slis_formname value 'TOP_OF_PAGE'.
data: i_fieldcat type slis_t_fieldcat_alv,
i_layout type slis_layout_alv,
i_sp_group type slis_t_sp_group_alv,
i_events type slis_t_event,
i_print type slis_print_alv,
i_sort type slis_t_sortinfo_alv.
*internal table for data to be displayed
data: begin of i_sflight occurs 0.
include structure sflight.
data: box,
lights.
data: end of i_sflight.
*
data: w_repid like sy-repid.
data: i_list_top_of_page type slis_t_listheader.
Report Selections
select-options s_carrid for sflight-carrid.
select-options s_connid for sflight-connid.
select-options s_fldate for sflight-fldate.
*SELECTION-SCREEN SKIP 1.
Parameters
parameters: p_maxrow type i default 30."to limit the selection
selection-screen skip 1.
Variant for ALV display
selection-screen begin of block 0 with frame title text-000.
parameters: p_varnt like disvariant-variant.
selection-screen end of block 0.
Layout of the report display
selection-screen begin of block a with frame title text-001.
parameters: p_zebra as checkbox default ' ', "Striped pattern
p_nocolh as checkbox default ' ', "No column heading
p_novlin as checkbox default ' ', "No vertical lines
p_colopt as checkbox default ' ', "Optimizes col. wd
p_keyhot as checkbox default ' ', "Key fields hot
p_noinpt as checkbox default ' '. "No field for input
selection-screen end of block a.
selection-screen begin of block b with frame title text-002.
parameters: p_lights as checkbox default 'X',
p_lightc as checkbox default 'X'.
selection-screen end of block b.
selection-screen begin of block c with frame title text-003.
parameters: p_totonl as checkbox default ' ',
p_totext(60),
p_sttext(60).
selection-screen end of block c.
selection-screen begin of block d with frame title text-004.
parameters: p_chkbox as checkbox default 'X',
p_detpop as checkbox default 'X',
p_groupb as checkbox default ' ',
p_groups as checkbox default ' '.
selection-screen end of block d.
selection-screen begin of block e with frame title text-005.
parameters: p_print as checkbox default ' ',
p_nosinf as checkbox default ' ',
p_nocove as checkbox default ' ',
p_nonewp as checkbox default ' ',
p_nolinf as checkbox default ' ',
p_reserv type i.
selection-screen end of block e.
data: w_boxnam type slis_fieldname value 'BOX',
w_f2code like sy-ucomm value '&ETA',
w_lignam type slis_fieldname value 'LIGHTS',
w_save(1) type c,
w_default(1) type c,
w_exit(1) type c,
i_variant like disvariant,
i_variant1 like disvariant.
----
initialization.
w_repid = sy-repid.
perform fieldcat_init using i_fieldcat.
perform eventtab_build using i_events.
perform comment_build using i_list_top_of_page.
perform sp_group_build using i_sp_group.
perform t_sort_build using i_sort.
Set Options: save variant userspecific or general
'A or 'U' are for user-specific variants list
'X' or 'space' for general
w_save = 'A'.
perform variant_init.
Get default variant
i_variant1 = i_variant.
call function 'REUSE_ALV_VARIANT_DEFAULT_GET'
exporting
i_save = w_save
changing
cs_variant = i_variant1
exceptions
not_found = 2.
if sy-subrc = 0.
p_varnt = i_variant1-variant.
endif.
Process on value request (list of possible variants)
at selection-screen on value-request for p_varnt.
perform f4_for_variant.
PAI
at selection-screen.
perform pai_of_selection_screen.
start-of-selection.
perform selection.
end-of-selection.
perform layout_build using i_layout. "wg. Parameters
perform print_build using i_print. "wg. Parameters
call function 'REUSE_ALV_FIELDCATALOG_MERGE'
exporting
i_program_name = w_repid
i_internal_tabname = 'I_SFLIGHT'
i_structure_name = 'SFLIGHT'
i_client_never_display = 'X'
i_inclname = w_repid
changing
ct_fieldcat = i_fieldcat[]
exceptions
inconsistent_interface = 1
program_error = 2
others = 3.
if sy-subrc <> 0.
message id sy-msgid type 'S' number sy-msgno
with sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
endif.
Call ABAP/4 List Viewer
call function 'REUSE_ALV_GRID_DISPLAY'
exporting
I_INTERFACE_CHECK = ' '
i_callback_program = w_repid
I_CALLBACK_PF_STATUS_SET = ' '
I_CALLBACK_USER_COMMAND = ' '
I_CALLBACK_TOP_OF_PAGE = ' '
I_CALLBACK_HTML_TOP_OF_PAGE = ' '
I_CALLBACK_HTML_END_OF_LIST = ' '
i_structure_name = 'SFLIGHT'
i_background_id = 'ALV_BACKGROUND'
I_GRID_TITLE =
I_GRID_SETTINGS =
is_layout = i_layout
it_fieldcat = i_fieldcat[]
IT_EXCLUDING =
it_special_groups = i_sp_group[]
it_sort = i_sort[]
IT_FILTER =
IS_SEL_HIDE =
I_DEFAULT = 'X'
i_save = w_save
is_variant = i_variant
it_events = i_events[]
IT_EVENT_EXIT =
is_print = i_print
IS_REPREP_ID =
I_SCREEN_START_COLUMN = 0
I_SCREEN_START_LINE = 0
I_SCREEN_END_COLUMN = 0
I_SCREEN_END_LINE = 0
IMPORTING
E_EXIT_CAUSED_BY_CALLER =
ES_EXIT_CAUSED_BY_USER =
tables
t_outtab = i_sflight
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.
CALL FUNCTION 'REUSE_ALV_LIST_DISPLAY'
EXPORTING
i_callback_program = w_repid
i_structure_name = 'SFLIGHT'
is_layout = i_layout
it_fieldcat = i_fieldcat[]
IT_EXCLUDING =
it_special_groups = i_sp_group[]
it_sort = i_sort[]
IT_FILTER =
IS_SEL_HIDE =
i_default = W_DEFAULT
i_save = w_save
is_variant = i_variant
it_events = i_events[]
IT_EVENT_EXIT =
is_print = i_print
I_SCREEN_START_COLUMN = 0
I_SCREEN_START_LINE = 0
I_SCREEN_END_COLUMN = 0
I_SCREEN_END_LINE = 0
IMPORTING
E_EXIT_CAUSED_BY_CALLER =
TABLES
t_outtab = i_sflight.
----
FORM FIELDCAT_INIT *
----
--> L_FIELDCAT *
----
form fieldcat_init using l_fieldcat type slis_t_fieldcat_alv.
data: ls_fieldcat type slis_fieldcat_alv.
*
clear ls_fieldcat.
ls_fieldcat-fieldname = 'SEATSOCC'.
*The field is not displayed in the initial output, can be interactively
chosen for display
ls_fieldcat-no_out = 'X'.
*This field is assigned to a special group with tech. key 'A' and can be
*displayed using the special group buttons
ls_fieldcat-sp_group = 'A'.
*The field cannot be summed irrespective of its data type
ls_fieldcat-no_sum = 'X'.
append ls_fieldcat to l_fieldcat.
*
clear ls_fieldcat.
ls_fieldcat-fieldname = 'SEATSMAX'.
ls_fieldcat-no_out = 'X'.
ls_fieldcat-sp_group = 'A'.
append ls_fieldcat to l_fieldcat.
*
clear ls_fieldcat.
ls_fieldcat-fieldname = 'PRICE'.
ls_fieldcat-no_out = 'X'.
ls_fieldcat-sp_group = 'B'.
append ls_fieldcat to l_fieldcat.
*
clear ls_fieldcat.
ls_fieldcat-fieldname = 'CARRID'.
ls_fieldcat-outputlen = 7.
append ls_fieldcat to l_fieldcat.
endform.
----
FORM DATA_ADD *
----
--> L_SFLIGHT
----
form data_add tables l_sflight structure i_sflight.
loop at l_sflight.
if sy-tabix > 10.
l_sflight-box = 'X'.
l_sflight-lights = '3'.
else.
if sy-tabix = 1.
l_sflight-lights = '2'.
else.
l_sflight-lights = '1'.
endif.
endif.
modify l_sflight.
endloop.
endform.
----
FORM EVENTTAB_BUILD *
----
--> l_EVENTS *
----
form eventtab_build using l_events type slis_t_event.
data: ls_event type slis_alv_event.
*
call function 'REUSE_ALV_EVENTS_GET'
exporting
i_list_type = 0
importing
et_events = l_events.
read table l_events with key name = slis_ev_top_of_page into ls_event.
if sy-subrc = 0.
move c_formname_top_of_page to ls_event-form.
append ls_event to l_events.
endif.
endform.
----
FORM COMMENT_BUILD *
----
--> L_TOP_OF_PAGE *
----
form comment_build using l_top_of_page type slis_t_listheader.
data: ls_line type slis_listheader.
***Header
clear ls_line.
ls_line-typ = 'H'.
LS_LINE-KEY: not used for this type
ls_line-info = 'Heading list'.
append ls_line to l_top_of_page.
***Selection
clear ls_line.
ls_line-typ = 'S'.
ls_line-key = 'Key 1'.
ls_line-info = 'Information'.
append ls_line to l_top_of_page.
ls_line-key = 'Key 2'.
append ls_line to l_top_of_page.
***Action
clear ls_line.
ls_line-typ = 'A'.
LS_LINE-KEY: not used for this type
ls_line-info = 'Status list'.
append ls_line to l_top_of_page.
endform.
----
FORM LAYOUT_BUILD *
----
<-> LS_LAYOUT *
----
form layout_build using ls_layout type slis_layout_alv.
ls_layout-f2code = w_f2code.
ls_layout-zebra = p_zebra.
ls_layout-colwidth_optimize = p_colopt.
if p_chkbox = 'X'.
*Fieldname for check box on the report output
ls_layout-box_fieldname = w_boxnam.
else.
ls_layout-box_fieldname = space.
endif.
ls_layout-no_input = p_noinpt.
ls_layout-no_vline = p_novlin.
ls_layout-no_colhead = p_nocolh.
if p_lights = 'X' or p_lightc = 'X'.
**Fieldname for lights on the report output
ls_layout-lights_fieldname = w_lignam.
else.
clear ls_layout-lights_fieldname.
endif.
ls_layout-lights_condense = p_lightc.
ls_layout-totals_text = p_totext.
ls_layout-subtotals_text = p_sttext.
ls_layout-totals_only = p_totonl.
ls_layout-key_hotspot = p_keyhot.
ls_layout-detail_popup = p_detpop.
ls_layout-group_change_edit = p_groups.
E05_LS_LAYOUT-GROUP_BUTTONS = P_GROUPB.
ls_layout-group_buttons = 'X'.
endform.
----
FORM SP_GROUP_BUILD *
----
--> L_SP_GROUP *
----
form sp_group_build using l_sp_group type slis_t_sp_group_alv.
data: ls_sp_group type slis_sp_group_alv.
*Fields are assigned to the special group
clear ls_sp_group.
ls_sp_group-sp_group = 'A'.
ls_sp_group-text = 'Reservation status'.
append ls_sp_group to l_sp_group.
clear ls_sp_group.
ls_sp_group-sp_group = 'B'.
ls_sp_group-text = 'Flight charges'.
append ls_sp_group to l_sp_group.
endform.
----
FORM SELECTION *
----
form selection.
select * from sflight into corresponding fields of table i_sflight
up to p_maxrow rows where carrid in s_carrid
and connid in s_connid and fldate in s_fldate.
perform data_add tables i_sflight.
endform.
----
FORM TOP_OF_PAGE *
----
........ *
----
form top_of_page.
*
call function 'REUSE_ALV_COMMENTARY_WRITE'
exporting
i_logo = 'ENJOYSAP_LOGO'
it_list_commentary = i_list_top_of_page.
endform.
----
FORM F4_FOR_VARIANT *
----
form f4_for_variant.
*
call function 'REUSE_ALV_VARIANT_F4'
exporting
is_variant = i_variant
i_save = w_save
it_default_fieldcat =
importing
e_exit = w_exit
es_variant = i_variant1
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.
else.
if w_exit = space.
p_varnt = i_variant1-variant.
endif.
endif.
endform.
&----
*& Form PAI_OF_SELECTION_SCREEN
&----
to check whether right variant is entered on the selection scr
----
form pai_of_selection_screen.
*
if not p_varnt is initial.
move i_variant to i_variant1.
move p_varnt to i_variant1-variant.
call function 'REUSE_ALV_VARIANT_EXISTENCE'
exporting
i_save = w_save
changing
cs_variant = i_variant1.
i_variant = i_variant1.
else.
perform variant_init.
endif.
endform. " PAI_OF_SELECTION_SCREEN
&----
*& Form VARIANT_INIT
----
form variant_init.
*
clear i_variant.
i_variant-report = w_repid.
endform. " VARIANT_INIT
----
FORM PRINT_BUILD *
----
........ *
----
form print_build using l_print type slis_print_alv.
*
l_print-print = p_print.
l_print-no_print_selinfos = p_nosinf.
l_print-no_coverpage = p_nocove.
l_print-no_new_page = p_nonewp.
l_print-no_print_listinfos = p_nolinf.
l_print-reserve_lines = p_reserv.
l_print-print = p_print.
endform.
----
FORM T_SORT_BUILD *
----
form t_sort_build using l_sort type slis_t_sortinfo_alv.
data: ls_sort type slis_sortinfo_alv.
ls_sort-fieldname = 'CARRID'.
ls_sort-spos = 1.
ls_sort-up = 'X'.
ls_sort-subtot = 'X'.
append ls_sort to l_sort.
endform.
reward points if helpful..............
10-08-2007 7:27 AM
Hi Dhruv,
update your fieldcat....
DOSUM = 'X'.
(or)
Refer this code:
&----
*& Report ZDEMO_ALVGRID *
*& *
&----
*& *
*& Example of a simple ALV Grid Report *
*& ................................... *
*& *
*& The basic requirement for this demo is to display a number of *
*& fields from the EKKO table. *
&----
REPORT zdemo_alvgrid .
TABLES: ekko.
type-pools: slis. "ALV Declarations
*Data Declaration
*----
TYPES: BEGIN OF t_ekko,
ebeln TYPE ekpo-ebeln,
ebelp TYPE ekpo-ebelp,
statu TYPE ekpo-statu,
aedat TYPE ekpo-aedat,
matnr TYPE ekpo-matnr,
menge TYPE ekpo-menge,
meins TYPE ekpo-meins,
netpr TYPE ekpo-netpr,
peinh TYPE ekpo-peinh,
END OF t_ekko.
DATA: it_ekko TYPE STANDARD TABLE OF t_ekko INITIAL SIZE 0,
wa_ekko TYPE t_ekko.
*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.
There are a number of ways to create a fieldcat.
For the purpose of this example i will build the fieldcatalog manualy
by populating the internal table fields individually and then
appending the rows. This method can be the most time consuming but can
also allow you more control of the final product.
Beware though, you need to ensure that all fields required are
populated. When using some of functionality available via ALV, such as
total. You may need to provide more information than if you were
simply displaying the result
I.e. Field type may be required in-order for
the 'TOTAL' function to work.
fieldcatalog-fieldname = 'EBELN'.
fieldcatalog-seltext_m = 'Purchase Order'.
fieldcatalog-col_pos = 0.
fieldcatalog-outputlen = 10.
fieldcatalog-emphasize = 'X'.
fieldcatalog-key = 'X'.
fieldcatalog-do_sum = 'X'.
fieldcatalog-no_zero = 'X'.
append fieldcatalog to fieldcatalog.
clear fieldcatalog.
fieldcatalog-fieldname = 'EBELP'.
fieldcatalog-seltext_m = 'PO Item'.
fieldcatalog-col_pos = 1.
append fieldcatalog to fieldcatalog.
clear fieldcatalog.
fieldcatalog-fieldname = 'STATU'.
fieldcatalog-seltext_m = 'Status'.
fieldcatalog-col_pos = 2.
append fieldcatalog to fieldcatalog.
clear fieldcatalog.
fieldcatalog-fieldname = 'AEDAT'.
fieldcatalog-seltext_m = 'Item change date'.
fieldcatalog-col_pos = 3.
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 = 'MENGE'.
fieldcatalog-seltext_m = 'PO quantity'.
fieldcatalog-col_pos = 5.
append fieldcatalog to fieldcatalog.
clear fieldcatalog.
fieldcatalog-fieldname = 'MEINS'.
fieldcatalog-seltext_m = 'Order Unit'.
fieldcatalog-col_pos = 6.
append fieldcatalog to fieldcatalog.
clear fieldcatalog.
fieldcatalog-fieldname = 'NETPR'.
fieldcatalog-seltext_m = 'Net Price'.
fieldcatalog-col_pos = 7.
fieldcatalog-outputlen = 15.
fieldcatalog-do_sum = 'X'. "Display column total
fieldcatalog-datatype = 'CURR'.
append fieldcatalog to fieldcatalog.
clear fieldcatalog.
fieldcatalog-fieldname = 'PEINH'.
fieldcatalog-seltext_m = 'Price Unit'.
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_ekko
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 ebeln ebelp statu aedat matnr menge meins netpr peinh
up to 10 rows
from ekpo
into table it_ekko.
endform. " DATA_RETRIEVAL
To display sum set the flag as under:
fieldcatalog-do_sum = 'X'.
Reward if helpful.
Regards,
Harini.S
10-08-2007 1:46 PM
10-10-2007 7:47 AM
&----
*& Report ZDH_ITC_STOREG
*&
&----
*&
*&
&----
REPORT ZDH_ITC_STOREG.
TYPE-POOLS: SLIS.
INCLUDE <ICON>.
TABLES: VBRK,VBRP.
TYPES: BEGIN OF TY_VBRP,
VBELN TYPE VBELN_VF,
FKIMG TYPE VBRP-FKIMG, " Actual Invoiced Quantity
FBUDA TYPE VBRP-FBUDA, " Date on which services rendered
NETWR TYPE VBRP-NETWR, " Net value of the billing item in document currency
VGBEL TYPE VBRP-VGBEL, " Document number of the reference document
MATNR TYPE VBRP-MATNR, " Material No
ARKTX TYPE VBRP-ARKTX, " Short text for sales order item
SPART TYPE VBRP-SPART, " Division
WERKS TYPE VBRP-WERKS, " Plant
KZWI4 TYPE VBRP-KZWI4, " Subtotal 4 from pricing procedure for condition
KZWI5 TYPE VBRP-KZWI5, " Subtotal 5 from pricing procedure for condition
END OF TY_VBRP.
TYPES: BEGIN OF TY_VBRK,
VBELN TYPE VBELN_VF,
FKART TYPE VBRK-FKART, " Billing Type
FKDAT TYPE VBRK-FKDAT, " Billing date for billing index and printout
BUKRS TYPE VBRK-BUKRS, " Company Code
ERDAT TYPE VBRK-ERDAT, " Date on Which Record Was Created
KUNAG TYPE VBRK-KUNAG, " Sold-to party
ZUONR TYPE VBRK-ZUONR, " Assignment number
END OF TY_VBRK.
TYPES: BEGIN OF TY_KNA1,
KUNNR TYPE KUNNR, " Customer Number
NAME1 TYPE NAME1_GP, " Name of Customer
STRAS TYPE KNA1-STRAS, " House number and street
END OF TY_KNA1.
TYPES:BEGIN OF TY_DISP,
MATNR TYPE MATNR,
NAME1 TYPE NAME1_GP,
STRAS TYPE STRAS_GP,
ARKTX TYPE ARKTX,
ZUONR TYPE VBRK-ZUONR,
ERDAT TYPE ERDAT,
VGBEL TYPE VGBEL,
FKIMG TYPE FKIMG,
KZWI4 TYPE KZWI4,
NETWR TYPE NETWR_FP,
KZWI5 TYPE KZWI5,
FKDAT TYPE FKDAT,
VBELN TYPE VBELN_VF,
END OF TY_DISP.
DATA: IT_VBRP TYPE STANDARD TABLE OF TY_VBRP,
WA_VBRP TYPE TY_VBRP.
DATA: IT_VBRK TYPE STANDARD TABLE OF TY_VBRK,
WA_VBRK TYPE TY_VBRK.
DATA: IT_KNA1 TYPE STANDARD TABLE OF TY_KNA1,
WA_KNA1 TYPE TY_KNA1.
DATA: IT_DISP TYPE STANDARD TABLE OF TY_DISP,
WA_DISP TYPE TY_DISP.
data: g_repid type sy-repid.
g_repid = sy-repid.
DATA: GT_FIELDCAT TYPE SLIS_T_FIELDCAT_ALV.
DATA: GT_HEADER TYPE SLIS_T_LISTHEADER.
DATA: GS_LAYOUT TYPE SLIS_LAYOUT_ALV.
DATA: GT_EVENTS TYPE SLIS_T_EVENT.
DATA: FLSORT TYPE slis_t_sortinfo_alv.
CONSTANTS:
FORMNAME_TOP_OF_PAGE TYPE SLIS_FORMNAME VALUE 'TOP_OF_PAGE',
FORMNAME_END_OF_PAGE TYPE SLIS_FORMNAME VALUE 'END_OF_PAGE'.
SELECT-OPTIONS: SO_PLT FOR VBRP-WERKS,
SO_DIV FOR VBRP-SPART,
SO_DATE FOR VBRK-FKDAT.
PERFORM BUILD_HEADER USING GT_HEADER[].
PERFORM BUILD_LAYOUT USING GS_LAYOUT.
PERFORM BUILD_COMMENTRY.
PERFORM BUILD_EVENTTAB USING GT_EVENTS[].
PERFORM FIELDCAT_INIT USING GT_FIELDCAT[].
PERFORM fldsort USING FLSORT.
START-OF-SELECTION.
SELECT VBELN FKART FKDAT BUKRS ERDAT KUNAG ZUONR FROM VBRK
INTO TABLE IT_VBRK
WHERE FKDAT IN SO_DATE
AND SPART IN SO_DIV
AND FKART = 'F2'.
SORT IT_VBRK BY VBELN.
IF IT_VBRK IS NOT INITIAL.
SELECT VBELN FKIMG FBUDA NETWR VGBEL MATNR ARKTX SPART WERKS KZWI4 KZWI5 FROM VBRP
INTO TABLE IT_VBRP
FOR ALL ENTRIES IN IT_VBRK
WHERE VBELN = IT_VBRK-VBELN
AND WERKS IN SO_PLT
AND SPART IN SO_DIV.
ENDIF.
SORT IT_VBRP BY VBELN.
IF IT_VBRK IS NOT INITIAL.
SELECT KUNNR NAME1 STRAS FROM KNA1
INTO TABLE IT_KNA1
FOR ALL ENTRIES IN IT_VBRK
WHERE KUNNR = IT_VBRK-KUNAG.
ENDIF.
SORT IT_KNA1 BY KUNNR.
LOOP AT IT_VBRP INTO WA_VBRP.
READ TABLE IT_VBRK INTO WA_VBRK WITH KEY VBELN = WA_VBRP-VBELN.
READ TABLE IT_KNA1 INTO WA_KNA1 WITH KEY KUNNR = wa_vbrk-kunag.
WA_DISP-MATNR = WA_VBRP-MATNR.
WA_DISP-NAME1 = WA_KNA1-NAME1.
WA_DISP-STRAS = WA_KNA1-STRAS.
WA_DISP-ARKTX = WA_VBRP-ARKTX.
WA_DISP-ZUONR = WA_VBRK-ZUONR.
WA_DISP-ERDAT = WA_VBRK-ERDAT.
WA_DISP-VGBEL = WA_VBRP-VGBEL.
WA_DISP-FKIMG = WA_VBRP-FKIMG.
WA_DISP-KZWI4 = WA_VBRP-KZWI4.
WA_DISP-NETWR = WA_VBRP-NETWR.
WA_DISP-KZWI5 = WA_VBRP-KZWI5.
WA_DISP-FKDAT = WA_VBRK-FKDAT.
WA_DISP-VBELN = WA_VBRK-VBELN.
APPEND WA_DISP TO IT_DISP.
ENDLOOP.
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
I_INTERFACE_CHECK = ' '
I_BYPASSING_BUFFER = ' '
I_BUFFER_ACTIVE = ' '
I_CALLBACK_PROGRAM = g_repid
I_CALLBACK_PF_STATUS_SET = ' '
I_CALLBACK_USER_COMMAND = ' '
I_CALLBACK_TOP_OF_PAGE = 'BUILD_COMMENTRY '
I_CALLBACK_HTML_TOP_OF_PAGE = ' '
I_CALLBACK_HTML_END_OF_LIST = ' '
I_STRUCTURE_NAME =
I_BACKGROUND_ID = ' '
I_GRID_TITLE =
I_GRID_SETTINGS =
IS_LAYOUT = GS_LAYOUT
IT_FIELDCAT = GT_FIELDCAT[]
IT_EXCLUDING =
IT_SPECIAL_GROUPS =
IT_SORT = FLSORT[]
IT_FILTER =
IS_SEL_HIDE =
I_DEFAULT = 'X'
I_SAVE = 'X'
IS_VARIANT =
IT_EVENTS =
IT_EVENT_EXIT =
IS_PRINT =
IS_REPREP_ID =
I_SCREEN_START_COLUMN = 0
I_SCREEN_START_LINE = 0
I_SCREEN_END_COLUMN = 0
I_SCREEN_END_LINE = 0
I_HTML_HEIGHT_TOP = 0
I_HTML_HEIGHT_END = 0
IT_ALV_GRAPHICS =
IT_HYPERLINK =
IT_ADD_FIELDCAT =
IT_EXCEPT_QINFO =
IR_SALV_FULLSCREEN_ADAPTER =
IMPORTING
E_EXIT_CAUSED_BY_CALLER =
ES_EXIT_CAUSED_BY_USER =
TABLES
T_OUTTAB = IT_DISP[]
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.
&----
*& Form BUILD_LAYOUT
&----
text
----
-->P_GS_LAYOUT text
----
FORM BUILD_LAYOUT USING P_GS_LAYOUT TYPE SLIS_LAYOUT_ALV.
P_GS_LAYOUT-NO_INPUT = 'X'.
P_GS_LAYOUT-ZEBRA = 'X'.
P_GS_LAYOUT-COLWIDTH_OPTIMIZE = ' '.
P_GS_LAYOUT-NO_COLHEAD = ' '.
P_GS_LAYOUT-NO_VLINE = ' '.
P_GS_LAYOUT-INFO_FIELDNAME = 'WS_COLOR'.
ENDFORM. " BUILD_LAYOUT
&----
*& Form BUILD_HEADER
&----
text
----
-->P_GT_HEADER[] text
----
FORM BUILD_HEADER USING P_GT_HEADER TYPE SLIS_T_LISTHEADER.
DATA: TP TYPE SLIS_LISTHEADER.
DATA: TEXT(20) TYPE C,
DT(10) .
TP-TYP = 'H'.
TP-INFO = 'Stock Return Register FOR ITC'.
APPEND TP TO P_GT_HEADER.
CLEAR TP.
WRITE SY-DATUM TO DT DD/MM/YYYY.
CONCATENATE 'DATE :' DT INTO TEXT.
TP-TYP = 'S'.
TP-INFO = TEXT.
APPEND TP TO P_GT_HEADER.
CLEAR TP.
CLEAR DT.
CLEAR TEXT.
CONCATENATE 'PLANT :' SO_PLT INTO TEXT.
TP-TYP = 'S'.
TP-INFO = TEXT.
APPEND TP TO P_GT_HEADER.
CLEAR TP.
CLEAR TEXT.
CONCATENATE 'DIVISION :' SO_DIV INTO TEXT.
TP-TYP = 'S'.
TP-INFO = TEXT.
APPEND TP TO P_GT_HEADER.
CLEAR TP.
CLEAR TEXT.
WRITE SO_DATE-LOW TO DT DD/MM/YYYY.
CONCATENATE 'FROM :' DT INTO TEXT.
TP-TYP = 'S'.
TP-INFO = TEXT.
APPEND TP TO P_GT_HEADER.
CLEAR TP.
CLEAR DT.
CLEAR TEXT.
WRITE SO_DATE-HIGH TO DT DD/MM/YYYY.
CONCATENATE 'TO :' DT INTO TEXT.
TP-TYP = 'S'.
TP-INFO = TEXT.
APPEND TP TO P_GT_HEADER.
CLEAR TP.
CLEAR DT.
CLEAR TEXT.
ENDFORM. " BUILD_HEADER
&----
*& Form BUILD_COMMENTRY
&----
text
----
--> p1 text
<-- p2 text
----
FORM BUILD_COMMENTRY .
CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'
EXPORTING
IT_LIST_COMMENTARY = GT_HEADER[]
I_LOGO = 'ENJOYSAP_LOGO'.
ENDFORM. " BUILD_COMMENTRY
&----
*& Form BUILD_EVENTTAB
&----
text
----
-->P_GT_EVENTS[] text
----
FORM BUILD_EVENTTAB USING P_GT_EVENTS TYPE SLIS_T_EVENT.
DATA: LS_EVENT TYPE SLIS_ALV_EVENT.
CALL FUNCTION 'REUSE_ALV_EVENTS_GET'
EXPORTING
I_LIST_TYPE = 0
IMPORTING
ET_EVENTS = P_GT_EVENTS.
READ TABLE P_GT_EVENTS WITH KEY NAME = SLIS_EV_TOP_OF_PAGE INTO LS_EVENT.
IF SY-SUBRC = 0.
LS_EVENT-FORM = FORMNAME_TOP_OF_PAGE.
APPEND LS_EVENT TO P_GT_EVENTS.
ENDIF.
READ TABLE P_GT_EVENTS WITH KEY NAME = SLIS_EV_END_OF_PAGE INTO LS_EVENT.
IF SY-SUBRC = 0.
LS_EVENT-FORM = FORMNAME_END_OF_PAGE.
APPEND LS_EVENT TO P_GT_EVENTS.
ENDIF.
ENDFORM. " BUILD_EVENTTAB
&----
*& Form FIELDCAT_INIT
&----
text
----
-->P_GT_FIELDCAT[] text
----
FORM FIELDCAT_INIT USING P_GT_FIELDCAT TYPE SLIS_T_FIELDCAT_ALV.
DATA: LS_FIELDCAT TYPE SLIS_FIELDCAT_ALV.
LS_FIELDCAT-FIELDNAME = 'MATNR'.
LS_FIELDCAT-SELTEXT_L = 'Product Code'.
LS_FIELDCAT-KEY = 'X'.
LS_FIELDCAT-JUST = 'L'.
APPEND LS_FIELDCAT TO P_GT_FIELDCAT.
CLEAR LS_FIELDCAT.
LS_FIELDCAT-FIELDNAME = 'KUNAG'.
LS_FIELDCAT-SELTEXT_L = 'Party Name'.
LS_FIELDCAT-KEY = 'X'.
LS_FIELDCAT-JUST = 'L'.
APPEND LS_FIELDCAT TO P_GT_FIELDCAT.
CLEAR LS_FIELDCAT.
LS_FIELDCAT-FIELDNAME = 'STRAS'.
LS_FIELDCAT-SELTEXT_L = 'Party Address'.
APPEND LS_FIELDCAT TO P_GT_FIELDCAT.
CLEAR LS_FIELDCAT.
LS_FIELDCAT-FIELDNAME = 'ARKTX'.
LS_FIELDCAT-SELTEXT_L = 'Product Description'.
APPEND LS_FIELDCAT TO P_GT_FIELDCAT.
CLEAR LS_FIELDCAT.
LS_FIELDCAT-FIELDNAME = 'ZUONR'.
LS_FIELDCAT-SELTEXT_L = 'Original Inv.'.
APPEND LS_FIELDCAT TO P_GT_FIELDCAT.
CLEAR LS_FIELDCAT.
LS_FIELDCAT-FIELDNAME = 'FKDAT'.
LS_FIELDCAT-SELTEXT_L = 'Original Inv Date.'.
APPEND LS_FIELDCAT TO P_GT_FIELDCAT.
CLEAR LS_FIELDCAT.
LS_FIELDCAT-FIELDNAME = 'VGBEL'.
LS_FIELDCAT-SELTEXT_L = 'Rejection Order Ref.'.
APPEND LS_FIELDCAT TO P_GT_FIELDCAT.
CLEAR LS_FIELDCAT.
LS_FIELDCAT-FIELDNAME = 'FKIMG'.
LS_FIELDCAT-SELTEXT_L = 'Quantity'.
LS_FIELDCAT-DO_SUM = 'X'.
APPEND LS_FIELDCAT TO P_GT_FIELDCAT.
CLEAR LS_FIELDCAT.
LS_FIELDCAT-FIELDNAME = 'NETWR'.
LS_FIELDCAT-SELTEXT_L = 'Taxable Amount'.
LS_FIELDCAT-DO_SUM = 'X'.
APPEND LS_FIELDCAT TO P_GT_FIELDCAT.
CLEAR LS_FIELDCAT.
LS_FIELDCAT-FIELDNAME = 'KZWI4'.
LS_FIELDCAT-SELTEXT_L = 'Tax'.
LS_FIELDCAT-DO_SUM = 'X'.
APPEND LS_FIELDCAT TO P_GT_FIELDCAT.
CLEAR LS_FIELDCAT.
LS_FIELDCAT-FIELDNAME = 'KZWI5'.
LS_FIELDCAT-SELTEXT_L = 'Credit Note Amt.'.
LS_FIELDCAT-DO_SUM = 'X'.
APPEND LS_FIELDCAT TO P_GT_FIELDCAT.
CLEAR LS_FIELDCAT.
LS_FIELDCAT-FIELDNAME = 'FKDAT'.
LS_FIELDCAT-SELTEXT_L = 'Credit Note Date.'.
APPEND LS_FIELDCAT TO P_GT_FIELDCAT.
CLEAR LS_FIELDCAT.
LS_FIELDCAT-FIELDNAME = 'VBELN'.
LS_FIELDCAT-SELTEXT_L = 'Credit Note Ref.'.
APPEND LS_FIELDCAT TO P_GT_FIELDCAT.
CLEAR LS_FIELDCAT.
ENDFORM. " FIELDCAT_INIT
&----
*& Form fldsort
&----
text
----
-->P_FLSORT text
----
FORM fldsort USING FLSORT type slis_t_sortinfo_alv.
DATA: ls_fldsort TYPE slis_sortinfo_alv.
CLEAR ls_fldsort.
ls_fldsort-fieldname = 'MATNR'.
ls_fldsort-up = 'X'.
ls_fldsort-subtot = 'X'.
APPEND ls_fldsort TO FLSORT.
ENDFORM. " fldsort
10-10-2007 8:16 AM
i copied and pasted and ran ur report, iam not getting any dump even if i uncomment do_sum