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: 

Getting Dump when using Do Sum in ALV Report

dhruv_shah3
Active Contributor
0 Kudos

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

7 REPLIES 7

Former Member
0 Kudos

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

abdulazeez12
Active Contributor
0 Kudos

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..

Former Member
0 Kudos

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..............

Former Member
0 Kudos

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

Former Member
0 Kudos

hi,

can u provide ur code?

0 Kudos

&----


*& 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

hymavathi_oruganti
Active Contributor
0 Kudos

i copied and pasted and ran ur report, iam not getting any dump even if i uncomment do_sum